- 关闭selinux
[root@svn ~]#sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@svn ~]#setenforce 0
- 创建目录作为SVN版本库目录,为创建的版本库提供存放位置
[root@svn ~]mkdir /var/svn
- 将/svn/svn挂载到/var/svn
[root@svn ~]vim /etc/fstab
/svn/svn /var/svn none rw,bind 0 0
[root@svn ~]mount -a
- 安装svnserve
[root@svn ~]yum -y install subversion
- 创建SVN版本库
[root@svn ~]svnadmin create /var/svn/documents
[root@svn ~]svnadmin create /var/svn/om
[root@svn ~]svnadmin create /var/svn/develop
- 将om版本库目录内的conf目录及内容移至版本库目录,然后将documents、om、develop这3个版本库目录的conf目录删除(因为多个库共用一套配置所以只保留一个)
[root@svn ~]mkdir /var/svn/conf
[root@svn ~]mv /var/svn/om/conf/* /var/svn/conf
[root@svn ~]rm -rf /var/svn/om/conf/
[root@svn ~]rm -rf /var/svn/documents/conf/
[root@svn ~]rm -rf /var/svn/develop/conf/
- 增加passwd里的是账号密码
[root@svn ~]#vim /var/svn/conf/passwd
[users]
test = test #格式:用户名 = 密码
gaop = gaop
huangtao = huangtao
lxy = lxy
yangweihao = yangweihao
wujinjin = wujinjin
luzhengwei = luzhengwei
boming = boming
yangcunjin = yangcunjin
lirong = lirong
- 修改authz内的账号权限
[root@svn ~]#vim /var/svn/conf/authz
[groups] #分组用来处理多账户权限管理
all = huangtao,lirong,yangweihao,luzhengwei,wujinjin,yangcunjin
om = lxy #格式:组名 = 用户名
devel = gaop
[documents:/] #表示documents的那个svn版本库
@all = rw #表示all分组的所有用户都有读写权限
@om = rw
@devel = rw
test = r #表示test用户权限为读
* = #表示所有匿名账户不允许访问
[develop:/]
@all = r
@om = r
@devel = rw
* =
[om:/]
@all = r
@om = rw
@devel = r
* =
- 修改svn服务配置文件
[root@svn ~]#vim /var/svn/conf/svnserve.conf
[general]
anon-access = none #匿名用户权限为无
auth-access = write #授权用户拥有读写权限
password-db = /var/svn/conf/passwd #用户名密码文件的路径,因为要多个库,访问同一个配置所以这里需要改为文件绝对路径
authz-db = /var/svn/conf/authz #账户权限文件路径,同样需要绝对路径
realm = /var/svn #SVN库的根目录路径
- 关闭SVN服务
[root@svn ~]#killall svnserve
- 多个库访问一套配置文件,添加配置文件的位置参数,所以使用这个代码启动服务
[root@svn ~]#svnserve -d -r /var/svn --config-file=/var/svn/conf/svnserve.conf.
- 添加开机启动,将配置文件的位置参数添加到systemd控制的svn启动配置文件中
[root@svn ~]vim /etc/sysconfig/svnserve
OPTIONS="-d -r /var/svn --config-file=/var/svn/conf/svnserve.conf"
[root@svn ~]systemctl enable --now svnserve
- 查看服务是否启动
[root@svn ~]#ps aux | grep svn
- 确认有没有开启3690 端口
[root@svn ~]# ss -ln|grep 3690
- 开启防火墙
[root@svn ~]# firewall-cmd --permanent --add-port=3690/tcp
success
[root@svn ~]# firewall-cmd --reload
success