centos7系统下SVN服务器搭建

1. 安装

sudo yum install subversion

查看安装位置

sudo rpm -ql subversion

2. 创建版本库 svnadmin create 创建一个新的空的版本库

sudo mkdir -p /var/svn
sudo svnadmin create /var/svn/项目名

3. 配置

进入conf目录(该svn版本库配置文件)

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

3.1 设置帐号密码

sudo vim passwd

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

完整内容参考下面

[users]
june = june
junwei = junwei

3.2 设置权限

用户组格式:

[groups]
groupname=user1,user2,user3

其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。

例子:

java=xxx,xxx1,xxx2
php=xxx,xxx1,xxx2

版本库目录格式:

  • [<版本库>:/项目/目录]
  • @<用户组名> = <权限>
  • <用户名> = <权限>

其中,方框号内部分可以有多种写法:

  • [/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/home/svn/test,[/]就是表示对全部版本库设置权限。
  • [repos:/] 表示对版本库repos设置权限;
  • [repos:/abc] 表示对版本库repos中的abc项目设置权限;
  • [repos:/abc/aaa] 表示对版本库repos中的abc项目的aaa目录设置权限;
  • 权限主体可以是用户组、用户或,用户组在前面加@,表示全部用户。
  • 权限可以是w、r、wr和空,空表示没有任何权限。

例子:

[/tdocs]
@java=rw
@php=rw
@mobile=r
*=

3.3 修改svnserve.conf文件

sudo vim svnserve.conf

打开下面的几个注释:

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

注意:要配置好所处位置,完整参考下面

[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = /var/svn/project_1
# force-username-case = none
[sasl]
# use-sasl = true
# min-encryption = 0
# max-encryption = 256

4. 启动svn版本库 

sudo svnserve -d -r /var/svn
标签:SVNCentos 发布于:2019-11-15 16:44:22