一.安装svn服务端

1. 使用yum安装

yum install subversion

2. 安装完后我们查看一下svn版本

svnserve --version

centos7搭建服务器sssr centos7 svn服务器搭建_版本库

3. 创建版本库目录project

mkdir -p /home/svn/project

4. 创建版本库,执行成功后会创建以下目录

svnadmin create /home/svn/project

centos7搭建服务器sssr centos7 svn服务器搭建_版本库_02

5. 创建一个公共配置文件目录,直接将刚才版本库的配置文件复制一份出来(方便以后复用)

cp -r /home/svn/project/conf /home/svn/conf

6. 删除刚才创建的版本库目录下的配置文件

rm -f /home/svn/project/conf/*

7. 进入/home/svn/conf目录,配置公共配置文件

authz         - 文件是权限控制文件
passwd        - 是帐号密码文件
svnserve.conf - SVN服务配置文件

在[users]块中添加用户和密码,格式:帐号=密码,如下

user1 = 123456
user2 = 123456

设置用户权限和项目分组 在authz文件中[groups]块添加项目分配用户,格式:项目目录名=用户名(账号),如下

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
project = user1,user2

在文件末尾加上如下配置,@project = rw对应的是[groups]下定义的用户对指定的Project版本库有读写权限

[/]
* = r
root = rw

[project:/]
@project = rw

修改svnserve.conf文件,打开下面的几个注释,并修改如下:

anon-access = none #匿名用户可读(none匿名不可读写)
   auth-access = write #授权用户可写
   password-db = ../../conf/passwd #使用哪个文件作为账号文件
   authz-db = ../../conf/authz #使用哪个文件作为权限文件
   realm = /home/svn # 认证空间名,版本库所在目录

8. 复制 svnserve.conf 配置文件到刚创建的项目版本库的conf目录下

cp -f /home/svn/conf/svnserve.conf /home/svn/project/conf/svnserve.conf

9. 说明

/home/svn/conf 下的svnserve.conf 文件,当SVN服务启动时他并不会被版本库载入,而真正被载入的配置是相对每个Project/conf里的svnserve.conf 文件,所以只是备份在当前目录下为了以后添加项目时方便复制到新的Project/conf里,因此所有项目版本库conf目录下的svnserve.conf文件都是一样的!当然啦每个Project/conf里的svnserve.conf 文件都复制好了后 /home/svn/conf 下的svnserve.conf 文件也可以被删掉。

10. 启动svn服务

svnserve -d -r /home/svn

11. 结束svn服务

killall svnserve

12. 配置防火墙端口,开放3690端口(SVN默认端口)

firewall-cmd --zone=public --add-port=3690/tcp --permanent
firewall-cmd --reload

13. 测试是否搭建成功

centos7搭建服务器sssr centos7 svn服务器搭建_linux_03


配置了账号密码会弹出验证账户密码界面,输入正确的账号密码后,能成功检出项目就代表svn服务搭建成功啦!