CentOS7上svn服务器的搭建(安装+多库权限配置+测试)

1. 安装subversion

1.1 查看是否已安装

svnserve --version

1.2 使用yum安装

yum install subversion

1.3 测试是否安装成功

svnserve --version

安装成功会显示版本信息如下
CentOS7上svn服务器的搭建(安装+多库权限配置+测试)_第1张图片

2.创建版本库

2.1 创建目录文件夹

mkdir -p /usr/local/svn/repos

2.2 创建版本库

不建议将多个不相关的项目放入同一个版本库,最好每个项目单独建立一个版本库。
下面我们在/svn/repos目录下创建两个版本库project1和project2
创建project1版本库:

svnadmin create /usr/local/svn/repos/project1

创建project2版本库:

svnadmin create /usr/local/svn/repos/project2

2.3 查看新创建的版本库

使用cd /usr/local/svn/repos命令跳转到目录

cd /usr/local/svn/repos

然后使用ls命令就可以看到新创建的两个版本库如下
CentOS7上svn服务器的搭建(安装+多库权限配置+测试)_第2张图片

分别打开project1和project2可以看到svnadmin创建的版本库的内容
CentOS7上svn服务器的搭建(安装+多库权限配置+测试)_第3张图片

3.版本库配置

3.1 配置文件

打开project1的conf文件夹可看到三个配置文件:
authz(权限配置文件)、passwd(用户及密码配置文件)、svnserve.conf(svn配置文件)
在这里插入图片描述
下面我们要分别对这三个文件进行修改

3.2 修改svnserve.conf

使用vim对svnserve.conf进行编辑

vim svnserve.conf

点击键盘“i”进入编辑模式

将被#注释的有下面5项去掉前面的#

[general]
# anon-access = read 
# auth-access = write   
# password-db = passwd   
# authz-db = authz   
# realm = My First Repository 

并修改为如下

[general]
anon-access = none    #没有登录不能操作
auth-access = write   #登录后可执行写操作
password-db = passwd   #用户密码配置文件所在位置
authz-db = authz   #权限配置文件所在位置
realm = project1   #版本库名称

修改完成后点击键盘“esc”退出编辑模式,再输入:wq保存并退出vim编辑器
CentOS7上svn服务器的搭建(安装+多库权限配置+测试)_第4张图片

3.3 修改passwd文件

使用vim编辑passwd

vim passwd

新增用户zhangsan和lisi,密码都是123456

[users]
zhangsan = 123456
lisi = 123456

保存退出

3.4 修改authz文件

vim打开authz

vim authz

在[groups]下创建组admin,组员有zhangsan和lisi

[groups]
admin = zhangsan,lisi

为[/]设置权限

[/]
@admin = rw   #admin组用户对根目录下所有文件拥有读写权限
* = r   #其他用户只有读权限

保存退出

3.5 多库配置

即多个版本库共用一套配置文件
将/usr/local/svn/repos/project1中的conf文件夹复制到/usr/local/svn/repos

[root@instance-gvhw97el conf]# cp -r /usr/local/svn/repos/project1/conf /usr/local/svn/repos/conf
[root@instance-gvhw97el conf]# cd /usr/local/svn/repos
[root@instance-gvhw97el repos]# ls
conf  project1  project2
[root@instance-gvhw97el repos]# cd conf/
[root@instance-gvhw97el conf]# ls
authz  passwd  svnserve.conf

将svnserve.conf中的

realm = project1

修改为

realm = /svn

将passwd修改,增加wangwu和zhaoliu两个用户

[users]
zhangsan = 123456
lisi = 123456
wangwu = 123456
zhaoliu = 123456

将authz修改为

[groups]
admin = zhangsan,lisi

[/]
@admin = rw

[project1:/]
wangwu = rw

[project2:/]
zhaoliu = rw

4. 启动服务并测试

4.1 查看svn是否已启动

ps aux|grep svnserve

如果有在运行的svn服务,则kill掉
在这里插入图片描述

4.2 启动project1版本库服务

svnserve -d -r /usr/local/svn/repos/project1

4.3 测试

我测试使用的是Win7系统下安装的TortoiseSVN
Win7任意位置新建文件夹,重命名为project1
右击文件夹,点击SVN Checkout…
CentOS7上svn服务器的搭建(安装+多库权限配置+测试)_第5张图片

测试project1的版本库使用URL为 svn://ip:port
用户名zhangsan,密码123456
测试成功

4.4 启动/usr/local/svn/repos下所有版本库服务

先杀掉已启动的project1的svnserve
启动/usr/local/svn/repos目录下所有svn服务,并需指定配置文件位置

svnserve -d -r /usr/local/svn/repos/ --config-file=/usr/local/svn/repos/conf/svnserve.conf

4.5 测试多库

URL格式为 svn://ip:port/project1和svn://ip:port/project2
分别测试zhangsan、lisi、wangwu、zhaoliu的读写权限,符合预期效果,测试成功!

你可能感兴趣的:(Linux,svn,svn)