需求:LINUX下建立SVN服务器,自动同步到WEB目录,实现通过SVN即时修改WEB内容
1.环境
centos5.3
2.安装svn
yum -y install subversion
3.配置
建立版本库目录
mkdir /svn
svnserve -d -r /svn
4.建立版本库
创建一个新的Subversion项目
svnadmin create /svn/www.gaojinbo.com
配置允许用户rsync访问
cd /svn/www.gaojinbo.com/conf
vi svnserve.conf
anon-access=none
auth-access=write
password-db=passwd
注:修改的文件前面不能有空格,否则启动svn server出错
vi passwd
[users]
#<用户1> = <密码1>
#<用户2> = <密码2>
rsync=rsync
5.客户端连接
svn co svn://ip/www.gaojinbo.com
用户名密码:rsync
===============================================================
6.实现SVN与WEB同步
1)设置WEB服务器根目录为/www/www.gaojinbo.com
2)checkout一份SVN
svn co svn://localhost/www.gaojinbo.com /www/www.gaojinbo.com
修改权限为WEB用户
chown -R apache:apache /www/www.gaojinbo.com/
3)建立同步脚本
cd /svn/www.gaojinbo.com/hooks/
cp post-commit.tmpl post-commit
编辑post-commit,在文件最后添加以下内容
export LANG=en_US.UTF-8
SVN=/usr/bin/svn
WEB=/www/www.gaojinbo.com/
$SVN update $WEB –username rsync –password rsync
chown -R apache:apache $WEB
增加脚本执行权限
chmod +x post-commit
完成!