centos(我這裏使用的是CentOS7)下yum命令即可方便的完成安裝
$ sudo yum install subversion
測試安裝是否成功:
$ svnserve --version
2. 建立版本庫
創建svn數據目錄(subversion默認是把/var/svn作爲數據根目錄的,開機啓動默認也是從這裏):
$ sudo mkdir -p /var/svn
創建版本庫:
$ sudo svnadmin create /var/svn/wangwa
如果刪除版本庫:
$ sudo rm -rf /var/svn/somnus
3. 配置svn配置文件
每個版本庫創建之後都會生成svnserve.conf主要配置文件。編輯它:
$ sudo vim /var/svn/somnus/conf/svnserve.conf
編輯示例:
[general]
anon-access = none #控制非鑑權用戶訪問版本庫的權限
auth-access = write #控制鑑權用戶訪問版本庫的權限
password-db = passwd #指定用戶名口令文件名
authz-db = authz #指定權限配置文件名
realm = somnus #指定版本庫的認證域,即在登錄時提示的認證域名稱
4. 編輯svn用戶配置文件
sudo vim /var/svn/somnus/conf/passwd
編輯示例:
[users]
admin = admin #用戶,密碼
fuhd = fuhd #用戶,密碼
test = test #用戶,密碼
5. 編輯svn權限控制配置文件
sudo vim /var/svn/somnus/conf/authz
編輯示例:
[groups]
admin = admin #admin爲用戶組,等號之後的admin爲用戶
test = fuhd,test
[somnus:/] #表示根目錄(/var/svn/somnus),somnus: 對應前面配置的realm = somnus
@admin = rw #表示admin組對根目錄有讀寫權限,r爲讀,w爲寫
[somnus:/test] #表示test目錄(/var/svn/somnus/test)
@test = rw #表示test組對test目錄有讀寫權限
6. 啓動,查看和停止SVN服務
啓動SVN服務:
# -d : 守護進程 -r : svn數據根目錄
$ sudo svnserve -dr /var/svn #用root權限啓動
查看SVN服務:
$ ps aux|grep svnserve #默認端口爲:3690
7. 配置防火牆端口
首先要明確CentOS7的默認防火牆爲firewallD。subversion的默認端口爲3690,如果沒有打開會報錯:
$ sudo firewall-cmd --permanent -add-port=3690/tcp
$ sudo firewall-cmd --reload
8. 檢索項目和切換項目的url
項目檢錯
$ svn checkout svn://192.168.0.112/XK_Project . #使用 checkout 服務器資源 本地目錄
切換項目url
$ svn switch --relocate svn://192.168.0.112/XK_Project svn://192.168.0.120/XK_Project # 使用 switch 遷移 from to 新的地址
9. 設置開機啓動
在centos7, 設置開機啓動:
$ sudo systemctl enable svnserve.service #注意:根目錄必須是/var/svn 這樣才能設置成功!!
#設置開機啓動後就可以按下面的方式開啓或停止服務了
$ sudo systemctl start svnserve.service
$ sudo systemctl stop svnserve.service
保存退出,重啓並從客戶端進行測試。如果報這樣的錯:svn: E204900: Can't open file '/var/svn/somnus/format': Permission denied的錯誤。那就是與SELinux有關係,目前我還不太會用SELinux,那就先把SELinux關閉吧,後面學會了,回過頭來再改這一段!!!!:
臨時關閉:
$ sudo setenforce 0
永久關閉:
$ sudo vim /etc/sysconfig/selinux
修改:
SELINUX = disable #值修改爲disable.