阿里云服务器配置 SVN 服务器与生产站点同步

作为linux的门外汉,一直觊觎svn的方便性,在有台aliyun的情况下,一起来搞搞。

 
1.环境
 
阿里云 centos5.5
 
2.安装svn
 
yum -y install subversion
3.配置
 
建立版本库目录
 
mkdir /alidata/www/svndata
svnserve -d -r /alidata/www/svndata
4.建立版本库
 
创建一个新的Subversion项目
 
svnadmin create /alidata/www/svndata/myproject
配置允许用户rsync访问
 
cd /alidata/www/svndata/myproject/conf
vi svnserve.conf
anon-access=none
auth-access=write
password-db=passwd
注:修改的文件前面不能有空格,否则启动svn server出错
 
vi passwd
[users]
#<用户1> = <密码1>
#<用户2> = <密码2>
myname=myaname
5.客户端连接
 
svn co svn://ip/alidata/www/svndata/myproject
用户名密码:myname
 
6.实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中
 
1)设置WEB服务器根目录为/alidata/www/webroot
 
2)checkout一份SVN
 
svn co svn://localhost/alidata/www/svndata/myproject /alidata/www/webroot
修改权限为WEB用户
 
chown -R www:www /alidata/www/webroot/myproject
3)建立同步脚本
 
cd /alidata/www/svndata/myproject/hooks/
cp post-commit.tmpl post-commit
编辑post-commit,在文件最后添加以下内容
 
export LANG=en_US.UTF-8
SVN=/usr/bin/svn
WEB=/alidata/www/webroot/
$SVN update $WEB –username myname –password myname
chown -R www:www $WEB
增加脚本执行权限
 
chmod +x post-commit
这样,我们上传svn后,生产站点就能立马显示出来了,自动化程度高了很多。