存档
svn安装配置,post-commit同步
1.搭建lamp
yum install httpd httpd-devel mysql-server php php-devel php-mysql
2.yum安装svn及所需模块
yum install httpd subversion mod_dav_svn mod_auth_mysql
centos默认源的SVN版本较老。1.4.2的。yum前。换一个源。(参考:RedHat和CentOs系统下的第三方软件仓库)
3.查看版本
[root@abc100 ~]# svn –version
svn, version 1.6.9 (r901367)
compiled Mar 22 2010, 00:59:50
Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
The following repository access (RA) modules are available:
* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
– handles ‘http’ scheme
– handles ‘https’ scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
– with Cyrus SASL authentication
– handles ‘svn’ scheme
* ra_local : Module for accessing a repository on local disk.
– handles ‘file’ scheme
4.确认已安装模块
[root@abc100 modules]# pwd
/etc/httpd/modules
[root@abc100 modules]# ls |grep svn
mod_authz_svn.so
mod_dav_svn.so
5.修改httpd.conf配置文件,载入模块
增加
- LoadModule dav_svn_module modules/mod_dav_svn.so
- LoadModule authz_svn_module modules/mod_authz_svn.so
- LoadModule php5_module modules/libphp5.so
6.配置SVN
- [root@abc100 conf.d]# pwd
- /etc/httpd/conf.d
- [root@abc100 conf.d]# vi subversion.conf
- <Location /svn>
- DAV svn
- SVNPath /var/www/testsvn/
- AuthType Basic
- AuthName "Authorization Realm"
- AuthUserFile /var/www/testsvn/passwd
- Require valid-user
- </Location>
7.创建SVN版本库
svnadmin create /var/www/testsvn/
chown apache.apache /var/www/testsvn/ -R
8.增加用户名密码验证
htpasswd -c /var/www/testsvn/passwd viyin.net
重启apahce后看效果。
8.post-commit(利用SVN的钩子post-commit同步测试服务器代码)
[root@abc100 hooks]# pwd
/var/www/testsvn/hooks
cp post-commit.tmpl post-commit
chown apache.apache post-commit
修改post-commint
- export LANG="en_US.UTF-8"
- svn up /var/www/html/viyin.net/
chmod a+x post-commit
chown -R apache.apache /var/www/html/viyin.net (确保web目录能访问,否则post-commit不会正常工作)
svn co file:///var/www/svn4/ /var/www/0519 检出