阿里云服务器配置 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/oplinux/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后,生产站点就能立马显示出来了,自动化程度高了很多。