工作中依赖比较多的中间件之一便是apache,但是开发机有限,没有机会随便折腾apache,于是便在自己的电脑折腾一下,补充 一下这块知识。

 1.安装apache


    Apache的安装方式有源码安装和二进制安装包安装,因为工作环境的关系,我选择的linux下源码安装,选择在linux出了兴趣使然外,在一个就是与工作贴近。


  • http://httpd.apache.org/download.cgi下载源码包,我下载的是2.2.4版本,在windows环境上下载,这个是有点偷懒。
  • rz到linux机器上。我一开始使用了官网的putty,不支持sz/rz,后来换成工作中一直在用的SecureCRT终端,搞定(这些过程需要用root用户来执行)。
  • tar zxvf httpd-2.2.4.tar.gz
  • 创建一个软链接,在/usr/local中加apache目录的入口,ln -s ${path}/httpd-2.2.4 /usr/local/apache2
  • cd httpd-2.2.4
  • ./configure --prefix=/usr/local/apache2 --enable-so
  • make
  • make install
  • make clean
  • cd bin
  • ./apachectrl start

DocumentRoot路径与directory节点中的路径不符,导致权限不足,造成403错误。


DocumentRoot "/usr/local/apache2/htdocs"
<Directory  />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>





DocumentRoot "/usr/local/apache2/htdocs
<Directory  "/usr/local/apache2/htdocs">
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>





    再刷新页面,it work!




    再进阶一点,http.conf中默认的配置是不支持多host的,所以,我把http.conf中的host默认配置都注释了,并将配置中的


# Virtual hosts
#Include conf/extra/httpd-vhosts.conf


    到这里,安装就算是基本完成了。


    其他的配置问题将专门独立章节介绍。


2.完善配置


    安装阶段让apache支持多个vhost了,这里就先来折腾一下vhost中的配置。


    CustomLog  这个就是咱们经常查看的apache access日志选项,修改一下,让日志更加易读,更有价值。    


CustomLog "logs/dummy-host.example.com-access_log" "%{%Y-%m-%d %H:%M:%S}t|%a|%A|%P|%D|%s|%U|%I|%O|%H"


其中%I和%O需要启用mpm_mod_logio模块,这个模块的启用,需要先到modules/loggers目录中编译mod_logio.c


/usr/local/apache2/bin/apxs -c mod_logio.c
/usr/local/apache2/bin/apxs -i -a -n  mpm_logio  mod_logio.la


LoadModule logio_module   modules/mod_logio.so

然后使用以下命令来测试配置修改是否正确


/usr/local/apache2/bin/apachectl configtest

正常的话,重启apache,即可看到规范后的日志输出


2013-08-13 23:22:36|192.168.148.1|192.168.148.128|24986|2788|404|/favicon.ico|273|423|HTTP/1.1





洗澡睡觉