最近搞这一块,网上不乏有很多资料;可是都是转来转去。讲不到重点且步骤缺三少四。若按其操作,终究是一头雾水,以失败而终。
作者不才,也是费了好大功夫才搞定;在此总结一下,以飨读者;
首先介绍一下我的系统环境
[root@i-531-29129-VM conf]# uname -i
x86_64
[root@i-531-29129-VM conf]# uname -r
2.6.32-358.el6.x86_64
[root@i-531-29129-VM conf]# uname -n
i-531-29129-VM
[root@i-531-29129-VM conf]# cat /etc/re
redhat-release resolv.conf
[root@i-531-29129-VM conf]# cat /etc/redhat-release
CentOS release 6.4 (Final)
第一步:yum安装subversion
yum -y install subversion
[root@i-531-29129-VM ~]# rpm -qa subversion
subversion-1.6.11-10.el6_5.x86_64
第二步:建立svn版本库目录
mkdir -p /application/svndata
[root@i-531-29129-VM ~]# ll /application
total 4
drwxr-xr-x. 2 root root 4096 May 9 19:41 svndata
第三步:启动svn
[root@i-531-29129-VM ~]# svnserve -d -r /application/svndata
[root@i-531-29129-VM ~]# netstat -lnt | grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
[root@i-531-29129-VM ~]# ps -le | grep svn
1 S 0 28698 1 0 80 0 - 38193 inet_c ? 00:00:00 svnserve
第四步:创建项目版本库
[root@i-531-29129-VM ~]# svnadmin create /application/svndata/could
[root@i-531-29129-VM ~]# ll /application/svndata/could
total 24
drwxr-xr-x. 2 root root 4096 May 9 19:48 conf
drwxr-sr-x. 6 root root 4096 May 9 19:48 db
-r--r--r--. 1 root root 2 May 9 19:48 format
drwxr-xr-x. 2 root root 4096 May 9 19:48 hooks
drwxr-xr-x. 2 root root 4096 May 9 19:48 locks
-rw-r--r--. 1 root root 229 May 9 19:48 README.txt
第五步:修改配置文件
[修改svnserve.cof配置文件]
[root@i-531-29129-VM conf]# vi svnserve.conf
[root@i-531-29129-VM conf]# cat svnserve.conf | grep -v ^#
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
[sasl]
[修改passwd配置文件]
[root@i-531-29129-VM conf]# vi passwd
[root@i-531-29129-VM conf]# cat passwd | grep -v ^#
[users]
gongwen = gongwenisbestphper
svnserver = svnserverpwd
[修改authz配置文件]
[root@i-531-29129-VM conf]# vi authz
[root@i-531-29129-VM conf]# cat authz | grep -v ^#
[aliases]
[groups]
webgroup = gongwen,svnserver
[could:/]
@webgroup=rw
第六步:重启svn服务
[root@i-531-29129-VM conf]# pkill svnserve
[root@i-531-29129-VM conf]# netstat -lnt | grep 3690
[root@i-531-29129-VM conf]# svnserve -d -r /application/svndata/
[root@i-531-29129-VM conf]# netstat -lnt | grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
第七步:客户端连接
补充一
一:若想达到客户端提交文件,服务器下某个目录(假如目录名为html)也同步自动更新,采用下面的方法
第一步:服务器上检出
svn co svn://localhost/could html
第二步:新建post-commit文件
[root@i-531-29129-VM hooks]# pwd
/application/svndata/could/hooks
[root@i-531-29129-VM hooks]# vi post-commit
[root@i-531-29129-VM hooks]# cat post-commit
#!/bin/bash
WEB=/var/www/html/
export LANG=en_US.UTF-8
svn update $WEB --username svnserver --password 'svnserverpwd'
[root@i-531-29129-VM hooks]# chmod 755 post-commit
[root@i-531-29129-VM hooks]# ll post-commit
-rwxr-xr-x. 1 root root 116 May 9 21:18 post-commit
[root@i-531-29129-VM hooks]# ./post-commit
At revision 5.
补充二:若想建立多个项目的版本库,执行下面的命令
svnadmin create /application/svndata/newproname
修改相应的配置文件
补充三: 指定端口号,用--listen-port 8282 参数
svnserve -d -r /application/svndata/ --listen-port 8282