天天看點

Linux中安裝配置使用SVN的步驟和注意事項

在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,相對來說,還是比較簡單,但要明确每一步的含義,操作的時候需要認真配置,如果有小的疏忽,還是容易出現配置失敗,不過,對于出現的失敗,也不要氣餒,一般這種情況,才是真正學習的機會,隻有在不斷地碰到問題,解決問題,在這樣的過程中,我們才會成長。