CentOS7搭建SVN+http访问

1,准备工作

关闭SELINUX

查看下状态getenforce,如果是Enforcing则关闭
临时关闭:setenforce 0
永久关闭:vi /etc/selinux/config将SELINUX=enforcing改为SELINUX=disabled(这个reboot生效)

2,安装相应软件

安装subversion:yum install subversion
安装apache:yum install httpd
apache安装svn模块:yum iinstall mod_dav_svn

3,创建svn仓库

cd /var/svndata(这里我在/var路径下创建了svndata目录,进入svndata)
svnadmin create repo1(创建仓库repo1,仓库名字随便)

4,在repo1/conf下配置相关文件

配置authz文件(认证规则)

添加如下信息:[svndata:/]换行admin = rw(这个admin用户为后面apache要创建的)
[repo1:/]换行test = rw(这个用户先用来测试svn是否部署成功)

passwd文件(用户帐户信息,这里不配置admin,因为admin用户的密码信息apache会配置)

添加如下信息:test=test(测试是test的密码)

svnserve.conf(主要配置权限控制文件)

取消以下注释:
anon-access = read匿名访问权限,默认read
auth-access = write授权用户权限
password-db = passwd密码数据库位置
authz-db = authz访问控制文件

5,配置防护墙开启3690端口(svn服务),重启防火墙(关闭防火墙的忽略这步)

firewall-cmd --permanent --zone=public --add-port=3690/tcp
systemctl restart firewalld.service

6,测试svn是否安装成功

启动svn:svnserve -d -r /var/svndata
这里我安装了客户端TortoiseSVN ,直接checkout,地址栏输入svn://ip/repo1(这个ip为你centos服务器的ip),账户密码为之前设置的test

7,修改apache的httpd.conf配置文件,apache默认安装时该配置文件在/etc/httpd/conf/路径下

找到’LoadModule‘,在其下添加一下信息


LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
<Location /svndata>
DAV svn
SVNPath /var/svndata/repo1
AuthType Basic
AuthName "Subversion repos"
AuthUserFile /etc/httpd/svn.htpasswd
AuthzSVNAccessFile /var/svndata/repo1/conf/authz
Require valid-user
</Location>

相关配置解释

DAV svn 表示使用mod_dav_svn模块
SVNPath /var/svndata/repo1 表示你仓库的地址,注意因为我只有一个仓库所以用SVNPath而不是SVNParentPath
svn.htpasswd文件是http访问时配置的账户密码信息

8,创建svn.htpasswd文件

htpasswd -cm /etc/httpd/svn.htpasswd admin(然后输入admin的密码,密码随便,注意这个admin账户的svn访问权限之前有配置过)

9,让apache用户对svn有读写权限

首先我的svndata的用户和用户组都是root,所以我把apache加入到root用户组
usermod -a -G root apache
然后给用户组加个写权限
chmod -R g+w /var/svndata/

10,启动apache

给apache开通防火墙(我这里apache的端口默认是80)
firewall-cmd --permanent --zone=public --add-port=80/tcp
systemctl restart firewalld.service
启动apache:systemctl start httpd

11,在svn客户端地址栏输入http://ip/svndata(账户密码为第8步所配置的)

到此,svn+http安装完毕

如有疑问,欢迎指正交流

猜你喜欢

转载自www.cnblogs.com/lmmly/p/9251067.html