1. 程式人生 > >CentOS-7 下安裝配置 Subversion

CentOS-7 下安裝配置 Subversion

Centos下,yum命令即可完成安裝:

$sudo yum installsubversion

或者

#yum installsubversion

測試是否安裝成功:

$svnserve --version

注意上面的命令是兩個減號。

使用#netstat-ntlp可以檢視目前系統網路服務的執行情況。

建立版本庫

建立SVN資料目錄:

subversion預設是把var/svn作為資料根目錄的,開機預設啟動也是這個位置)

$ sudo mkdir -p/var/svn

建立版本庫:

$sudo svnadmin create /var/svn/<version-db-name>

如果刪除版本庫:

$sudo rm -rf/var/svn/<version-db-name>

配置svn配置檔案

每個版本庫建立之後都會生成svnserve.conf主要配置檔案,編輯這個檔案:

$sudo vim /var/svn/<version-db-name>/conf/svnserve.conf

編輯示例:

[general]

anon-access=none #控制非鑑權使用者訪問版本庫的許可權

auth-access=write #控制鑑權使用者訪問版本庫的許可權

password-db=passwd #指定使用者名稱口令檔名

authz-db=authz #指定許可權配置檔名

realm=<version-db-name> #指定版本庫的認證域,即在登陸時提示的認證域名稱

編輯svn使用者配置檔案:

$sudo vim /var/svn/<version-db-name>/conf/passwd

編輯示例:

[users]

admin=admin-pwd #使用者名稱=密碼

fuhd=fuhd-pwd #使用者名稱=密碼

test=test-pwd #使用者名稱=密碼

編輯svn控制權限配置檔案:

$sudo vim /var/svn/<verskion-db-name>/conf/authz

編輯示例:

[groups]

admin=admin #admin為使用者組,等號之後的admin為使用者名稱

test=fuhd,test

[<version-db-name>:/] #表示根目錄(

/var/svn/<version-db-name>),<version-db-name>:對應前面配置檔案裡面配置的realm=<version-db-name>

@admin=rw#表示admin組對根目錄有讀寫許可權。

[<version-db-name>:/test]#表示test目錄(/var/svn/<version-db-name>/test)

@test=rw #表示test組對test目錄有讀寫許可權

啟動、檢視和停止svn服務:

啟動:

#-d:守護程序,-r:SVN資料根目錄

$sudo svnserve -dr /var/svn #root許可權啟動

在使用上面的命令之後,可能導致後面的systemctl啟動服務的時候報錯,原因是服務預設使用的埠號被佔用,用#ps -ef指令檢視後發現

svnserve程序已經啟動,可以使用kill指令先關閉程序,然後再執行systemctl啟動服務的操作。

檢視svn服務:

$ps aux|grep svnserve #預設埠為:3690

配置防火牆埠:

首先要明確centos7的防火牆為firewalld和之前的版本不同,之前可能是iptablessubversion預設的埠是3690,如果沒有開啟會報錯:

$sudo firewall-cmd --permanent --add-port=3690/tcp

$sudo firewall-cmd --reload

檢索專案和切換專案的url

專案檢索:

$svn checkout svn://192.168.0.xxx/XXX_project. #使用checkout伺服器資源本地目錄

切換專案url

$svn switch --relocate svn://192.168.0.aaa/xxx_projectsvn://192.168.0.bbb/xxx_project #使用switch遷移fromto新的地址

設定開機啟動:

$sudo systemctl enable svnserve.service #注意:根目錄必須是/var/svn這樣才能設定成功

#設定開機啟動後就可以按照下面的方式開啟或停止服務了。

$sudo systemctl start svnserve.service

$sudo systemctl stopsvnserve.service

儲存退出,重啟,並從客戶端進行測試。

如果報錯如下:svn:E204900:Cannot open file '/var/svn/<subversion-db-name>/format';Permissiondenied.就表明與SELinux有關係。

臨時關閉SELinux:

$sudosetenforce 0 #注意報錯程式碼不一定是E204900.

永久關閉:

$sudo vim /etc/sysconfig/selinux

修改:

SELINUX=disable #值修改為disable