服务器配置SVN及自动同步网站目录
/ / 点击安装环境:CentOS 6 + Nginx
1. 服务器端安装SVN
1 | # yum install subversion |
2. SVN版本库文件配置
- 进入版本库目录,
/opt/svn/repositories/conf
,有三个文件需要配置:authz 是权限控制文件
passwd 是账号密码文件
svnserve.conf 是SVN服务配置文件
- 打开
passwd
文件,在[user]下方添加用户和密码,格式为:账号=密码,如 www = www 或者 w= w - 打开
authz
文件,在末尾添加以下代码:意思是版本库的根目录,用户www对其有读写权限,用户w对其只有读权限。1
2
3[/]
www = rw
w = r - 打开
svnserve.conf
,添加以下代码:1
2
3
4
5anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /opt/svn/repositories # 认证空间名,版本库所在目录
3. 启动SVN版本库
1 | # svnserve -d -r /opt/svn/repositories |
4. 自动同步网站目录
这里我的SVN版本库是
/opt/svn/repositories
网站目录是/data/wwwroot/105668.win
1. 检出一个项目到网站目录
1 | # svn checkout file:///opt/svn/repositories /data/wwwroot/105668.win |
这时,网站目录已成为SVN的工作副本,我们要做的就是让这个工作副本自动更新,利用hooks实现自动更新。
2. 添加钩子(hooks)文件
在/opt/svn/repositories/hooks
目录下新建文件post-commit
,文件内容如下:
1 | #!/bin/sh |
username
和 password
后跟着你刚才设置的版本库目录账号密码,将post-commit
文件权限设置为755
5. 本地SVN配置
1. 安装SVN
省略,实在太简单了 –
2. checkout
在本地任意位置创建目录,右键 checkout ,
点ok,输入设置好的帐号和密码。
可以在目录下新建个文件commit试一下,对应的网站目录里有没有新建的文件。
全文完。