> CentOS > CentOS服务器 > 文件同步 >

linux安装svn及实现SVN与WEB同步解决方案

1.环境

Linux AY1305140905015863a2Z 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
阿里云服务器 CentOS 6.3 64位
环境安装使用wdlinux一键搭建
环境使用wdlinux的web管理系统

2.安装svn
yum -y install subversion
版本:

3.配置

svnserve -d -r /www/svndata/
svnadmin create /www/svndata/oplinux

4.建立版本库

创建一个新的Subversion项目
svnadmin create /www/svndata/oplinux

配置允许用户test访问
cd /www/svndata/oplinux/conf

vi svnserve.conf
--------------------
anon-access=none    
auth-access=write
password-db=passwd

注:将默认的  #空格 去掉  如:       #空格anon-access=none  
修改的文件前面不能有空格,否则启动svn server出错

vi passwd
------------------
[users]
test=test

5.本地测试
安装svn软件
svn://IP

 

实现SVN与WEB同步解决方案

1)设置WEB服务器根目录为/www/default

2)checkout一份SVN

svn co svn://localhost/oplinux /www/default

修改权限为WEB用户

chown -R www:www/www/svndata/oplinux

3)建立同步脚本

cd /www/svndata/oplinux/hooks/
方案一:
vi post-commit 输入以下内容:

#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
svn update /www/web/default --username test--password test

方案二:
cp post-commit.tmpl post-commit

编辑post-commit,在文件最后添加以下内容

export LANG=en_US.UTF-8
SVN=/usr/bin/svn
WEB=/www/web/
$SVN update $WEB –username test–password test
chown -R www:www $WEB

增加脚本执行权限

chmod +x post-commit    

如果不成功 尝试一下方法,在命令后面加上  --no-auth-cache
$SVN update $WEB –username test–password test  --no-auth-cache
对文件执行chmod +x post-commit操作
最后操作是关闭服务然再打开服务:
svn服务的关闭:killall svnserve
svn开启: svnserve -d -r /opt/svndata/oplinux/


(责任编辑:IT)