首页 > 代码库 > linux SVN 服务搭建

linux SVN 服务搭建

SVN 客户端下载地址http://tortoisesvn.net/downloads.html

Tips: 如果使用的是CenteOS 或 RedHat 请使用yum命令,其它如Debian、Ubuntu 就请使用apt-get命令。这里使用yum。
使用RPM软件包管理,检查SVN是否已存在。

Step1:检查
[root@dev4_sys:~]# rpm -qa subversion 
Tips: 如果没有列出相关信息,就说明系统并没有安装SVN,那接下来就进行安装.

Step2:搜索
[root@dev4_sys:~]# yum search subversion
Tips: 首先download yum远程服务器软件包列表,找出subversion的相关软件包名称(注意:软件包一定要与你当前系统匹配才可以).
由于我的linux是64位操作系统,所以我找到一条符合我的软件包名称:subversion.x86_64
 
Step3:安装
[root@dev4_sys:~]# yum install subversion.x86_64
Tips: 这里进行自动下载SVN软件包,并安装到系统指定目录中。遇到提示输入:y 即可。

Step4:检测成功与否
[root@dev4_sys:~]# svnserve --version
Tips:验证安装版本是否成功。

Step5:创建SVN版本仓库
[root@dev4_sys:~]# mkdir -p /data/svn
[root@dev4_sys:~]# svnadmin /data/svn/myrepo
Tips: /data/svn (svn存放目录)可以由你任意指定,myrepo则代表是SVN的一个仓库,也可以由你任意取名,这里我的取名是myrepo。

Step6:查看配置文件并设置
[root@dev4_sys:/data/svn/myrepo/conf]# pwd
/data/svn/myrepo/conf
[root@dev4_sys:/data/svn/myrepo/conf]# ls
authz  passwd  svnserve.conf
三个文件说明:↓
svnserve.conf: svn服务配置文件
passwd       : 用户名口令文件
authz        : 权限配置文件

svnserve.conf 文件配置主要有以下 5 项:
    anon-access: 控制非鉴权用户访问版本库的权限。
    auth-access: 控制鉴权用户访问版本库的权限。
    password-db: 指定用户名口令文件名。
    authz-db :指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
    realm    :指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件
Tips: 以上五项分配在文件中默认是注释的,在开启SVN服务时,一定要记得把前四项配置(anon-access、auth-access、password-db、authz-db)的注释去掉。

passwd 文件配置:
[users]

# harry = harryssecret
# sally = sallyssecret
will = 123456
test = 654321
Tips: will表示用户名,123456是will用户的密码,test亦如此。
 
authz 文件中加入以下配置:
[groups] 
admin = will 
tests = test
[/] 
* = 
@admin = rw  
@tests = r
Tips: 我们将用户放入群组中,以方便使用和管理。在这里,will和test 分别放入admin组和tests组中。
这里 [/] 对应的是/data/svn/目录下的所有仓库,只有admin组里的用户可以进行读、写,tests组中的用户只具有读权限,其它人没有权限。

启动和停止SVN服务
1.启动SVN服务
[root@dev4_sys:/data/svn/myrepo/conf]# svnserve -d -r /data/svn
-d 表示在后台运行.

-r 指定svn根目录是 /data/svn

 

2.停止SVN服务

[root@dev4_sys:~]# ps -aux | grep svn

[root@dev4_sys:~]# kill -9 进程ID