在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
4.创建一个目录用于存放svn仓库
我这里在用户目录下建了一个名为svn的文件夹
5.在svn文件目录下创建两个版本仓库
svnadmin create /home/svn/yqxs
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用户具有读写权限。如下所示:
passwd文件是用于设置账号密码的。格式如下:
[users]
username=password
username就是你要配置的用户名,password就是用户的密码。我们创建三个用户jiang、jyjadmin,初始密码都配置成123456,密码稍微复杂一点对于安全很重要,如下所示:
最后,在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