本问介绍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 状态
来源:CSDN
作者:欧亨利式结局
链接:https://blog.csdn.net/baobaopizi/article/details/79588058