Linux下伺服器搭建SVN
系統環境:Centos 7
第一步:通過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
在檔案內容的末尾,新增如下:
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
執行結果如下圖:
也可以這樣新增埠號:
方法二:直接編輯/etc/sysconfig/iptables檔案
1.編輯/etc/sysconfig/iptables檔案:vi /etc/sysconfig/iptables
加入內容並儲存:-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
六:啟動svn伺服器
在跟目錄下,執行如下命令:
>svnserve -d -r /var/svn/svnrepos
啟動成功後,可用ps -aux檢視服務啟動是否成功
七:客戶端訪問svn伺服器
在windows客戶端,輸入地址:svn://ip地址:3690/xxxx (iP地址為你linux的ip,xxxx為前文建立的版本庫名稱,3690為svn預設埠)
彈出輸入使用者名稱和密碼,輸入即可訪問