工作中依赖比较多的中间件之一便是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
洗澡睡觉