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.配置
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 输入以下内容:
方案二:
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/