注:以下知识受老男孩老师指导1:安装配置svn服务

1.1 准备操作系统并查看系统环境

[root@qinlaozhifu1 ~]# cat /etc/redhat-release

CentOS release 6.5 (Final)

[root@qinlaozhifu1 ~]# uname -m  显示电脑类型

x86_64 

[root@qinlaozhifu1 ~]# uname -r   显示操作系统的发行编号

2.6.32-573.22.1.el6.x86_64

 

 

1.2 安装svn (subversion)

1.2.1 首先检查svn软件程序是否已安装

[root@qinlaozhifu1 ~]# rpm -qa subversion

subversion-1.6.11-10.el6_5.x86_64

如果没有以上结果需要

yum install -y subversion

如果需要保留这个软件,本地不清除

[root@qinlaozhifu1 ~]# sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf  

[root@qinlaozhifu1 ~]# grep keepcache /etc/yum.conf

keepcache=1  //rpm包下载后不清除

1.2.1 配置并启动svn

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

[root@qinlaozhifu1 ~]# mkdir -p /application/svndata   数据存储的根目录

[root@qinlaozhifu1 ~]# mkdir -p /application/svnpasswd 用户及密码的权限目录

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

[root@qinlaozhifu1 ~]# svnserve -d -r /application/svndata/

查看svn进程

[root@qinlaozhifu1 ~]# ps -ef|grep svn|grep -v grep

root      7657     1  0 13:52 ?        00:00:00 svnserve -d -r /application/svndata/

检测svn端口

[root@qinlaozhifu1 ~]# netstat -lntup|grep 3690

tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      7657/svnserve       

[root@qinlaozhifu1 ~]# netstat -lntup|grep svn

tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      7657/svnserve       

[root@qinlaozhifu1 ~]# lsof -i:3690

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

svnserve 7657 root    3u  IPv4  70547      0t0  TCP *:svn (LISTEN)

 

查看svnserver命令帮助,了解相关的启动参数

[root@qinlaozhifu1 ~]# svnserve --help

Valid options:

-d [--daemon]            : daemon mode       守护进程模式

-r [--root] ARG          : root of directory to serve指定存储的根目录

--pid-file ARG           : write server process ID to file ARG 存放进程号,

1.3 建立项目版本库

   创建一个新的subversion项目sadoc,其实,类似sadoc这样的项目可以创建多个,没个项目对应不同的代码,这里只是以创建一个项目为例演示:

  svnadmin --help  查看命令帮助

[root@qinlaozhifu1 ~]# svnadmin create /application/svndata/sadoc 在版本库下面创建项目

[root@qinlaozhifu1 ~]# ll /application/svndata

total 4

drwxr-xr-x 6 root root 4096 Dec 25 14:03 sadoc

 

1.4调整svn配置文件及权限文件

  [root@qinlaozhifu1 ~]# cd /application/svndata/sadoc/conf/

[root@qinlaozhifu1 conf]# ll

total 12

-rw-r--r-- 1 root root 1080 Dec 25 14:03 authz         权限的管理文件

-rw-r--r-- 1 root root  309 Dec 25 14:03 passwd       用户和密码文件

-rw-r--r-- 1 root root 2279 Dec 25 14:03 svnserve.conf  主配置文件(包含上面两个文件)

[root@qinlaozhifu1 conf]# cp svnserve.conf svnserve.conf.ori 修改前备份

比较我们修改的内容

[root@qinlaozhifu1 conf]# diff svnserve.conf.ori svnserve.conf

12,13c12,13

< # anon-access = read

< # auth-access = write

> anon-access = none

> auth-access = write

20c20

< # password-db = passwd

> password-db = /application/svnpasswd/passwd

27c27

< # authz-db = authz

> authz-db = /application/svnpasswd/authz

 

修改以后查看一下

[root@qinlaozhifu1 conf]# egrep "\-access|\-db =" svnserve.conf

anon-access = none

auth-access = write

password-db = /application/svnpasswd/passwd

authz-db = /application/svnpasswd/authz

拷贝权限的管理文件、用户和文件

[root@qinlaozhifu1 conf]# cp authz passwd /application/svnpasswd/

[root@qinlaozhifu1 conf]# ll /application/svnpasswd/

total 8

-rw-r--r-- 1 root root 1080 Dec 25 17:36 authz

-rw-r--r-- 1 root root  309 Dec 25 17:36 passwd

root用户看不到,提高安全性

[root@qinlaozhifu1 conf]# cd /application/svnpasswd/

[root@qinlaozhifu1 svnpasswd]# chmod 700 *

[root@qinlaozhifu1 svnpasswd]# ll

total 8

-rwx------ 1 root root 1080 Dec 25 17:36 authz

-rwx------ 1 root root  309 Dec 25 17:36 passwd

1.4.1配置用户和密码

[root@qinlaozhifu1 svnpasswd]# vim passwd

[users]

# harry = harryssecret

# sally = sallyssecret

oldboy = oldboy123

  提示:

1:等号前为svn账号,等号后为svn密码,密码是明文的,注意密码权限。

2:更改svnserver.conf时,需要重启svn,更改authzpasswd文件时不用重启。

1.4.2 修改权限配置文件

[root@qinlaozhifu1 svnpasswd]# vim authz

sagroup = oldboy,wenyanchao

[sadoc:/]

@sagroup = rw

注意:

1:权限配置文件中出现的用户名必须已在用户配置文件中定义。

2:对权限配置文件的修改立即生效,不必重启svn

版本库目录格式:

定一个用户组 = ****   用户之间用逗号隔开

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

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

 

1.5 重启svn

[root@qinlaozhifu1 svnpasswd]# pkill svnserve

[root@qinlaozhifu1 svnpasswd]# svnserve -d -r /application/svndata/

 

 

 

最后的话就是安装客户端的TortoiseSVN,进入工作环境中应用