CentOS7搭建SVN服务器

CentOS7搭建SVN服务器步骤如下:

安装

1、CentOS系统通过yum安装subversion:

# yum -y install subversion

2、验证svnserve是否安装成功:

# svnserve –version

创建版本库

3、修改svnserve数据源目录为/opt/svn(默认目录:/var/run),可忽略此步骤

# vi /etc/sysconfig/svnserve
修改OPTIONS=”-r /var/svn”,为OPTIONS=”-r /opt/svn”

4、创建svnserve版本库目录,并创建版本库,此处只创建单版本库:

# mkdir -p /work/svn
# svnadmin create /work/svn —/work/svn目录下生成版本库相关配置文件

配置

5、修改svnserve综合配置文件svnserve.conf:

# vi /work/svn/conf/svnserve.conf

svnserve.conf文件需要修改的重要内容:
# anon-access = read —非授权用户操作权限
# auth-access = write —授权用户操作权限
# password-db = passwd —用户配置文件
# authz-db = authz —权限配置文件
# realm = /work/svn —svn连接提示信息

注意: 去掉注释#以及空格,配置内容置于行首,使配置生效

6、修改用户配置文件passwd,增加svnserve授权用户:

# vi /work/svn/conf/passwd

增加svnserve授权用户:
user1 = user1
user2 = user2
admin = admin

7、修改权限配置文件authz,配置权限:

# vi /work/svn/conf/authz

[groups] —权限群组设置:
user_group = user1,user2

[/trunk] —为/work/svn版本库的/trunk目录设置权限:
@user_group = r —群组权限,需要加@来表示是群组权限
admin = rw —个人权限

[/] —为/work/svn版本库的根目录设置权限:
@user_group = r —群组权限,需要加@来表示是群组权限
admin = rw —个人权限
**注意:**svn客户端认证失败,原因:用户对版本库目录权限设置有误

验证svn

8、启动、停止svnserve:

启动:
# svnserve -d -r /work/svn
查看svn进程:
# ps -aux | grep svn
杀掉svn进程:
kill -9 pid
通过netstat查看svn是否打开3690端口
netstat -tnlp

注意:由于版本库地址为/work/svn,svnserve进程目录也为/work/svn,因此svn客户端连接为svn://ip。若svnserve进程目录为/work(即svnserve -d -r /work),则svn客户端连接地址为svn://ip/svn。

9、svn客户端测试连接

在svn客户端主机使用dos命令,输入:telnet ip 3690验证是否能连接到svn服务器 3690端口,连接不上,则需在服务器排查原因:

  1. 在服务器查看svn是否打开3690端口netstat -tnlp,若未打开请打开。
  2. 查看服务器ip是否开放3690外网访问,若未开放请开放。
  3. 查看服务器防火墙端口配置是否有telnet服务和3690端口,输入firewall-cmd –list-all,查看是否有telnet和3690端口,若没有,输入:
    firewall-cmd –permanent –add-service=telnet
    firewall-cmd –permanent –add-port=3690/tcp
    firewall-cmd –reload —打开防火墙telnet服务和3690端口。

svn客户端主机使用dos命令重新输入telnet ip 3690即可连接上服务器3690端口
最后,使用svn客户端check out svn服务器版本库即可,地址svn://ip(此地址需要根据svn服务器启动目录以及版本库目录而定,启动svnserve服务器有说明)