linux下的svn搭建
linux下搭建svn伺服器會存在很多問題,博主在安裝的過程就出現了好多問題,花了很多時間查詢資料,最終才搞定的,特在此分享給大家,希望對各位博友有用。
預備部分:檢查自己的linux系統中是否已經預設安裝了svn
rpm -qa | grepsvnserve
如果有解除安裝
rpm -e --nodeps ****(輸入上個命令獲取的安裝包名稱)
第一步:下載subversion-1.8.15.tar.gz,在我寫這個博文的時候官網上最新的是1.9.3,大家可以根據需要自行下載。
在這個下載頁面可以看著下圖這句話,這句話的說明看圖:
從圖上的說明就知道,這裡就不需要下載依賴了,之前在網上看老版本的安裝都是需要下載依賴的。
第二步:解壓安裝,這裡會出現一系列問題,當時被坑了好長時間
tar -xvf subversion-1.8.15.tar.gz
cd subversion-1.8.15
執行./configure--prefix=/opt/subversion進行配置設定並指明安裝目錄
此時會出現第一個問題,看圖:
apr找不到,此時就要安裝apr了,看我apr和aprutil的安裝部落格。
好了這個問題解決了,再重新執行./configure --prefix=/opt/subversion。
此時會出現第二個問題,看圖:
apr是可以找到了,但是aprutil找不到,但是在上個問題解決的過程中已經安裝了,這個時候我也很鬱悶,找度娘問了很長時間才得到正確的答案,那就是在執行命令的時候要新增指明aprutil的安裝目錄,此時執行的命令變成下面這樣。
./configure --prefix=/opt/subversion--with-aprutil=/opt/aprutil
這次就可以正確的執行了。
第三步:make &make install命令安裝
首先執行make命令,此時會出現第三個問題,看圖:
sqlite沒有,需要下載,到這我就鬱悶了,真心不容易,後面還有讓人崩潰的,先解決這個問題。
複製上圖給的地址,下載對應的檔案,將檔案中的sqlite3.c保留,其他都刪除,上傳到subversion-1.8.15目錄下的sqlite-amalgamation資料夾下(如果該檔案不存在,建立之),這下就解決了第三個問題。
在執行make install,在這裡就沒有出現什麼問題,老天啊終於給點力了。
第四步:測試安裝是否成功
測試命令:
/opt/subversion/bin/svnserve--version
此時如果打印出svn版本資訊,恭喜你安裝成功了。
注:這裡可以採用配置環境變數的方式,就不要寫完整路徑了,直接使用svnserve,我的電腦一直沒有成功,不知道什麼地方配置有誤,想探索的博友可以嘗試。
第五步:建立庫的目錄
建立目錄:
mkdir -p/opt/svn/test
將上面的目錄建立成庫的路徑
/opt/subversion/bin/svnadmin/opt/svn/test
第六步:修改配置檔案
上一步完成後,test目錄下回生成多個檔案和目錄,此時進入conf目錄
修改svnserve.conf中的下面屬性
# anon-access = read //將read改為none
# auth-access = write
# password-db = passwd
# authz-db = authz
將這幾個引數前的#和空格都去掉,這裡該檔案就配置完了。
修改passwd配置檔案,配置使用者
[users]
test=123456
修改authz許可權配置檔案,rw表示讀寫許可權
[groups]
[/]
test=rw
第七步:上面的配置檔案就都完成了,接下來啟動svn服務
/opt/subversion/bin/svnserve-d -r /opt/svn/
上面的命令啟動後,檢測一下是否啟動成功
ps -ef | grep svn
這樣就啟動成功了。
第八步:遠端連線測試
這裡遠端連線記得svnserve的預設監聽埠是3690,需要將linux系統的該埠開通,如果暴力一點就直接關閉防火牆,下面提供兩種方式,博友們根據自己情況自己選吧。
開埠:
/sbin/iptables -I INPUT -p tcp --dport 3690-j ACCEPT
/etc/rc.d/init.d/iptables save
關閉防火牆:
service iptables stop
遠端連線:使用TortoiseSVN客戶端嘗試連線,這個過程很簡單,如果在連線的時候出現Authorization failed錯誤,表示認證錯誤,注意常看自己的認證檔案(authz)。
到此簡單的搭建過程就完成了,以後的部落格還會提供http和https的方式連線svn伺服器。