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 create /data/svn/myrepo
Tips: /data/svn (svn存放目录)可以由你任意指定,myrepo则代表是SVN的一个仓库,也可以由你任意取名,这里我的取名是myrepo。
Step6:查看配置文件并设置
[root@dev4_sys:/data/svn/myrepo/conf]# pwd
/data/svn/myrepo/conf
passwd : 用户名口令文件
[root@dev4_sys:/data/svn/myrepo/conf]# ls
svnserve.conf: svn服务配置文件authz passwd svnserve.conf
三个文件说明:↓
passwd : 用户名口令文件
authz : 权限配置文件
@admin = rw svnserve.conf 文件配置主要有以下 5 项:
anon-access: 控制非鉴权用户访问版本库的权限。
auth-access: 控制鉴权用户访问版本库的权限。
password-db: 指定用户名口令文件名。
authz-db :指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
anon-access: 控制非鉴权用户访问版本库的权限。
auth-access: 控制鉴权用户访问版本库的权限。
password-db: 指定用户名口令文件名。
authz-db :指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
realm :指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件
Tips: 以上五项分配在文件中默认是注释的,在开启SVN服务时,一定要记得把前四项配置(anon-access、auth-access、password-db、authz-db)的注释去掉。
passwd 文件配置:
[users]
[users]
# harry = harryssecret
# sally = sallyssecret
# sally = sallyssecret
will = 123456
test = 654321
test = 654321
Tips: will表示用户名,123456是will用户的密码,test亦如此。
authz 文件中加入以下配置:
[groups]
admin = will
tests = test
tests = test
[/]
* =
@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 表示在后台运行.
-d 表示在后台运行.
-r 指定svn根目录是 /data/svn
2.停止SVN服务
[root@dev4_sys:~]# ps -aux | grep svn
[root@dev4_sys:~]# kill -9 进程ID