centos7部署svn服务器并开启多个仓库(统一配置)

首先,下载subversion。

yum install subversion

我们可以查看一下svn服务的版本。

 svnserve --version

然后可以准备一个位置进行保存svn项目,并做统一化管理。

[root@VM_0_7_centos /]# mkdir application
[root@VM_0_7_centos /]# mkdir /application/data
[root@VM_0_7_centos /]# mkdir /application/conf
//因为是测试学习,所以我给了所有的权限。实际使用因为降低权限.
[root@VM_0_7_centos /]# cd application/
[root@VM_0_7_centos application]# ll
total 8
drwxrwxrwx 2 root root 4096 Nov  7 21:01 conf
drwxrwxrwx 2 root root 4096 Nov  7 21:01 data
[root@VM_0_7_centos application]# 

创建一个仓库。svnadmin create  projectName 命令。

//命令行是svnamdin create projectName
//实例中 jen_boot就是一个项目名。

[root@VM_0_7_centos data]# svnadmin create jen_boot

其中conf是仓库的参数配置,hooks是项目的钩子计划配置。

先将conf中的authz,passwd,svnserve.conf复制到前面的conf文件夹中。

[root@VM_0_7_centos jen_boot]# cd conf/
[root@VM_0_7_centos conf]# ll
total 12
-rw-r--r-- 1 root root 1080 Nov  7 21:05 authz
-rw-r--r-- 1 root root  309 Nov  7 21:05 passwd
-rw-r--r-- 1 root root 3090 Nov  7 21:05 svnserve.conf
[root@VM_0_7_centos conf]# cd ../
[root@VM_0_7_centos jen_boot]# cp conf/* /application/conf/
[root@VM_0_7_centos jen_boot]# cd ../../conf/
[root@VM_0_7_centos conf]# ll
total 12
-rw-r--r-- 1 root root 1080 Nov  7 21:10 authz
-rw-r--r-- 1 root root  309 Nov  7 21:10 passwd
-rw-r--r-- 1 root root 3090 Nov  7 21:10 svnserve.conf

然后对passwd进行配置,这个是配置用户和密码。

然后配置用户权限文件authz。

//配置单个项目,也可以使用url进行部分文件的配置。
[jen_boot:/]
//matthew用户有读写权限
//其余用户没有权限
matthew = rw
* =

然后修改svnserve.conf。

[general]
###注释.....
anon-access = none
###注释.....
auth-access = write
###注释.....
password-db = passwd
###注释.....
authz-db = authz

启动svn。

//启动不是到具体的仓库,而是仓库的上一层。
//使用--config-file=**实现指定对应的配置文件。
 svnserve -d -r /application/data/ --config-file=/application/conf/svnserve.conf

现在开始测试。

至此,svn多仓库服务就部署成功了,后面对用户和权限的管理只需要个性化就行了。

配置开机自启动。

vim /etc/sysconfig/svnserve


# OPTIONS is used to pass command-line arguments to svnserve.
# 
# Specify the repository location in -r parameter:
OPTIONS="-r /var/svn"
~                                                                             
~                                                                             
~                                   

将OPTIONS="-r /var/svn"改成自己项目的位置就行了。

总结:

    svn的部署其实很简单,只是我们要注意项目的多仓库统一配置应该考虑使用统一的svnserve.conf不然就要使用多个端口进行监听,得不偿失。

    使用一个文件的配置就应该使用--config-file对文件进行指定。很多很简单学习真的是亲自动手,经验决定了难度啊。加油!

猜你喜欢

转载自blog.csdn.net/mathew_leung/article/details/102962781