svn是一款非常好的版本管理器,使用它可以分工合作、版本管理程序文件。
1、安装svn
依次执行以下命令来安装svn:
yum install subversion
cd /usr/local
mkdir svn
svnadmin create /usr/local/svn
使用命令来检查svn是否安装成功:
svnserve --version
>svnserve, version 1.6.11 (r934486)
2、配置svn账户
登录vpsmate打开/user/local/svn/conf,分别按以下要求操作:
A、追加/usr/local/svn/conf/authz
[groups]
[/]
SVN账户用户名=rw
B、追加/usr/local/svn/conf/passwd
[users]
SVN账户用户名=SVN账户密码
C、追加/usr/local/svn/conf/svnserve.conf
[general]
# 使非授权用户无法访问
anon-access = none
# 使授权用户有写权限
auth-access = write
# 帐号及密码配置文件
password-db = passwd
# 目录及项目授权配置文件
authz-db = authz
# 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
realm =wwwweb
在控制台启动svn服务:
svnserve -d -r /usr/local/svn
svn账户配置完成之后,就可以使用svn客户端连接svn://IP地址或网站域名即可。
3、配置web同步
上传到svn里的文件、文件夹是以版本管理的方式保存的,无法直接读取,因此需要将svn里的文件同步到web目录。
打开 /usr/local/svn/hooks目录,新建post-commit文件,编辑:
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
svn update --username SVN账户用户名 --password SVN账户密码 /usr/local/www
然后使用vpsmate修改该文件的权限为0755以上。
分别执行以下命令,来重启svn服务并执行依次检出操作,在检出操作过程中可能需要输入root密码以及SVN的账户。
killall svnserve && svnserve -d -r /usr/local/svn
svn checkout svn://IP地址或域名 /usr/local/www
完成之后,在svn客户端操作文件提交之后就可以同步文件到web目录。