CentOS7之SVN服务配置

操作系统:CentOS Linux release 7.2.1511 (Core)    Subversion软件版本:subversion-1.7.14-10.el7.x86_64

1.首先检查svn软件是否已经安装:

[root@baidu ~]# rpm -qa subversion
subversion-1.7.14-10.el7.x86_64

2.若没有如上结果,则需要执行下面命令进行安装:

[root@baidu ~]# yum -y install subversion
注意:yum安装rpm包安装后本地不清除的方法:
[root@baidu ~]# sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf
[root@baidu ~]# grep keepcache /etc/yum.conf
keepcache=1 //rpm包下载后不清除

3.配置并启动SVN服务 

建立SVN 版本库数据存储根目录(svndata)及用户、密码权限目录(svnpassword)

[root@baidu ~]# mkdir -p /application/svndata
[root@baidu ~]# mkdir -p /application/svnpasswd

启动SVN服务指定服务的SVN根目录

[root@baidu ~]# svnserve -d -r /application/svndata/
提示:1.后面可加pid的参数,本文就忽略不加;
   2.可以使用svnserver --help查看帮助参数

4.查看svn进程以及使用的端口

[root@baidu ~]# ps -ef | grep svn
root 38815 1 0 15:51 ? 00:00:00 svnserve -d -r /application/svndata/
root 38873 38311 0 15:57 pts/0 00:00:00 grep --color=auto svn
[root@baidu ~]# netstat -lntup | grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 38815/svnserve
[root@baidu ~]# lsof -i :3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 38815 root 3u IPv4 230392 0t0 TCP *:svn (LISTEN)

5.创建项目版本库 
创建一个新的subversion项目sadoc:

[root@baidu ~]# svnadmin create /application/svndata/sadoc
[root@baidu ~]# ll /application/svndata/sadoc/
总用量 16
drwxr-xr-x. 2 root root 51 3月 20 16:09 conf
drwxr-sr-x. 6 root root 4096 3月 20 16:09 db
-r--r--r--. 1 root root 2 3月 20 16:09 format
drwxr-xr-x. 2 root root 4096 3月 20 16:09 hooks
drwxr-xr-x. 2 root root 39 3月 20 16:09 locks
-rw-r--r--. 1 root root 229 3月 20 16:09 README.txt

6.调整SVN配置文件及权限文件,记住备份配置文件,再进行操作

[root@baidu conf]# cd /application/svndata/sadoc/conf/
[root@baidu conf]# ll
总用量 12
-rw-r--r--. 1 root root 1080 3月 20 16:09 authz
-rw-r--r--. 1 root root 309 3月 20 16:09 passwd
-rw-r--r--. 1 root root 3090 3月 20 16:09 svnserve.conf

更改svn配置文件,如下:

[root@baidu conf]# vim svnserve.conf
[root@baidu conf]# diff svnserve.conf.ori svnserve.conf
19,20c19,20
< # anon-access = read
< # auth-access = write
---
> anon-access = none
> auth-access = write
27c27
< # password-db = passwd
---
> password-db = /application/svnpasswd/passwd
34c34
< # authz-db = authz
---

7.配置passwd和auth文件

[root@baidu conf]# cp passwd authz /application/svnpasswd/
[root@baidu conf]# ll /application/svnpasswd/
总用量 8
-rw-r--r--. 1 root root 1080 3月 20 16:24 authz
-rw-r--r--. 1 root root 309 3月 20 16:24 passwd
[root@baidu svnpasswd]# chmod 700 *
[root@baidu svnpasswd]# ll
总用量 8
-rwx------. 1 root root 1080 3月 20 16:24 authz
-rwx------. 1 root root 309 3月 20 16:24 passwd

修改passwd和authz文件并新建用户与密码

[root@baidu svnpasswd]# vim passwd
[users]
bob = bob123
sunwukong = sunwukong123
[root@baidu svnpasswd]# vim authz
sagroup = bob,sunwukong
[sadoc:/]
sunwukong = r
bob = rw
@sagroup = r

版本库目录格式: 
[<版本库>:/项目/目录] 

<用户组名> = <权限> 
<用户名> = <权限>

注意: 
*权限配置文件中出现的用户名必须已在用户配置文件中定义 
*对权限配置文件的修改立即生效,不必重启svn

8.配置完成后,关闭svn服务并重新启动svn。

[root@baidu sadoc]# pkill svnserve
[root@baidu sadoc]# svnserve -d -r /application/svndata/
[root@baidu sadoc]# ps -ef | grep svn
root 40486 1 0 17:23 ? 00:00:00 svnserve -d -r /application/svndata/
root 40488 40222 0 17:23 pts/1 00:00:00 grep --color=auto svn

9.效果测试: 
Windows:TortoiseSVN 
Linux:使用svn help查看svn的帮助文档 
同步SVN服务器数据到本地:

[root@baidu svndata]# svn co svn://192.168.1.133/sadoc /svndata/ --username=bob --password=bob123
原文地址:https://www.cnblogs.com/bob-yanlibo/p/8611725.html