centos7 SVN服务器搭建记录

喜夏-厌秋 提交于 2019-12-08 13:05:46

本问介绍svn服务器的搭建步骤及配置方法,大部分内容来源于网络,在实际配置过程中也遇到一些坑,在此简单记录一下。


安装

$ sudo yum install subversion

查看安装所在目录
$ which svnserve
可以看到安装在/usr/bin目录下
这里写图片描述
查看版本
$ svnserve –version

建立版本库

subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改这个默认位置。

创建一个目录
$ sudo mkdir svn_test

修改/etc/sysconfig/svnserve将默认目录改为新创建的/svn_test
OPTIONS=”-r /svn_test”

在该目录下建立版本库
$ sudo svnadmin create svn_test/test

$ ll svn_test/
此时可以看到建立的test的版本库
这里写图片描述

配置版本库

编辑用户文件passwd,新增两个用户:admin和guest。

$ vi svn_test/test/conf/passwd
[users]
admin = admin
guest = guest

编辑权限文件authz,用户admin设置可读写权限,guest设置只读权限。
$ vi svn_test/test/conf/authz
[/]
admin = rw
guest = r

编辑svnserve.conf:
$ vi svn_test/test/conf/svnserve.conf
[general]
anon-access = none #控制非鉴权用户访问版本库的权限
auth-access = write #控制鉴权用户访问版本库的权限
password-db = passwd #指定用户名口令文件名
authz-db = authz #指定权限配置文件名
realm = spring-hello-world #指定版本库的认证域,即在登录时提示的认证域名称

启动svn服务

$ sudo systemctl start svnserve.service

检查服务是否启动成功。
$ ps aux | grep svn
这里写图片描述
通过netstat可以看到SVN打开了3690端口。
$ sudo netstat -tnlp
这里写图片描述

设置成开机启动。
$ sudo systemctl enable svnserve.service

可以使用客户端测试一下是否可以checkout

这里写图片描述
若是报权限不足或者部分文件没有访问权限,有可能试试将防火墙关闭
用systemctl检查服务器的防火墙配置:
$ firewall-cmd –list-all
检查selinux状态
/usr/sbin/sestatus -v

1、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2、关闭Selinux
编辑 selinux 文件 vi /etc/sysconfig/selinux
打开 selinux 文件后,修改SELINUX=enforcing为SELINUX=disabled
保存后退出 ,重启后生效。
临时设置
setenforce 0 //设置 SELinux 状态 0为关闭 1 为打开

getenforce //获取 SELinux 状态

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!