我是靠谱客的博主 美满冬日,这篇文章主要介绍CentOS7上svn服务器的搭建(安装+多库权限配置+测试),现在分享给大家,希望可以做个参考。

1. 安装subversion

1.1 查看是否已安装

复制代码
1
2
svnserve --version

1.2 使用yum安装

复制代码
1
2
yum install subversion

1.3 测试是否安装成功

复制代码
1
2
svnserve --version

安装成功会显示版本信息如下
在这里插入图片描述

2.创建版本库

2.1 创建目录文件夹

复制代码
1
2
mkdir -p /usr/local/svn/repos

2.2 创建版本库

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

复制代码
1
2
svnadmin create /usr/local/svn/repos/project1

创建project2版本库:

复制代码
1
2
svnadmin create /usr/local/svn/repos/project2

2.3 查看新创建的版本库

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

复制代码
1
2
cd /usr/local/svn/repos

然后使用ls命令就可以看到新创建的两个版本库如下
在这里插入图片描述

分别打开project1和project2可以看到svnadmin创建的版本库的内容
在这里插入图片描述

3.版本库配置

3.1 配置文件

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

3.2 修改svnserve.conf

使用vim对svnserve.conf进行编辑

复制代码
1
2
vim svnserve.conf

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

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

复制代码
1
2
3
4
5
6
7
[general] # anon-access = read # auth-access = write # password-db = passwd # authz-db = authz # realm = My First Repository

并修改为如下

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

修改完成后点击键盘“esc”退出编辑模式,再输入:wq保存并退出vim编辑器
在这里插入图片描述

3.3 修改passwd文件

使用vim编辑passwd

复制代码
1
2
vim passwd

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

复制代码
1
2
3
4
[users] zhangsan = 123456 lisi = 123456

保存退出

3.4 修改authz文件

vim打开authz

复制代码
1
2
vim authz

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

复制代码
1
2
3
[groups] admin = zhangsan,lisi

为[/]设置权限

复制代码
1
2
3
4
[/] @admin = rw #admin组用户对根目录下所有文件拥有读写权限 * = r #其他用户只有读权限

保存退出

3.5 多库配置

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

复制代码
1
2
3
4
5
6
7
8
[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中的

复制代码
1
2
realm = project1

修改为

复制代码
1
2
realm = /svn

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

复制代码
1
2
3
4
5
6
[users] zhangsan = 123456 lisi = 123456 wangwu = 123456 zhaoliu = 123456

将authz修改为

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
[groups] admin = zhangsan,lisi [/] @admin = rw [project1:/] wangwu = rw [project2:/] zhaoliu = rw

4. 启动服务并测试

4.1 查看svn是否已启动

复制代码
1
2
ps aux|grep svnserve

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

4.2 启动project1版本库服务

复制代码
1
2
svnserve -d -r /usr/local/svn/repos/project1

4.3 测试

我测试使用的是Win7系统下安装的TortoiseSVN
Win7任意位置新建文件夹,重命名为project1
右击文件夹,点击SVN Checkout…
在这里插入图片描述

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

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

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

复制代码
1
2
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的读写权限,符合预期效果,测试成功!

最后

以上就是美满冬日最近收集整理的关于CentOS7上svn服务器的搭建(安装+多库权限配置+测试)的全部内容,更多相关CentOS7上svn服务器内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(89)

评论列表共有 0 条评论

立即
投稿
返回
顶部