Linux(Centos7)下搭建svn服務器


系統環境:centos7.2

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

yum -y install subversion

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

若需查看svn安裝位置,可以用以下命令:

rpm -ql subversion

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

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

mkdir /var/svnrepos

第三步:創建svn版本庫

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

svnadmin create /var/svnrepos/xxxx  

 (xxxx為你預期的版本庫名稱,可自定義)

創建成功后,進入xxxx目錄下

cd /var/svnrepos/xxxx

進入目錄,可以看見如下文件信息:

total 24 drwxr-xr-x 2 root root 4096 May  2 13:48 conf drwxr-sr-x 6 root root 4096 May  2 13:48 db -r--r--r-- 1 root root    2 May  2 13:48 format drwxr-xr-x 2 root root 4096 May  2 13:48 hooks drwxr-xr-x 2 root root 4096 May  2 13:48 locks -rw-r--r-- 1 root root  229 May  2 13:48 README.txt

下面是這些目錄的詳細講解

第四步:配置修改

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

cd /var/svnrepos/xxxx/conf

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

total 12
-rw-r--r-- 1 root root 1080 May  2 13:48 authz -rw-r--r-- 1 root root  309 May  2 13:48 passwd
-rw-r--r-- 1 root root 3090 May  2 13:48 svnserve.conf

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

passwd:負責賬號和密碼的用戶名單管理

svnserve.conf:svn服務器配置文件

1.編輯 authz 文件(注意:[/]也是必須的

[/]   表示根目錄,即 /var/svnrepos

luo = rw  表示用戶luo對根目錄具有讀寫權限。

2.編輯 passwd 文件

如上所示,用戶名為:luo,認證密碼為:luo123456

3.編輯 svnserve.conf 文件(注意:配置的前面不能有空格,一定要頂格寫)

anon-access = none:表示禁止匿名用戶訪問。

auth-access = write:表示授權用戶擁有讀寫權限。

password-db = passswd:指定用戶名口令文件,即 passwd 文件。

authz-db = authz:指定權限配置文件,即 authz 文件。

realm = /var/svnrepos:指定認證域,即 /var/svnrepos 目錄。

 

第五步:防火牆開啟(這里以iptable防火墻為例)

多數情況下服務器安裝完成,配置完成后,無法連接svn服務器,均是防火牆問題【注意:如果是阿里雲,騰訊雲的服務器,還需在安全組添加端口開啟規則】

vi /etc/sysconfig/iptables

添加配置信息

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT

保存退出

systemctl restart iptables.service #重啟防火牆使配置生效

六:啟動svn服務器

svnserve -d -r /var/svnrepos

啟動成功后,可用ps -aux查看服務啟動是否成功

ps -ef | grep 'svnserve'

七:客戶端訪問svn服務器

在windows客戶端,輸入地址:svn://ip地址:3690/xxxx   (iP地址為你linux的ip,xxxx為前文創建的版本庫名稱,3690為svn默認端口)

彈出輸入用戶名和密碼,輸入即可訪問

或者在linux服務器輸入命令測試:

svn co svn://ip地址:3690/xxxx

如下為例子:

 

關閉SVN 方法:
這里采取linux殺死進程的方式處理的 
ps -ef|grep svnserve 
root      4967     1  0 Aug23 ?        00:00:00 svnserve -d -r repository/  
這里  kill -9 4967殺死進程, 此4967為進程號

 

遇到的問題小結:

問題1:執行svn命令:svn co svn://ip地址:3690/xxxx報錯如下

這是因為修改svnserve.conf時,打開注釋時,配置的前面有空格,應該頂格寫。修改后即可

問題2:輸入賬號密碼后,提示 svn: Authorization failed解決辦法

把authz 文件 [/] 改為 [\] 試試


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM