您的位置:首页 > 运维架构 > Linux

CentOS下搭建SVN Server

2016-12-04 22:53 316 查看

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 Server仓库

通过如下命令建立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 Server

创建用户文件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服务器

http://ip

参考
<CentOS6.5搭建apache+SVN环境>
<CentOS7:搭建SVN + Apache 服务器>
<Install SVN Server on Fedora 23/22, CentOS/RHEL 7.2/6.7/5.11>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: