gentoo下定制apache-启用模块和配置结构

这两天由于要搭建个小型资讯网站,需要用到apache。抽空在gentoo上定制了一把apache。

所谓的gentoo版apache,其实源码还是跟官方版本一致的。
不同之处在于模块的安装,卸载已经完全gentoo化。
只需要在USE标记里,添加,删除相应的标签,即可。

编译时用到的模块介绍

apache的编译安装就不多说了,这里要提一下的是,安装apache模块的USE标记并不是跟着apache
走的
,而且单独配置的一套变量。

以下是我需要用到的一些模块(黄色的变量即使编译时需要用到的模块列表),应该算是非常精简了:
gentoo编译apache截图

以上配置位于 /etc/make.conf

dir 指定默认文档
mime 文档类型识别
authz_host 一些最简单的权限指令,比如Order deny, allow
rewrite 重写引擎
log_config 访问日志
mime_magic 针对前面的mime文档类型的补充
worker apache多路处理模块MPM的多线程实现

所有模块,你可以自由剪裁,但是,authz_host,mime,dir 这三个模块是必须的被添加的
这点,可以在 gentoo 的apache ebuild 描述文件中看出。
gentoo编译apache截图

以上配置,位于 /usr/portage/www-servers/apache/apache-2.2.9.ebuild

gentoo下定制需要启用的apache模块

在gentoo下启用apache模块,是依靠传递 -D XX 参数给 httpd 进程,然后在配置文件中,将功能 XX 所属的配置块包在 标签内,来实现某一块功能的启用或屏蔽的。(不同于 标签,前者涉及面更广)

这些屏蔽启用的参数,全部位于 /etc/conf.d/apache2 ,这里是我的启用屏蔽设置。

gentoo编译apache截图

从上面的图片中,看到,我只启用了PHP5和虚拟主机,其实,gentoo版apache提供了很多的参数。
gentoo下编译apache截图

配置部署结构

gentoo版apache的配置文件部署结构,我认为是所见过apache配置中,比较灵活的。
它根据功能不同,细分了所有的功能模块配置。

目录结构大致为
/etc/apache2/ apache核心配置文件httpd.conf的所属目录
/etc/apache2/modules.d/ apache模块各个配置文件所属的目录
/etc/apache2/vhost.d/ apache虚拟主机配置文件所属的目录
/etc/apache2/ssl https用到的一些密钥

gentoo下编译apache截图

仔细看modules.d这个目录下的配置,可以发现这些配置文件都是由序号和每个模块名组成的。
序号呢,主要是为了控制加载的顺序(由linux文件系统保证),模块名呢,当然就是这个模块的配置
都集中在当前文件里了。很灵活。

转载请注明原文链接:http://kenwublog.com/compile-and-configure-apache-in-gentoo

2008/06/29 | Posted in Linux & Gentoo
  1. 2009/06/21 15:40 | #1

    It`s transshiped from galayxstar.javaeye.com that is my anther blog.

Leave a comment

Attention: Java syntax highlighting is enable. For example: <pre lang="java"> class A {} </pre>