Linux下的SVN服务器搭建

Linux下的SVN服务器搭建


首先感谢您的阅读!本片文章是为了自己和他人下次安装的时候不走弯路,会尽量把安装中出现的问题全部记录下来。后面遇到问题也会更新上来。这里演示使用的系统是centOS 7。下面开始本次的安装指南。

本文参考于博客园AaronDong的文章,地址:https://www.cnblogs.com/Lixuwu/p/6087023.html

1、通过yum命令安装svnservice

>yum -y install subversion

此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行
我在安装时,出现“另一个应用程序是 packagekit”,yum被packagekit占用,把/etc/yum/pluginconf.d/refresh-packagekit.conf改为如下:enabled=0 然后重启linux系统设置生效。

shutdown -r now 重启lniux系统计算机 或者 reboot 重启lniux系统计算机

查看svn安装位置:

>rpm -ql subversion

2、创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)
选择在var路径下创建版本库,当前处于根目录下,一次性创建如下:

>mkdir /var/svn/svnrepos

3、创建svn版本库
在第二步建立的路径基础上,创建版本库,命令如下:

>svnadmin create /var/svn/svnrepos/xxxx   (xxxx为你自定义的预期版本库名称)

创建成功后,进入xxx目录下

>cd /var/svn/svnrepos/xxxx

进入目录,可以看见如下文件信息:

conf db format hooks locks README.txt

4、配置修改
进入上一步创建好的xxxx版本库目录下
进入conf

>cd /var/svn/svnrepos/xxxx/conf

conf目录下,一共存放三份重要的配置文件:

[[email protected] conf]# ls
authz passwd svnserver.conf

authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件
authz文件修改如下:

>vi authz

在文件内容的末尾添加:

[\]
账号1 = rw
账号2 = rw

rw表示赋予此账号可读写的权限,请注意[]中的斜杠,一定是反斜杠,有些教程说,需添加版本库名称在括号内,我直接建议就这写,这样写允许访问的权限更大,避免一些错误
修改passwd文件信息

>vi passwd

账号密码文件无需做修改,也是直接将账号和密码信息追加到文件中即可,注意格式为:
账号 = 密码
例如:admin = 123456
修改svnserve.conf(重要)
vi svnserve.conf
原始文件内容,都被注释掉的,我们只需要去掉4条指定内容前注释即可,如下:
Linux下的SVN服务器搭建
5、防火墙开启
多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题,大家按照如下3条命令逐一执行即可

>/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
>/etc/init.d/iptables save
>service iptables restart

注意,在我执行">/etc/init.d/iptables save"出现

bash: /etc/init.d/iptables: 没有那个文件或目录

需要使用下面的命令来恢复,同时解决iptables开机启动的问题:

>yum install iptables-services -y
>systemctl enable iptables

这样,iptables服务会开机启动,自动从/etc/sysconfig/iptables文件导入规则
为了让"/etc/init.d/iptables save"这条命令生效,需要

>cp /usr/libexec/iptables/iptables.init /etc/init.d/iptables /etc/init.d/iptables save

6、启动svn服务器
在根目录下,执行如下命令

>svnserve -d -r /var/svn/svnrepos

启动成功后,可用"ps -aux"查看服务启动是否成功
7、客户端访问svn服务器
在windows客户端,输入地址:svn://ip地址:3690/xxxx (ip地址为你的Linux的ip,xxxx为前文创建的版本库名称,3690为svn默认端口)
弹出输入用户名和密码,输入即可访问。