Linux下安裝SVN(Subversion)

Mygirl發表於2013-07-08

一、安裝
直接執行命令用YUM安裝:

yum install subversion -y

二、建立版本庫
建立版本庫用svnadmin create命令,大概語法是svnadmin create svn庫目錄,例如我們要將庫目錄建立到/data/svnroot目錄,那麼就執行如下的命令:
svnadmin create /data/svnroot
這樣子就在建立了一個版本庫位於/data/svnroot目錄,我們進入svnroot庫目錄看看下面有哪些檔案:

cd /data/svnroot
ls
可以看到svnroot目錄下有5個目錄和檔案:

-rw-r--r-- 1 root root  229 May 22 00:57 README.txt
drwxr-xr-x 2 root root 4096 May 22 00:57 conf
drwxr-sr-x 6 root root 4096 May 22 00:57 db
-r--r--r-- 1 root root    2 May 22 00:57 format
drwxr-xr-x 2 root root 4096 May 22 00:57 hooks
drwxr-xr-x 2 root root 4096 May 22 00:57 locks
這些檔案的大概作用如下:
README.txt是版本庫的說明檔案
conf是配置檔案所在的資料夾
db為SVN資料檔案資料夾
format是一個文字檔案,裡面放的只有一個整數,是當前版本庫的版本號
hooks是SVN的鉤子指令碼資料夾
locks是SVN的檔案鎖相關的資料夾

三、配置svn
1、新增一個SVN使用者
開啟conf下的authz檔案,在檔案最末尾新增如下配置:

[/]
username = rw

authz是使用者的許可權配置檔案。[/]表示使用者許可權的目錄,比如[/]表示使用者在SVN的根目錄有許可權而[/subfolder]表示使用者擁有/subfolder這個目錄的許可權
下面的一行username = rw是為使用者許可權,r為讀許可權,w為寫許可權,如查我們只希望建立一個有讀許可權的使用者,那麼可以這樣配置:username = r
開啟conf下的passwd檔案,這個檔案是為使用者設定密碼的配置檔案,在檔案中新增一行:

username = password

前的是使用者名稱,後面的是密碼。
經過這兩步我們就已經新增完了一個使用者,並且為使用者指定了許可權和密碼
開啟conf下的svnserve.conf,把下面四行配置前的分號去掉

anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
這樣我們的SVN配置就已經完成了。
下面我們弄一個指令碼來啟動SVN,並且將指令碼加進到系統啟動項中實現開機啟動:
在root建立一個名為startsvn.sh的指令碼檔案,貼上如下內容:

killall svnserve
svnserve -d -r /data/svnroot
儲存,退出。
然後給指令碼可執行許可權:

chmod 777 /root/startsvn.sh
啟動指令碼:

/root/startsvn.sh
將指令碼加入到系統啟動項中,開啟/etc/rc.d/rc.local檔案,將上面的啟動SVN的命令加入到檔案的最後一行,以後SVN服務就會隨著系統的啟動而啟動了。

四、將SVN的埠新增到伺服器防火牆的允許列表中
subversion的預設埠是3690,我們將3690新增的伺服器的允許列表中,開啟iptables,新增如下一句配置:

iptables -A INPUT -p tcp --dport 3690 -j ACCEPT

相關文章