CentOS搭建SVN服务器-附带权限分配

SVN作为新一代代码版本管理工具,有很多优点,管理方便,逻辑明确,安全性高,代码一致性高。SVN数据存储有两种方式,BDB(事务安全表类型)和FSFS(一种不需要数据库的存储系统),为了避免在服务器连接中断时锁住数据,FSFS是一种更安全也更多人使用的方式。SVN的运行方式也有两种,一种是独立服务器,另一种是借助apache服务,各有利弊,下面就介绍一下这两种方式各自的部署步骤。
 
一.作为独立服务器运行,服务器测试IP:192.168.1.106
 

一.安装subversion

[[email protected] ~]# yum -y  install  subversion
[[email protected] opt]# mkdir -p /opt/svn                  #创建svn目录
[[email protected] opt]# chmod -R 777 /opt/svn              #修改目录权限为777
[[email protected] opt]# svnadmin create /opt/svn/repos    #创建一个svn版本仓库repos (repos 名字自己起)
[[email protected] opt]# cd /opt/svn/repos/conf               #进入repos版本仓库下的配置文件目录

 

二、修改配置信息:

修改此目录下的三个配置文件

(1)svnserve.conf #配置版本库信息和用户文件和用户密码文件的路径、版本库路径

vi svnserve.conf

#填写以下信息
 [general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz   #权限分配文件
realm = repos       #  项目名称
[sasl]

保存退出

 

(2) 修改authz 文件,创建svn组和组用户的权限

vi authz

修改以下:

[group]
repos = test,test1      #创建一个repos的组,并添加2个用户test,test1
users = star 
[/]      #修改根目录下的权限
@repos = rw        #repos组用户的权限为 读写
test = rw          #test 用户的权限为读写
* = r              #其他用户的权限为只读

[repos:/GameBox]
star = rw
[repos:/gamebox_MFC]
star =

#star只能读写GameBox目录 gamebox_MFC目录无权限

(3)passwd 文件  创建或修改用户密码

vi passwd

[users]
test = test    #用户名test的密码为test
test1 =  test1
star = star

保存退出

三.设置开机启动文件

 
1.编辑/etc/rc.local:

[[email protected] ~]# vi /etc/rc.local

文件内容如下(在touch /var/lock/subsys/local下面添加一行)

svnserve    -d  -r  /opt/svn/repos
 
CentOS搭建SVN服务器

四.启动SVN服务

 
1.启动svn服务,svn服务默认端口为3690,可以使用“netstat -netpl”命令查看服务启动是否成功:

[[email protected] ~]# #svnserve  -d  -r  /opt/svn/repos

2.添加防火墙规则,或者关闭防火墙

[[email protected] ~]# vi /etc/sysconfig/iptables

添加以下内容:

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

保存后重启防火墙

[[email protected] ~]# service iptables restart

即可。

如果已经有svn在运行,可以换一个端口运行

svnserve -d -r /opt/svn/repos –listen-port 3391

这样同一台服务器可以运行多个svnserve
 
2.启动成功后就可以使用了
a.建议采用TortoiseSVN, 连接地址为: svn://your server address (如果指定端口需要添加端口  :端口号

CentOS搭建SVN服务器

测试
SVN服务已经启动,使用客户端测试连接。
客户端连接地址:svn://192.168.1.106
用户名/密码: test/test

参考:
http://www.linuxidc.com/Linux/2014-01/95640.htm
http://www.jb51.net/os/RedHat/73031.html

未经允许不得转载:好玩吧 » CentOS搭建SVN服务器-附带权限分配