Subversion(简称SVN)是一款自由开放的版本控制软件,Subversion可以管理文件、文件夹以及记录它们的修改状况。

1、关闭SELinuxfirewalld

2、安装SVN:# yum -y install subversion

3、查看SVN版本和帮助信息:

# svnserve --version

CentOS 7.5安装配置SVN_SVN

# svnserve --help

# svn ?

4、创建使用SVN的用户:

# groupadd -r svn

# useradd -r -g svn -s /sbin/nologin marion

# useradd -r -g svn -s /sbin/nologin keyso

5、创建SVN版本库:

# mkdir -pv /svn/docs

# svnadmin create /svn/docs

# ls -lh /svn/docs

CentOS 7.5安装配置SVN_subversion_02

6、修改用户账号文件:# vim /svn/docs/conf/passwd,在[users]配置段中新增如下代码

marion = 123456

keyso = abcdef

7、修改权限控制文件(设置哪些用户可以访问哪些目录):# vim /svn/docs/conf/authz,在末尾新增如下代码

[groups]

admin = marion,keyso

[/]

@admin = rw

* =

备注:admin组为权限组,组中有2个用户marionkeyso,对SVN根目录都具有读写权限。* =表示其他所有人没有任何权限,权限可以设置为只读(r)、读写(rw)和无权限(空)。

8、修改服务配置文件:# vim /svn/docs/conf/svnserve.conf,在[general]配置段中新增如下代码:

anon-access = none                //匿名用户访问无权限,权限可以是readwritenone,默认为read

auth-access = write               //授权用户有写权限

password-db = passwd         //密码数据库的路径

authz-db = authz                  //访问控制文件

realm = /svn/docs                 //认证命名空间,即版本库所在目录

9、启动SVN

# svnserve -d -r /svn/docs        //-d:守护进程,-rSVN根目录,即版本库的路径

# ps -ef | grep svn | grep -v grep

CentOS 7.5安装配置SVN_subversion_03

# ss -tunlp | grep 3690

CentOS 7.5安装配置SVN_SVN_04

10、开机自启动:

# mkdir -pv /scripts

# vim /scripts/svnrun.sh

#!/bin/bash

/usr/bin/svnserve -d -r /svn/docs

# chmod +x /scripts/svnrun.sh

# vim /etc/rc.d/rc.local,末尾新增代码:/scripts/svnrun.sh

# chmod +x /etc/rc.d/rc.local

11、Windows客户端下载安装图形工具TortoiseSVN(下载地址https://tortoisesvn.net/

12、创建用于存放版本库的目录,并创建SVN客户端版本库:

CentOS 7.5安装配置SVN_SVN_05

13、输入版本库的URL地址:

CentOS 7.5安装配置SVN_SVN_06

14、输入用户名和密码:

CentOS 7.5安装配置SVN_subversion_07

CentOS 7.5安装配置SVN_subversion_08

CentOS 7.5安装配置SVN_subversion_09

CentOS 7.5安装配置SVN_subversion_10

15、在版本库中新建测试文件svntest.docx,鼠标右键空白处,将其添加到版本库:

CentOS 7.5安装配置SVN_SVN_11

CentOS 7.5安装配置SVN_subversion_12

CentOS 7.5安装配置SVN_subversion_13

CentOS 7.5安装配置SVN_subversion_14

CentOS 7.5安装配置SVN_subversion_15

CentOS 7.5安装配置SVN_subversion_16

16、在另一台服务器上使用另一个账户登录SVN

CentOS 7.5安装配置SVN_SVN_17

CentOS 7.5安装配置SVN_SVN_18

CentOS 7.5安装配置SVN_SVN_19

CentOS 7.5安装配置SVN_SVN_20

CentOS 7.5安装配置SVN_SVN_21

17、在版本库中新建测试文件svntest2.txt,鼠标右键空白处,将其添加到版本库:

CentOS 7.5安装配置SVN_SVN_22

CentOS 7.5安装配置SVN_SVN_23

CentOS 7.5安装配置SVN_subversion_24

CentOS 7.5安装配置SVN_SVN_25

CentOS 7.5安装配置SVN_SVN_26

18、再次使用marion账户更新版本库:

CentOS 7.5安装配置SVN_subversion_27

CentOS 7.5安装配置SVN_subversion_28

CentOS 7.5安装配置SVN_SVN_29

keyso的文件已被更新过来

19、配置SVN支持HTTP方式访问(支持http://协议):

# yum -y install httpd mod_dav_svn

# ls /etc/httpd/modules | grep svn

CentOS 7.5安装配置SVN_subversion_30

# vim /etc/httpd/conf.d/subversion.conf       //创建文件

<Location /svn>

DAV svn

SVNPath /svn/docs

AuthType Basic

AuthName "Subversion repos"

AuthUserFile /svn/docs/conf/.passwd

AuthzSVNAccessFile /svn/docs/conf/authz

Require valid-user

</Location>

# httpd -t

创建用户:

# htpasswd -c -m /svn/docs/conf/.passwd marion  -->  123456

# htpasswd -m /svn/docs/conf/.passwd keyso  -->  abcdef

apache用户对/svn/docs目录具有写权限:

# setfacl -d -m user:apache:rw /svn/docs

# getfacl /svn/docs

# systemctl start httpd.service

# systemctl enable httpd.service

通过浏览器访问SVN服务器:

CentOS 7.5安装配置SVN_subversion_31

CentOS 7.5安装配置SVN_subversion_32

通过TortoiseSVN访问:

CentOS 7.5安装配置SVN_SVN_33

CentOS 7.5安装配置SVN_subversion_34

CentOS 7.5安装配置SVN_subversion_35

CentOS 7.5安装配置SVN_subversion_36