系统环境:CentOS-5
安装方式:yum install
安装软件:系统自动下载SVN软件
1、检查是否安装了低版本的SVN
[root@localhost /]# rpm -qa subversion
2、卸载旧的SVN
[root@localhost /]# yum remove subversion
3、安装SVN
[root@localhost /]# yum install subversion
4、检验已经安装的SVN版本信息
[root@localhost /]# svnserve –version #注意是svnserve
5、SVN软件安装完成后还需要建立SVN库
[root@localhost /]# mkdir /lnmp/svn #这是是建立放svn代码库的目录 到时候运行svn的目录要是这个
[root@localhost /]# svnadmin create /lnmp/svn/testObject #创建代码库
创建成功后对应的/lnmp/svn/testObject目录下会有以下目录:
conf db format hooks locks README.txt
@进入conf目录(该svn版本库配置文件)
authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件
@设置帐号密码
vi passwd
在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan
@设置权限
vi authz
在末尾添加如下代码:
[testObject:/]
帐号1=rw
帐号2=rw
- =
意思是版本库的根目录dan对其有读写权限,其他账号没有任何权限
@修改svnserve.conf文件,注意=号后面不能有空格,每行后面也不能有空格。
vi svnserve.conf
打开下面的几个注释:
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /lnmp/svn # 认证空间名,版本库所在目录 这个可以不启用
6.配置防火墙端口
[root@localhost /]# vi /etc/sysconfig/iptables
添加以下内容:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3690 -j ACCEPT
保存该文件
[root@localhost /]# service iptables restart #保存后重启防火墙
或是关闭防火墙 :service iptables stop
7.启动svn版本库
[root@localhost /]# svnserve -d -r /lnmp/svn
[root@localhost /]# ps aux|grep svnserve #查看SVN进程
@停止重启SVN
[root@localhost /]# killall svnserve //停止
或kill -9 进程id
[root@localhost /]# svnserve -d -r svnserve -d -r /lnmp/svn #启动
8.客户端访问路径
svn://ip地址/testObject
9.post-commit配置
到对应的项目目录下
[root@localhost object]#cd /lnmp/wwwroot/object
[root@localhost object]#svn checkout svn://127.0.0.1/testObject ./
[root@localhost /]# cd /lnmp/svn/testObject/hooks
[root@localhost hooks]# cp post-commit.tmpl post-commit
编辑post-commit
在下方加入
REPOS="$1"
REV="$2"
export LANG=zh_CN.UTF-8
SVN=/usr/bin/svn #这里配置的是svn安装bin目录下的svn文件
WEB=/lnmp/wwwroot/object #要更新的目录
$SVN update $WEB --username 用户1 --password 对应的用户密码 # (此版本是linux下,windows下是.bat,写法少有不同)
[root@localhost hooks]# chmod 777 post-commit
好,基本完成了.Bye