- 检查系统是否已经安装了SVN
两个命令使用任何一个都行,如果返回如下内容,说明已经安装
[root@localhost ~]# svn --version
svn, version 1.7.14 (r1542130)
compiled Apr 11 2018, 02:40:28
Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/
[root@localhost ~]# rpm -qa|grep subversion
subversion-libs-1.7.14-14.el7.x86_64
subversion-1.7.14-14.el7.x86_64
- 安装SVN
如果系统没有安装SVN,通过下面命令安装
[root@localhost ~]# yum install subversion -y
- 创建SVN的目录和版本库
假设版本库名字是repo
[root@localhost ~]# mkdir /var/svn
[root@localhost ~]# svnadmin create /var/svn/repo
- 创建用户和密码
假设有一个管理员用户admin,两个开发人员用户dev1和dev2,一个测试人员用户test,密码都是123456
[root@localhost ~]# cd /var/svn/repo/conf
[root@localhost conf]# ll
total 12
-rw-r--r--. 1 root root 1162 Feb 26 13:04 authz
-rw-r--r--. 1 root root 367 Feb 26 13:00 passwd
-rw-r--r--. 1 root root 3082 Feb 26 13:06 svnserve.conf
[root@localhost conf]# vim passwd
[users]
admin = 123456
dev1 = 123456
dev2 = 123456
test = 123456
- 设置目录访问权限
假设repo版本库的根目录admin可以读写,其他用户只读,根目录下code目录开发人员可以读写,根目录下test目录测试人员可以读写
[root@localhost conf]# vim authz
[groups]
develop = dev1,dev2
[/]
admin = rw
* = r
[/code]
@develop = rw
[/test]
test = rw
- 修改SVN服务配置文件
假设匿名用户无权访问,把anon-access的值设为none,去掉行首的注释符 #。
假设授权用户可以读写,把auth-access 的值设为write,去掉行首的注释符 #。
假设用户密码文件是默认的passwd,去掉password-db = passwd行首的注释符 #。
假设权限控制文件是默认的authz,去掉authz-db = authz行首的注释符 #。
[root@localhost conf]# vim svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
- 关闭selinux
修改selinux的配置文件,把SELINUX的值改为disabled
[root@localhost conf]# vim /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
[root@localhost conf]# setenforce 0
setenforce: SELinux is disabled
- 启动SVN服务,查询服务状态并设置开机启动服务
[root@localhost conf]# systemctl start svnserve
[root@localhost conf]# systemctl status svnserve
● svnserve.service - Subversion protocol daemon
Loaded: loaded (/usr/lib/systemd/system/svnserve.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2020-02-26 15:00:05 CST; 3s ago
Process: 7552 ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 7553 (svnserve)
CGroup: /system.slice/svnserve.service
└─7553 /usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid -r /var/svn
Feb 26 15:00:05 localhost.localdomain systemd[1]: Starting Subversion protocol daemon...
Feb 26 15:00:05 localhost.localdomain systemd[1]: Started Subversion protocol daemon.
[root@localhost conf]# systemctl enable svnserve
- 防火墙允许SVN服务的3690端口
[root@localhost conf]# firewall-cmd --add-port=3690/tcp --zone=public --permanent
success
[root@localhost conf]# firewall-cmd --reload
success
- SVN客户端电脑测试服务器
假设服务器的IP地址是192.168.8.128,版本库名是repo
版本库URL填 svn://192.168.8.128/repo/
SVN Checkout
SVN 输入用户名和密码
网友评论