Linux(Centos7)下搭建SVN服務器


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對根目錄具有讀寫權CHA

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

如下為例子:

遇到的問題小結:

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

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

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

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

查看端口firewall-cmd --list-ports

開放端口

  1. firewall-cmd --zone=public --add-port=80/tcp --permanent  
  1. #重啟firewall  
  2. firewall-cmd --reload  
  3. #停止firewall  
  4. systemctl stop firewalld.service  
  5. #禁止firewall開機啟動  
  6. systemctl disable firewalld.service  

 


免責聲明!

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



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