2014-03-23 17:38:01
来 源
kejihao
Apache
本文介绍Linux系统中Apache+SVN服务器安装配置,希望对于初学Apache服务器相关的朋友有帮助,更多Apache安装、配置、报错处理等资源请本站内搜索。
优点:

可以通过apache记录svn操作相关日志

环境:

ubuntu 10.04.1 lts 64bit

apache2.2

1.安装相关包

apt-get install apache2 libapache2-svn subversion cronolog

2.建立一个svn库

mkdir -p /www/svn/

svnadmin create /www/svn/web

3.配置apache

vi /etc/apache2/sites-enabled/000-default

<VirtualHost *:8080>

ServerAdmin [email protected]

<Location /svn>

  DAV svn

  SVNPath /www/svn/web

  AuthType Basic

  AuthName "svn repos"

  AuthUserFile /www/svn/web/conf/passwd

  AuthzSVNAccessFile /www/svn/web/conf/authz

  Satisfy Any

  Require valid-user

</Location>

ErrorLog /www/var/log/apache2/error.log

CustomLog "|/usr/sbin/cronolog /www/var/log/apache2/%Y_%m_%d.access.log" combined

</VirtualHost>

#上面日志使用cronolog进行分割,每天1个,svn相关操作会记录到日志文件,apache默认使用www-data运行

4.删除默认的dav_svn.conf

/etc/apache2/mods-available/dav_svn.conf

/etc/apache2/mods-enabled/dav_svn.conf

5.添加用户

htpasswd -c /www/svn/web/conf/passwd server110

根据提示输入2次密码

添加多个用户,这时不需要-c选项

htpasswd  /www/svn/web/conf/passwd hugwww

根据提示输入2次密码

6.目录权限控制

vi /www/svn/web/conf/authz

[groups]

admin = server110

php = hugwww,server110

design = server110

[/]

@admin = rw

* =

#####www.server110.com start##########

[/www.server110.com/web]

@php = rw

* =

[/www.server110.com/design]

@php = rw

@design = rw

* =

#####www.server110.com end ###########

7.重启apache

/etc/init.d/apache2 restart

8.svn与web自动同步配置

web根目录/opt/server110.com

svn co http://ip:8080/svn/server110.com  /opt/server110.com –username=server110 –password=server110

chown -R www-data:www-data /opt/server110.com

vi /www/svn/web/hooks/post-commit

#!/bin/sh

export LANG=en_US.UTF-8

SVN=/usr/bin/svn

WEB=/opt/server110.com/

sudo $SVN update $WEB –username server110 –password server110

sudo chown -R www-data:www-data $WEB

增加执行权限

chmod +x /www/svn/web/hooks/post-commit

增加sudo权限,不需要输入密码

vi /etc/sudoers

%www-data ALL=(ALL) NOPASSWD: /usr/bin/svn

%www-data ALL=(ALL) NOPASSWD: /bin/chown

9.使用svn

svn checkout地址  http://ip:8080/svn/

根据提示输入管理账号server110和相应的密码

执行其他操作。。。

完成!

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。