linux系统下搭建svn服务

安装步骤如下:

1、yum install subversion

2、输入rpm -ql subversion查看安装位置,如下图:

可以看到 svn在bin目录下生成了几个二进制文件。

再输入/usr/bin/svnversion --version 就可以查看svn的版本,这样就说明svn安装成功,如下图:

3、创建svn版本库目录 

 mkdir -p /var/svn/svnrepos

4、创建版本库

svnadmin create /var/svn/svnrepos

执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件

5、进入conf目录(该svn版本库配置文件)

authz文件是权限控制文件

passwd是帐号密码文件

svnserve.conf SVN服务配置文件

6、设置帐号密码

vi passwd

在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan

7、设置权限

vi authz

在末尾添加如下代码:

[/]

dan=rw

w=r

意思是版本库的根目录dan对其有读写权限,w只有读权限。

8、修改svnserve.conf文件

vi svnserve.conf

打开下面的几个注释:

anon-access = read #匿名用户可读

auth-access = write #授权用户可写

password-db = passwd #使用哪个文件作为账号文件

authz-db = authz #使用哪个文件作为权限文件

realm = /var/svn/svnrepos # 认证空间名,版本库所在目录

9、启动svn版本库

svnserve -d -r /var/svn/svnrepos

 

10、常见问题

配置完成后可以尝试用客户端访问下,访问地址如:

svn://192.168.1.1:3690/test

可能出现无法连接或无法访问服务器的问题,多半是防火墙导致的浏览器访问svn路径是可能提示这样的信息:

( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entries commit-revprops depth log-revprops partial-replay ) ) )

下面我们修改防火墙设置

编辑防火墙端口

vi /etc/sysconfig/iptables 此路径有可能是:/etc/sysconfig/iptables-config 根据系统版本有所不同

添加如下内容:-A INPUT -m state –state NEW -m tcp -p tcp –dport 3690 -j ACCEPT

 

卸载subversion

直接执行 yum remove subversion

就可以完成subversion的卸载

killall svnserve 杀掉所有svn进程

 

 

svnserve -d -r /opt/svn/repos 启动svn。

默认的启动svn服务,系统默认开启的端口为3690,当你启动第二个版本库时还是开启3690,所以就冲突了。
svnserve -d -r /mnt/westos --listen-port 3691启动监听(给svn创建多个端口)

netstat -antple | grep svn查看svn服务

posted @ 2017-05-31 15:23  Hi~拇指  阅读(534)  评论(0编辑  收藏  举报