$ sudo yum install subversion
測試安裝是否成功:linux
$ svnserve --version
2. 創建版本庫web
建立svn數據目錄(subversion默認是把/var/svn做爲數據根目錄的,開機啓動默認也是從這裏):vim
$ sudo mkdir -p /var/svn
建立版本庫:centos
$ sudo svnadmin create /var/svn/wangwa
若是刪除版本庫:服務器
$ sudo rm -rf /var/svn/somnus
3. 配置svn配置文件tcp
每一個版本庫建立以後都會生成svnserve.conf主要配置文件。編輯它:svn
$ 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用戶配置文件url
sudo vim /var/svn/somnus/conf/passwd
編輯示例:centos7
[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.