centos服務器上安裝配置SVN(subversion),其實是很簡單的,只是有些時候在配置的過程中有個別細節如果不注意,會容易造成訪問不了的情況。
網上這類的講解很多,下面的步驟整體上都是不變的,會加一點自己遇到的問題的解決過程和方法。
-------------------------------------------------------------------------------------
在線安裝方法:
1,查看當前是否已經安裝了SVN:
#rpm -qa | grep svn
以上提示已安裝。
2,如果已經安裝了,可以直接使用,也可以卸載掉自己重新安裝。
1)# yum install subversion* #會把所有SVN相關的服務和應用全部安裝上
3,安裝成功後,進行配置:
安裝完成,會在bin目錄下生成幾個svn的二進制文件。
#svn --help #查看svn的使用方法。
4,創建版本庫、配置文件:
1)#mkdir /var/svn/repos1 #創建SVN版本所在的目錄/var/svn,創建第一個版本庫repos1目錄
2)#svnadmin create /var/svn/repos1 #創建版本庫。執行此命令後,會在repos1目錄下自動生成下面的文件
authz
passwd
svnserve.conf
3)進入conf目錄(repos1版本庫的配置文件目錄),其中:
authz文件是權限控制文件
passwd是帳號密碼文件
svnserve.conf SVN服務配置文件
<1>passwd設置用戶名、密碼:
#vi passwd
在[users]塊中添加用戶和密碼,格式:帳號=密碼,如jeff=jeffroot(=兩邊的空格不是必要的,可以添加多個用戶)
<2>authz設置權限:
#vi authz
在末尾添加代碼:
jeff=wr #用戶jeff的權限是可讀寫,多個用戶可以分別設置權限
<3>修改svnserve.conf文件配置:
#vi svnserve.conf
打開下面幾行的註釋:
non-access = read #匿名用戶可讀
auth-access = write #授權用戶可寫
password-db = passwd #使用哪個文件作爲賬號文件
authz-db = authz #使用哪個文件作爲權限文件
realm = /var/svn/svnrepos # 認證空間名,版本庫所在目錄
****注意1:上面幾行的註釋前面不要有空格,否則會報錯,無法連接到版本庫。****
****注意2:本配置authz文件時,還要加[/],代表根目錄下的所有文件,不加則會提示認證失敗(authentication failed)或無權限****(如下圖)
5,啓動版本庫:
#svnserve -d -r /var/svn/repos1
設置開機啓動(不設置則重啓後服務關閉,需要手動開啓):
6,安裝配置結束,可進行測試。
建議使用windows版SVN客戶端TortoiseSVN。
-------------------------------------------------------------------------------------
幾點注意:
1,/var/svn/repos1/conf 目錄下的配置文件svnserve.conf中的幾行註釋去掉後,一定要頂格,否則容易出錯。
2,在啓動版本庫後,可能會提示當前端口/應用已經被使用,即端口衝突,此時或者kill掉當前所有的svn服務,然後重新開啓;或者爲此版本庫開新的端口(推薦)。
可能會有多個版本庫,每一個版本庫都需要使用一個端口,否則會衝突。
#svnserve -d -r /var/svn/repos1 --listen-port 3691 #SVN默認端口是3690
這樣訪問時的svn地址url就需要帶端口號:svn://x.x.x.x:3691
3,也要注意防火牆的策略,可以暫時關閉防火牆,排除iptables的影響:
# /etc/init.d/iptables stop #或者 #service iptables stop
4,通過查看SVN的進程,檢查是不是有端口衝突的情況:
#ps -aux | grep svn
5,當SVN服務器有變更(或進行SVN url relocate)時,連接svn服務器會提示UUID不同的錯誤提示。解決方法可參照:
http://blog.csdn.net/aishangcike/article/details/19642105
-------------------------------------------------------------------------------------