1. 程式人生 > >騰訊雲ubuntu16.04 搭建svn

騰訊雲ubuntu16.04 搭建svn

轉載至:http://blog.csdn.net/sm_wang/article/details/78656120

1、解除安裝SVN

檢視自己是否安裝了svn

  1. svn  


上圖顯示已安裝,可用以下命令進行解除安裝

  1. sudo apt-get remove --purge subversion  
(–purge 選項表示徹底刪除改軟體和相關檔案)

2、安裝SVN

安裝前先更新一下

  1. sudo apt-get update  
接下來安裝
  1. sudo apt-get install subversion  

3、建立SVN版本庫

建立home下的svn資料夾

sudo
mkdir /home/svn
建立svn下的repository資料夾
sudo mkdir  /home/svn/repository
更改repository的許可權(第一次搭建沒有賦予許可權,客戶端訪問伺服器被拒絕)
sudo chmod -R 777 /home/svn/repository
建立版本庫
sudo svnadmin create /home/svn/repository
完成後會在repository資料夾下生成以下檔案

然後對db進行許可權設定

sudo chmod -R 777 db
設定訪問許可權:需要對conf資料夾下的檔案進行修改

①修改配置檔案conf/svnserve.conf

sudo vim /home/svn/repository/conf/svnserve.conf

#匿名使用者可讀
anon-access = read(可改成none,即不可讀)
#許可權使用者可寫
auth-access = write
#密碼檔案為passwd
password-db = passwd
#許可權檔案為authz
authz-db = authz

(去掉前面的#,並且頂格,不然可能會報錯)

②新增訪問使用者conf/passwd

sudo vim /home/svn/repository/conf/passwd 

③設定使用者許可權conf/authz

sudo vim /home/svn/repository/conf/authz

admin = smwang //使用者smwang屬於admin許可權組
@admin = rw //admin許可權組的許可權是讀和寫
* = rw 所有的組都具有讀許可權和寫許可權

4、測試SVN伺服器

①啟動伺服器

svnserve -d -r /home/svn
(-d:表示在後臺執行 ,-r:指定伺服器的根目錄)

用如下命令檢視svnserve是否已經執行

ps aux | grep svnserve

(表示伺服器已經在後臺運行了,這個時候我沒就可通過svn://伺服器ip/repository從svn客戶端訪問伺服器了)

②停止伺服器

如果需要關閉伺服器,可以用下面的命令

killall svnserve

5、從eclipse訪問伺服器

①安裝svn

開啟Eclipse --> Help --> Eclipse Marketplace --> 在Find中輸入subclipse搜尋 --> 找到subclipse點選install


②連線svn伺服器

Windows-->Show View-->Other-->雙擊SVN資源庫,調處SVN資源庫檢視

右鍵空白處-->新建-->資源庫位置,輸入伺服器svn地址

③提交project

右鍵自己的project-->team-->Share Project-->選擇型別為svn

使用已有資源庫

然後finish-->右鍵project-->提交

④從伺服器下載project到本地

點選svn資源庫檢視底下的目錄可看到專案

右鍵想下載的project-->檢出為

⑤從伺服器更新程式碼

右鍵project-->team-->與資源庫同步

⑥還原專案至與下載時的一樣

右鍵project-->team-->還原 

如果出現authorization failed異常,一般都是authz檔案裡,使用者組或者使用者許可權沒有配置好,只要設定[/]就可以,代表根目錄下所有的資源,如果要限定資源,可以加上子目錄即可。

svnserve.conf:
[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz

passwd:
[users]
harry = harryssecret

authz:
[groups]
[/]
harry = rw