1. 程式人生 > >Linux下搭建SVN

Linux下搭建SVN

鑑於在搭建時,參考網上很多資料,網上資料在有用的同時,也坑了很多人

本文的目的,也就是想讓後繼之人在搭建svn伺服器時不再犯錯,不再被網上漫天的坑爹作品所坑害,故此總結

/******開始*********/

系統環境:Centos 6.5

第一步:通過yum命令安裝svnserve,命令如下:

>yum -y install subversion

此命令會全自動安裝svn伺服器相關服務和依賴,安裝完成會自動停止命令執行

若需檢視svn安裝位置,可以用以下命令:

>rpm -ql subversion

第二步:建立版本庫目錄(此僅為目錄,為後面建立版本庫提供存放位置)

選擇在var路徑下建立版本庫,當前處於根目錄下,一次性建立如下:

>mkdir /var/svn/svnrepos

第三步:建立svn版本庫

在第二步建立的路徑基礎上,建立版本庫,命令如下:

>svnadmin create /var/svn/svnrepos/xxxx   (xxxx為你預期的版本庫名稱,可自定義)

建立成功後,進入xxx目錄下

>cd /var/svn/svnrepos/xxxx

進入目錄,可以看見如下檔案資訊:

第四步:配置修改

進入已經建立好的版本庫目錄下,也就是前文說建立的xxxx

進入conf

>cd /var/svn/svnrepos/xxxx/conf

conf目錄下,一共存放三份重要的配置檔案,如下:

 

authz:負責賬號許可權的管理,控制賬號是否讀寫許可權

passwd:負責賬號和密碼的使用者名稱單管理

svnserve.conf:svn伺服器配置檔案

細節修改如下:(希望大家嚴格按照以下資訊,不用參考網路上其他資料)

修改authz檔案資訊,如下:

>vi authz

在檔案內容的末尾,新增如下:

 

只需在末尾新增,無需在檔案其他部分修改和新增任何東西(請忽略groups被我馬賽克的地方,那其實也是條無用的記錄,我忘記刪掉而已),末尾內容如下:

[\]

賬號1 = rw

賬號2 = rw

。。。。。

rw表示賦予此賬號可讀寫的許可權,請注意[]中的斜槓,一定是反斜槓,有些教程說,需新增版本庫名稱在括號內,我直接建議就這寫,這樣寫允許訪問的許可權更大,避免一些錯誤

修改passwd檔案資訊

>vi passwd

賬號密碼檔案無需做修改,也是直接將賬號和密碼資訊追加到檔案中即可,注意格式為:

賬號 = 密碼

例如:admin = 123456

修改svnserve.conf(重要)

vi svnserve.conf

原始檔案內容,都被註釋掉的,我們只需要去掉4條指定內容前註釋即可,如下:

 

大多數網路資料,都會讓大家將authz-db = authz這條給去掉註釋,經過我本人多次被坑經驗,此條去掉後,雖然svn伺服器可以連線,但一直會提示“認證失敗”,註釋掉即可正常

還有多數資料會讓大家在realm = My First Repository處填寫伺服器ip,經過測試,填寫後並無什麼用處,所以大家去掉註釋即可,無需做任何修改

到此,配置已經全部完成,賬號資訊已經新增成功

第五步:防火牆開啟

多數情況下伺服器安裝完成,配置完成後,無法連線svn伺服器,均是防火牆問題,大家按照如下3條命令逐一執行即可

>/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT

>/etc/init.d/iptables save

>service iptables restart

執行結果如下圖:

 

六:啟動svn伺服器

在跟目錄下,執行如下命令:

>svnserve -d -r /var/svn/svnrepos

啟動成功後,可用ps -aux檢視服務啟動是否成功

七:客戶端訪問svn伺服器

在windows客戶端,輸入地址:svn://ip地址:3690/xxxx   (iP地址為你linux的ip,xxxx為前文建立的版本庫名稱,3690為svn預設埠)

彈出輸入使用者名稱和密碼,輸入即可訪問

到此,Linux下svn伺服器搭建就總結完畢,感謝大家的閱讀