SVN笔记-Linux上搭建SVN多仓库环境

SVN笔记-Linux上搭建SVN多仓库环境

1、SVN环境

[root@zsx ~]# svnserve --version
svnserve, version 1.7.14 (r1542130)
   compiled Sep 30 2020, 17:44:04

Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository back-end (FS) modules are available:

* fs_base : Module for working with a Berkeley DB repository.
* fs_fs : Module for working with a plain file (FSFS) repository.

Cyrus SASL authentication is available.
[root@zsx ~]# svn --version
svn, version 1.7.14 (r1542130)
   compiled Sep 30 2020, 17:44:04

Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
  - handles 'http' scheme
  - handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme

2、创建SVN库

2.1 创建svn仓库

[root@zsx ~]# mkdir /home/temp/repositories

因为有多个项目,因此先创建他们的根目录,并分配读写权限:

[root@zsx ~]# chmod -R 777 /home/temp/repositories

2.2 创建多项目

因为大部分公司不可能只有一个项目,因此这里建立多项目,然后再在repositories下建立第一个项目的仓储:

[root@zsx ~]# mkdir /home/temp/repositories/project1
[root@zsx ~]# svnadmin create /home/temp/repositories/project1

查看一下文件信息:

[root@zsx ~]# ll /home/temp/repositories/project1
total 8
drwxr-xr-x. 2 root root  54 Mar 20 10:06 conf
drwxr-sr-x. 6 root root 233 Mar 20 10:06 db
-r--r--r--. 1 root root   2 Mar 20 10:06 format
drwxr-xr-x. 2 root root 231 Mar 20 10:06 hooks
drwxr-xr-x. 2 root root  41 Mar 20 10:06 locks
-rw-r--r--. 1 root root 229 Mar 20 10:06 README.txt

可以查看到多了confdbformathookslocksREADME.txt

然后类似我们建立第二个项目

[root@zsx ~]# mkdir /home/temp/repositories/project2
[root@zsx ~]# svnadmin create /home/temp/repositories/project2
[root@zsx ~]# ll /home/temp/repositories/project2
total 8
drwxr-xr-x. 2 root root  54 Mar 20 10:07 conf
drwxr-sr-x. 6 root root 233 Mar 20 10:07 db
-r--r--r--. 1 root root   2 Mar 20 10:07 format
drwxr-xr-x. 2 root root 231 Mar 20 10:07 hooks
drwxr-xr-x. 2 root root  41 Mar 20 10:07 locks
-rw-r--r--. 1 root root 229 Mar 20 10:07 README.txt

2.3 统一管理多项目

为了控制两个项目的权限,我们将账户密码和授权文件放到项目根目录下。

通过cp命令一次将两个文件移动到根目录下:

[root@zsx repositories]# cp /home/temp/repositories/project1/conf/authz /home/temp/repositories/project1/conf/passwd /home/temp/repositories

[root@zsx repositories]# ll
total 8
-rw-r--r--. 1 root root 1080 Mar 20 10:16 authz
-rw-r--r--. 1 root root  309 Mar 20 10:16 passwd
drwxr-xr-x. 6 root root   86 Mar 20 10:13 project1
drwxr-xr-x. 6 root root   86 Mar 20 10:14 project2

然后分别修改两个项目中/conf/svnserve.conf文件:

[general]
## 未登录不可以访问
anon-access = none
## 授权后可以读写
auth-access = write
## 指定验证文件路径
password-db = /home/temp/repositories/passwd
authz-db = /home/temp/repositories/authz
## 对应项目名称即可
realm = project1
[general]
## 未登录不可以访问
anon-access = none
## 授权后可以读写
auth-access = write
## 指定验证文件路径
password-db = /home/temp/repositories/passwd
authz-db = /home/temp/repositories/authz
## 对应项目名称即可
realm = project2

这样两个项目都依赖父文件夹的authzpasswd了,方便统一授权和管理。

2.4 管理账户密码以及授权

分配账号:

[root@zsx repositories]# vim /home/temp/repositories/passwd

分配所有人的账号:

admin = 123456

管理授权:

[root@zsx repositories]# vim /home/temp/repositories/authz

权限控制:

[groups]

[project1:/]
# admin分配读写权限
# 或者* = rw也可以,给所有人读写权限
admin = rw

[project2:/]
# admin分配读写权限
# 或者* = rw也可以,给所有人读写权限
admin = rw

3、测试启动和检出

启动服务:

[root@zsx repositories]# svnserve -d -r /home/temp/repositories
[root@zsx repositories]# svnserve -d -r /home/temp/repositories --listen-port 3690

检出,客户端通过:

$ svn checkout svn://192.168.60.195/project1 # 检出project1
$ svn checkout svn://192.168.60.195/project2 # 检出project2

至此,svn配置结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值