Centos下svn的安装配置,post-commit同步

1、搭建好LAMP环境

Yum 代码
  1. yum install  httpd httpd-devel mysql-server php php-devel php-mysql  
yum install  httpd httpd-devel mysql-server php php-devel php-mysql

2、安装Subversion

Yum安装svn及所需模块代码
  1. yum install httpd subversion mod_dav_svn mod_auth_mysql  
  2. centos默认源的SVN版本较老,1.4 . 2 的,yum前最好换一个新版本 1.6 以上的,客户端现在很多人都是用 1.6 。  
yum install httpd subversion mod_dav_svn mod_auth_mysql
centos默认源的SVN版本较老,1.4.2的,yum前最好换一个新版本1.6以上的,客户端现在很多人都是用1.6。

3、查看当前SVN的版本

查看版本代码
  1. svn --version  
  2. 提示版本信息:svn,版本1.6 . 9   
svn --version
提示版本信息:svn,版本1.6.9

4.确认已安装模块

Php代码
  1. [root@abc100 modules]# pwd  
  2. /etc/httpd/modules  
  3. [root@abc100 modules]# ls |grep svn  
  4. mod_authz_svn.so  
  5. mod_dav_svn.so  
[root@abc100 modules]# pwd
/etc/httpd/modules
[root@abc100 modules]# ls |grep svn
mod_authz_svn.so
mod_dav_svn.so
扫描二维码关注公众号,回复: 1387493 查看本文章

5.修改httpd.conf配置文件,载入模块

增加代码
  1. LoadModule dav_svn_module     modules/mod_dav_svn.so   
  2. LoadModule authz_svn_module   modules/mod_authz_svn.so   
  3. LoadModule php5_module modules/libphp5.so  
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:注意不要把apache的根目录与此设置的目录重复或者包含覆盖

Php代码
  1. [root@abc100 conf.d]# pwd   
  2. /etc/httpd/conf.d   
  3. [root@abc100 conf.d]# vi subversion.conf   
  4.     
  5. <Location /svn>   
  6. DAV svn   
  7. SVNPath /var /www/svn/   
  8. AuthType Basic   
  9. AuthName "Authorization Realm"    
  10. AuthUserFile /var /www/svn/passwd   
  11. Require valid-user   
  12. </Location>  
[root@abc100 conf.d]# pwd 
/etc/httpd/conf.d 
[root@abc100 conf.d]# vi subversion.conf 
  
<Location /svn> 
DAV svn 
SVNPath /var/www/svn/ 
AuthType Basic 
AuthName "Authorization Realm" 
AuthUserFile /var/www/svn/passwd 
Require valid-user 
</Location>

 

7.创建SVN版本库

Php代码
  1. svnadmin create / var /www/svn/  
  2. chown  apache.apache / var /www/svn/ -R  
svnadmin create /var/www/svn/
chown apache.apache /var/www/svn/ -R

 
8.增加用户名密码验证

Php代码
  1. htpasswd -c / var /www/svn/passwd ben  
  2.   
  3. 重启apahce后看效果。  
htpasswd -c /var/www/svn/passwd ben

重启apahce后看效果。

9、post-commit(利用SVN的钩子post-commit同步测试服务器代码)

Php代码
  1. [root@abc100 hooks]# pwd  
  2. /var /www/svn/hooks  
  3.   
  4. cp post-commit.tmpl post-commit  
  5. chown  apache.apache post-commit   
  6.   
  7. 修改post-commint  
  8.   
  9. export LANG="en_US.UTF-8"    
  10. svn up /var /www/html/ben/  
  11. chmod  a+x post-commit   
  12.   
  13. chown  -R apache.apache / var /www/html/ben(确保web目录能访问,否则post-commit不会正常工作)  
[root@abc100 hooks]# pwd
/var/www/svn/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/ben/
chmod a+x post-commit 

chown -R apache.apache /var/www/html/ben(确保web目录能访问,否则post-commit不会正常工作)

10、后续(设置映射文件夹,多人各自有不同的文件夹处理、有相同的配置文件)

猜你喜欢

转载自xiangxingchina.iteye.com/blog/939150