CentOS7 安装svn

心不动则不痛 提交于 2020-03-05 05:29:00

 

1. 安装

CentOS通过yum安装subversion。

# yum install subversion

 subversion安装在/bin目录:

# which svnserve #查看目录命令/usr/bin/svnserve

检查一下subversion是否安装成功。不要使用1.8版本

# svnserve --version

svnserve, version 1.7.14 (r1542130)

 

2. 建立版本库

subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改这个默认位置。

# vim /etc/sysconfig/svnserve

文件内容

OPTIONS="-r /var/svn"

可修改

 

使用svnadmin建立版本库svntest。

# mkdir -p /var/svn/kerui //递归创建多个目录

# svnadmin create /var/svn/kerui

 

# ll /var/svn/kerui //查看目录中内容
total 24
drwxr-xr-x 2 root root 4096 Mar  2 14:30 conf
drwxr-sr-x 6 root root 4096 Mar  2 14:30 db
-r--r--r-- 1 root root    2 Mar  2 14:30 format
drwxr-xr-x 2 root root 4096 Mar  2 14:30 hooks
drwxr-xr-x 2 root root 4096 Mar  2 14:30 locks
-rw-r--r-- 1 root root  229 Mar  2 14:30 README.txt

 

3. 配置

cd /var/svn/kerui

a、编辑用户文件passwd,新增两个用户:admin和guest。

# vim conf/passwd
[users]
# harry = harryssecret
# sally = sallyssecret
admin=123456

b、编辑权限文件authz,用户admin设置可读写权限,guest设置只读权限。

# vim conf/authz
[/]
admin=rw

底部增加以上信息

c、编辑svnserve.conf:

# vim conf/svnserve.conf
[general]anon-access = none #控制非鉴权用户访问版本库的权限

auth-access = write #控制鉴权用户访问版本库的权限

password-db = passwd #指定用户名口令文件名

authz-db = authz #指定权限配置文件名

//realm = svntest #指定版本库的认证域,即在登录时提示的认证域名称 //测试不需要

 4. SVN服务

启动SVN服务。

# systemctl start svnserve.service

检查服务是否启动成功。

# ps aux | grep svn

root 16349 0.0 0.1 162180 900 ? Ss 15:01 0:00 /usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid -r /opt/svn

通过netstat可以看到SVN打开了3690端口

# netstat -tnlp

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 16349/svnserve

设置成开机启动。

# systemctl enable svnserve.service

 

5. 更改防火墙设置

大坑,注意阿里云要开相应端口3690

# vim /etc/sysconfig/iptables

添加一下两行 vim操作 yy p

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT

-A OUTPUT -m state –state NEW -m tcp -p tcp –dport 3690 -j ACCEPT //不需要

然后退出编辑,重启防火墙

查看 

# iptables -L -n

# service iptables restart //这是centOS6 的命令

# /bin/systemctl restart iptables.service

6. 客户端测试

客户端可以通过TortoriseSVN测试。

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!