Linux环境搭建SVN服务

最近搞这一块,网上不乏有很多资料;可是都是转来转去。讲不到重点且步骤缺三少四。若按其操作,终究是一头雾水,以失败而终。
作者不才,也是费了好大功夫才搞定;在此总结一下,以飨读者;

首先介绍一下我的系统环境
[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   
第七步:客户端连接
客户端连接.jpg
补充一

一:若想达到客户端提交文件,服务器下某个目录(假如目录名为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

你可能感兴趣的:(Linux环境搭建SVN服务)