CentOS7安装SVN,使用http访问

公司一内网服务器,需要安装svn服务,找了半天人,最后还是我来安装。

为了后续查找方便,随手记录下来。

专机专用,安装最小版的CentOS7,由于需要使用ftp服务,所以安装系统时选了ftp server,其他组件都没有选。

用root用户登录,先安装httpd和svn及 mod_dav_svn:

yum install httpd subversion mod_dav_svn -y

创建版本库仓库目录/var/www/svn,然后在这个目录下创建一个版本库repo,最后将目录所有者修改成apache:

由于selinux的关系,httpd只能访问/var/www/目录之下的文件。所以,版本库及配置文件,都存放在/var/www/svn之下。否者会出现文件访问无权限的问题。
因为这个问题,机器被我重装了3遍,黑人脸+黑线+乌鸦~呜...

svnadmin create repo
# 重要,设置版本库的所有者
chown -R apache:apache /var/www/svn/repo/
# 非常重要,重设SELinux的安全上下文
chcon -R -t httpd_sys_content_rw_t /var/www/svn/repo
# 也可以使用:setsebool -P httpd_unified=1

在/var/www/svn下创建用户及授权文件:

touch /var/www/svn/passwd
htpasswd -m /var/www/svn/passwd Kevin 

vim /var/www/svn/authz
# 编辑内容,为用户授权
[/]
kevin = rw
roy = r

配置svn,重新指定svn仓库目录:

vim /etc/sysconfig/svnserve
# 修改成对应的目录
OPTIONS="-r /var/www/svn"

配置httpd,连接到svn:

vim /etc/httpd/conf.d/subversion.conf
# 修改对应目录及用户授权文件等

    DAV svn
    SVNParentPath /var/www/svn
    AuthType Basic
    AuthName "SII SVN Repo"
    AuthzSVNAccessFile /var/www/svn/authz
    AuthUserFile /var/www/svn/passwd
    Require valid-user

设置服务自启动,并启动服务:

systemctl enable httpd.service
systemctl restart httpd.service

打开防火墙:

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

2018年6月23日,成都太保办公室加班。

你可能感兴趣的:(CentOS7安装SVN,使用http访问)