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,更改authz,passwd文件时不用重启。
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,进入工作环境中应用