yum install subversion
svnadmin create /home/myrepos #这里的文件目录本身随便设置
上述版本库/home/myrepos创建后在文件夹下会生成hooks、locks、format、conf四个文件夹bash
目录用途说明:tcp
hooks目录:放置hook脚本文件的目录svn
locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端spa
format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号code
conf目录:是这个仓库的配置文件(仓库的用户访问帐号、权限等),包含3个文件:authz、passwd、svnserve.conform
文件用途说明:ip
authz文件:用户权限配置文件。cmd
passwd:用户名密码配置文件。it
svnserve.conf:Svn主配置文件。io
anon-access = none #不容许匿名访问 auth-access = write #容许写入 password-db = passwd #指向验证用户名密码的数据文件 passwd authz-db = authz #指向验证用户的权限配置文件 authz
[users] chen = 123456 #用户名 = 密码, 等号表示关联关系
[groups] admin = chen #群组 admin 包含帐号chen [/] @admin = rw #群组 admin 有读写权限 * = #以上没有定义的用户都没有任何权限
格式说明:
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
/ 表示对根目录(即/svn/project目录)下的全部子目录范围设置权限;
[/abc] 表示对资料库中abc项目设置权限;
建立一个admin组,组成员只包括chen
admin组对目录有读写权限;
*=表示除了上面设置的权限用户组之外,其余全部用户都设置空权限,空权限表示禁止访问本目录,这很重要必定要加上。
注意:对权限配置文件的修改当即生效,没必要重启svn。
CentOS 7 默认没有使用iptables,因此经过编辑iptables的配置文件来开启80端口是不能够的
CentOS 7 采用了 firewalld 防火墙,Svn默认使用3690端口,如要查询端口是否开启,使用如下命令:
firewall-cmd --query-port=3690/tcp --permanent
若是端口未开,使用下面的命令开启端口:
firewall-cmd --add-port=3690/tcp --permanent
开启端口后,能够从新加载防火墙:
firewall-cmd --reload
svnserve -d -r /home/myrepos/