一.安装svn服务端
1. 使用yum安装
yum install subversion
2. 安装完后我们查看一下svn版本
svnserve --version
3. 创建版本库目录project
mkdir -p /home/svn/project
4. 创建版本库,执行成功后会创建以下目录
svnadmin create /home/svn/project
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. 测试是否搭建成功
配置了账号密码会弹出验证账户密码界面,输入正确的账号密码后,能成功检出项目就代表svn服务搭建成功啦!