Linux下搭建SVN方法详解

2018-09-01 12:27:00
小熊
原创
10181
摘要:本文主要和大家探讨如何在Linux 系统下搭建SVN服务器和一些常见问题解决方法。

前一段时间,由于开发服务器迁移,新的开发任务也需要在线调试,因此需要在新的服务器上面安装SVN,小熊安装过好几回SVN,每次或多或少都会遇到一些小问题,后来想了想,不管什么事,都需要多总结多记录,否者很容易遗忘导致犯重复错误。

在Linux系统上,使用yum安装软件是非常简单快捷的。所以,我们选择使用yum来安装。

一、yum命令安装snv。

yum install subversion

二、配置仓库

我们在home目录下创建一个名为svn的仓库。

cd /home
mkdir svn
svnadmin create /home/svn

通过ll命令查看仓库目录,如下。

ll

接下来我们进入conf文件夹,来配置我们的SVN。

cd svn
ll

我们通过上面的截图,能看三个文件。

authz ------是权限控制文件。

passwd------是帐号密码文件。

svnserve.conf--SVN服务配置文件。

  1. 打开passwd文件,创建账户。


    vi passwd

    格式为:

    [users]
    用户名 = 密码 
     例:
    [users] 
    xiong =  xiong


2.打开authz文件,配置账户权限。

vi authz

配置账号权限

配置权限有两种形式:

①.按用户分配。

[/]
xiong = rw
test = r
*=

上面的含义是:

[/]代表svn的根目录,在svn根目录下,xiong 这个用户可读可写,test用户只读,其他用户没任何权限。

②.按用户组分配权限。

[groups]
admin = xiong,zhang
test  = li
[/]
@admin = rw
@test = r
*=

上面的含义是:

[<版本库>:/项目/目录]
@<用户组名> = <权限>

3.配置svnserve.conf文件。

 vi svnserve.conf

打开下面5个注释。

anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/svn # 认证空间名,版本库所在目录,根据自己安装实际目录填写。

特别注意:

打开注释前面不能留空格,否者会报错,亲测,如果不注意,你会死的很惨。(错都不知道错在哪。)

到这里,Linux下svn搭建与配置已经完成了。

三、服务的启动与停止

svnserve -d -r /home/svn(启动)
killall svnserve(停止)

上述启动命令中,-d 表示守护进程, -r 表示在后台执行。停止还可以采用杀死进程的方式:

ps -ef|grep svnserve

kill -9 14917

四、客户端连接

特别注意:

SVN默认监听的是3690端口,一定要保证服务器防火墙开放3690端口,否者会报错连接不上。如果你更改了端口,连接时需要加上端口号。

开放3690端口号方式为:

iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
service iptables save #保存iptables规则

如果上述命令报出: iptables:Index of insertion too big. 去掉上面的4就行了。

iptables -I INPUT  -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT


这里使用TortoiseSVN,输入地址svn://你的IP/项目 即可,不出意外输入用户名和密码就能连接成功了。



文章分类
联系我们
联系人: 小熊
电话: 18037578880
Email: admin@cnsite.org
QQ: 929410000
微信: itseor
微博: itseoer
网址: www.beatmoon.com