vlambda博客
学习文章列表

在Linux中搭建SVN服务器

安装基于centerOS 7


1.首先检查一下是否已经安装过svn

打开终端执行:svn --version
未安装不显示内容


2.在Linux平台上,SVN的软件包名称是subversion,我们使用命令:

yum list | grep subversion

查看一下,可以看到,在我们配置的163的yum源上有这个安装包。


3.采用yum指令安装svn

yum install subversion(注意:需要root权限才可以)


安装完成后再查看svn --version

在Linux中搭建SVN服务器


4.创建一个目录用于存放svn仓库

我这里在用户目录下建了一个名为svn的文件夹

在Linux中搭建SVN服务器

5.在svn文件目录下创建两个版本仓库

svnadmin create /home/svn/yqxs

在Linux中搭建SVN服务器

6.创建完仓库后需要进行仓库的用户配置和权限配置等

打开上面的conf目录,有authz, passwd , svnserve.conf三个配置文件

authz用来配置权限和群组的,配置群组的格式是:

[groups]

群组别名=user1,user2,user3..

群组别名指的是为你的群组取得名字,例如develpment,开发组。

配置权限的格式是:

[/path/to/dir]

user1 = r

user2 = rw

@group1 = rw

user1,user2表示用户,@group1表示某个群组的命令。根据这样的格式,配置一个开发组dev,把jiang、jyjadmin都加入到开发组dev里去,让开发组dev对项目具有读权限,manager用户具有读写权限。如下所示:

在Linux中搭建SVN服务器


passwd文件是用于设置账号密码的。格式如下:

[users]

username=password

username就是你要配置的用户名,password就是用户的密码。我们创建三个用户jiang、jyjadmin,初始密码都配置成123456,密码稍微复杂一点对于安全很重要,如下所示:

在Linux中搭建SVN服务器


最后,在svnserve.conf文件里将前面配置好的两个文件关联起来。

打开svnserve.conf文件,将下面图中红框中圈出来选项全都去掉注释,同时去掉注释后面的那个空格,否则会出错。

anon-access = read 表示匿名用户允许读

auth-access = write 表示认证用于允许写

password-db = passwd 表示使用passwd文件来进行账号密码认证

authz-db = authz 表示使用authz文件用户权限认证

realm = /svn 表示将/svn目录做为SVN服务器的工作目录。

至此权限和用户都配置完毕,启动SVN服务器后


防火墙上放行SVN服务器的3690端口
因本机使用是CentOS 7 firewall防火墙

# 查询端口是否开放
firewall-cmd --query-port=3691/tcp
# 开放3691端口
firewall-cmd --permanent --add-port=3691/tcp

//备用firewall-cmd --zone= public --query-port=3691/tcp

然后重启防火墙,systemctl restart firewalld


7.配置文件设置完后就可以启动svn服务了

svnserve -d -r /home/svn/

查看启动服务的状态,出现下图代表成功启动了svn服务

ps aux | grep svn