CentOS下SVN使用


1. 介紹

這里想在CentOS上搭建的是基於http訪問的SVN Server

2. 軟件

安裝相關軟件

 yum install httpd httpd-devel mod_dav_svn subversion mod_ssl 

其中, mod_dav_svn是apache服務器訪問svn的一個模塊

安裝完成后可以通過如下命令查看是否安裝成功

httpd -version
svnserve –version
ls /etc/httpd/modules/ | grep svn  
           ----->  mod_authz_svn.so mod_dav_svn.so

3. 建立倉庫

通過如下命令建立svn倉庫

其中/var/www/svn是准備放倉庫的目錄,這個目錄可以放置多個代碼倉庫
AuthUserFile就是用戶和密碼的文件,也可以移動到其他地方單獨管理.

mkdir /var/www/svn
svnadmin create /var/www/svn/workspace
ls /var/www/svn/workspace
           --->  conf  db  format  hooks  locks  README.txt
chown -R apache.apache /var/www/svn

4. SVN配置

創建用戶文件passwd, 並建立用戶admin和guest

touch /var/www/svn/passwd
htpasswd /var/www/svn/passwd admin
htpasswd /var/www/svn/passwd guest

創建權限文件authz

cp /var/www/svn/workspace/conf/authz /var/www/svn/authz

修改/var/www/svn/authz, 使其包含如下內容

[/]
admin = rw
guest = r

5. httpd配置

創建文件/etc/httpd/conf.d/subversion.conf, 內容如下

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<Location />
    DAV svn
    SVNPath /var/www/svn/workspace
    SVNListParentPath on
      AuthType Basic
      AuthName "Authorization SVN"
      AuthUserFile /var/www/svn/passwd
      AuthzSVNAccessFile /var/www/svn/authz
      Require valid-user
</Location>

6. 啟動服務

如果開啟了防火牆, 需要開啟httpd訪問權限

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

通過查看文件/usr/lib/systemd/system/svnserve.service, 了解到svnserver的配置文件是/etc/sysconfig/svnserve
修改/etc/sysconfig/svnserve

OPTIONS="-r /var/svn"     ======>        OPTIONS="-r /var/www/svn"

通過如下命令來啟用服務

systemctl start svnserve.service
systemctl start httpd.service

如下命令使其開機自啟動

systemctl enable svnserve.service
systemctl enable httpd.service

完成后可以通過如下地址來訪問SVN服務器

參考:
<CentOS7:搭建SVN + Apache 服務器>
<Install SVN Server on Fedora 23/22, CentOS/RHEL 7.2/6.7/5.11>


免責聲明!

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



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