CentOS 7 搭建 Svn 服务器

一、安装SVN服务端

yum install subversion

二、建立版本库

svnadmin create /home/myrepos    #这里的文件目录本身随便设置

三、配置svnserve

上述版本库/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

        3.一、svnserve.conf修改如下几个部分:

anon-access = none    #不容许匿名访问
auth-access = write   #容许写入
password-db = passwd  #指向验证用户名密码的数据文件 passwd
authz-db = authz      #指向验证用户的权限配置文件 authz

        3.二、passwd修改如下内容:

[users]
chen = 123456  #用户名 = 密码, 等号表示关联关系

        3.三、authz修改如下几个部分:

[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:

svnserve -d -r /home/myrepos/
相关文章
相关标签/搜索