在Linux中安裝SVN,相對于windows中安裝SVN,也不複雜,但在實踐過程中,還是碰到一些問題,記錄下來,供大家參考。
1 安裝SVN
本人使用的Linux作業系統是centos7,利用yum安裝svn,指令很簡單。
yum install subversion
2 配置svn
2.1 建立倉庫
我們将svn倉庫,建立到/home下的svn目錄,具體指令如下
[root@VM_0_4_centos home]# cd /home
[root@VM_0_4_centos home]# mkdir svn
[root@VM_0_4_centos home]# svnadmin create /home/svn
[root@VM_0_4_centos home]# cd svn
[root@VM_0_4_centos svn]# ls
conf db format hooks locks README.txt
可以看到,建立svn倉庫之後,在svn目錄下,會多出幾個目錄和檔案。svn的配置工作主要針對conf目錄,打開conf目錄後,會發現有以下檔案
authz passwd svnserve.conf
其中svnserve.conf用來對svn進行總的配置,passwd用來配置使用者名密碼,authz用來配置使用者權限。
2.2 配置svnserve.conf
利用vi svnserve.conf指令,打開svnserve.conf檔案,對其中的内容進行修改配置
anon-access = read #匿名使用者可讀
auth-access = write #授權使用者可寫
password-db = passwd #使用哪個檔案作為賬号檔案
authz-db = authz #使用哪個檔案作為權限檔案
realm = /home/svn # 認證空間名,版本庫所在目錄
需要注意的問題是,前面不要有空格,每一行都要頂格書寫,如果有空格,會導緻配置失敗。
2.3 配置passwd
使用vi passwd打開passwd檔案,配置使用者名密碼
[users]
harry = harryssecret
sally = sallyssecret
同樣注意頂格書寫。
2.4 配置authz
使用vi authz打開authz檔案,配置使用者權限
[groups]
harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
[/]
@ harry_and_sally = rw
* =
同樣注意頂格書寫。
在内容上,需要注意[/]是指使用者可以通路的目錄,[/]是根目錄,也可以是具體的目錄,比如某個具體的項目目錄,這樣可以讓不同的使用者,通路不同的項目,将不同項目的權限分開。我們用的是一個項目,就直接用根目錄。具體項目目錄分開的操作,大家可以自行嘗試。
3 svn的啟動和停止
svn安裝配置完成之後,就可以啟動使用了。
3.1 啟動svn
svnserve -d -r /home/svn
其中,-d表示守護程序, -r 表示在背景執行
3.2 停止svn
可以使用殺死程序的方式來停止svn服務
首先是查找svn程序,然後用kill指令結束svn程序。
[root@VM_0_4_centos conf]# ps -ef|grep svnserve
root 2742 32342 0 16:49 pts/0 00:00:00 grep --color=auto svnserve
root 8299 1 0 13:23 ? 00:00:00 svnserve -d -r /home/svn
[root@VM_0_4_centos conf]# kill -9 2742
4 用戶端連接配接
在linux伺服器端完成svn的安裝和配置之後,啟動了svn服務,這時候就可以在用戶端進行連接配接了。一般用戶端使用tortoiseSVN,連接配接位址為svn://IP位址或域名,如果順利的話就會連接配接成功,會彈出使用者名密碼的視窗,填入使用者名密碼就可以正常使用了。
5 連接配接失敗的可能原因
我們安裝配置運作都做完之後,還是會碰到連接配接失敗的可能,一般需要從兩個方面進行檢查。
5.1 端口是否開放
svn預設使用的是3690端口,這個端口需要開放,如果使用雲伺服器,需要在雲服務界面進行配置,比如阿裡雲或者騰訊雲,将伺服器的安全政策配置為3690端口開放。另一方面是linux本身的防火牆,需要将3690端口開放。
打開3690端口:firewall-cmd --add-port=3690/tcp --permanent
systemctl start firewalld.service#啟動firewall
systemctl stop firewalld.service#停止firewall
5.2 檢查配置檔案
配置檔案的檢查,一個是内容裡面要頂格書寫,不要有空格,在一個就是authz檔案中的權限路徑。
6 結語
在linux中配置svn,相對來說,還是比較簡單,但要明确每一步的含義,操作的時候需要認真配置,如果有小的疏忽,還是容易出現配置失敗,不過,對于出現的失敗,也不要氣餒,一般這種情況,才是真正學習的機會,隻有在不斷地碰到問題,解決問題,在這樣的過程中,我們才會成長。