CentOS - 搭建SVN服务

简介

现在git应用已经很广泛了,但是SVN也有它的优点,特别是目录权限控制。针对一些保密的场景下还是比较适用的。

安装

yum -y install subversion

创建目录

mkdir /data/svn/svnrepos

创建版本库

svnadmin create /data/svn/svnrepos/codes

配置文件

cd /data/svn/svnrepos/codes/conf

authz:负责账号权限的管理,控制账号是否读写权限

admin = dev,test1

user = test2

[/data/svn/svnrepos/codes]

@admin = rw

@user = r

* = r

   [repo0:/] 代表对repo0所有版本库设置权限权限

[repo0:/21yunwei] 代表对repo0版本库下的21yunwei项目设置权限

[repo0:/21yunwei/demo] 代表对repo0版本库下的21yunwei项目的demo目录设置权限

admin = lqb,test2 创建admin组,组成员为:lqb,test2

user = test1 创建用户组,用户成员:test1

[test:/] 赋予根权限,为了便于管理和权限的控制,可以把权限细化到版本库中相应的目录,如[test:/test]这就是test项目下的一个目录

@admin = rw admin组有读写的权限

@user = r user组只有读的权限

*= 表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上

passwd:负责账号和密码的用户名单管理

[users]

# harry = harryssecret

# sally = sallyssecret

dev = 123456

test1 = 123456

test2 = 123456

svnserve.conf:svn服务器配置文件,没有特殊需求就不需要修改了

启动服务

svnserve -d -r /data/svn/svnrepos

默认端口是6390

需要修改监听端口或者监听IP可以通过修改--listen-port和 --listen-host来进行修改

这样子svn服务就完成了,可以通过svn协议进行访问

svn://[ip]:[port]/codes