centos7搭建svn服务器

Published on with 84 views

01.下载安装

yum -y install subversion

安装完以后,可以输入

svnserve --version

查看svn版本,能看到版本即代表下载安装完成。

查看安装目录命令: which svnserve

02.创建版本库

由于我这里要创建三个版本库,所以要建三个文件

mkdir -p /data/svn/01
mkdir -p /data/svn/02
mkdir -p /data/svn/03
svnadmin create /data/svn/01
svnadmin create /data/svn/02
svnadmin create /data/svn/03

执行命令后svn会在三个目录下面都生成如下文件

image

以下为目录说明:

  • hooks目录:放置hook脚本文件的目录
  • locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
  • format目录:是一个文本文件,里边只放了一个整数,表示当前文件库配置的版本号
  • conf目录:是这个仓库配置文件(仓库用户访问账户,权限)


其中conf文件夹下有几个配置的重要文件,分别如下

svnserve.conf           //svn服务配置文件
authz                   //权限控制配置文件
passwd                  //用户名口令文件

由于在这里我们有三个版本库,所以把authz与passwd拷贝到/data/svn下进行统一的配置

image(后期又建了一个root库)

下面开始进行版本库的配置步骤:

  •  1.配置SVN服务的配置文件svnserver.conf

打开 /data/svn/01/conf/svnserve.conf的配置文件

vim /data/svn/01/conf/svnserve.conf

修改如下配置信息

[general]
//匿名访问的权限,可以是read、write、none,默认为read,我这里是私人版本库,所以设置为none
anon-access=none
//使授权用户有写权限,参数也是如上3个
auth-access=write
//使用哪个文件作为账号文件,这里统一由/data/svn/passwd进行配置
password-db= /data/svn/passwd
//使用哪个文件作为权限文件,这里统一由/data/svn/authz进行配置
authz-db=/data/svn/authz
//认证命名空间,说白了就是版本库的所在目录,后期连接时可以使用(svn://ip/01)
realm=01

版本库02与03也需要进行相同的配置,步骤与上一样,这里就不重复

  •  2.配置授权文件


    打开 /data/svn/authz进行配置
vim /data/svn/authz

在[groups]中添加:

01 = jie    ## 创建01组,组成员为:jie
02 = xiaoyao
03 = huangtao
# 可以为一个用户组创建多个成员,命令:01 = jie,wang

[01:/]    ## 库目录权限
@01 = rw   ## 01组有读写的权限
* =        ## 非用户组权限,这里设置除了用户组都对版本库没有任何权限

[02:/]
@02 = rw 

[03:/]
@03 = rw 
  •  3.配置访问用户及密码

    打开 /data/svn/passwd进行配置
vim /data/svn/passwd

配置如下

[users]
# harry = harryssecret
# sally = sallyssecret
# 用户名 = 密码
jie = 000000
xiaoyao = 123456
huangtao = 654321

03.启动SVN服务

启动:

sudo systemctl start svnserve.service

检查服务是否启动成功

ps aux | grep svn

设置成开机启动

sudo systemctl enable svnserve.service

04.客户端测试

windows下可以下载使用TortoiseSVN,非常好用的一款svn工具


svn连接url:
* svn://ip/01
* svn://域名/01

Responses