Apache - 如何将单个和/或所有模块构建为共享模块

时间:2008-08-31 20:18:14

标签: apache unix configuration mod-rewrite build

在Mac OS X 10.5上,我下载了最新版本的Apache 2.2.9。在通常配置之后,make,make install dance我有一个没有mod_rewrite的apache构建。这不是静态链接,模块也没有内置在/ modules文件夹中。

我必须执行以下操作来构建Apache和mod_rewrite:

./configure --prefix=/usr/local/apache2 --enable-rewrite=shared
  • 有没有办法告诉Apache将所有模块构建为共享模块(DSO),以便我可以控制从Apache配置加载?
  • 现在我已经构建了Apache和mod_rewrite DSO,如何在不构建所有Apache的情况下构建另一个共享模块?

(我上次在Solaris上构建Apache(2.2.8)时,默认情况下它将所有内容都构建为共享模块。)

2 个答案:

答案 0 :(得分:13)

尝试使用./configure选项--enable-mods-shared="all"--enable-mods-shared="<list of modules>"将模块编译为共享对象。请参阅details in Apache 2.2 docs

要仅使用加载共享对象(以及稍后添加模块)的能力编译Apache,请使用--enable-so,然后在Apache 2.2. DSO docs中单独参阅有关编译模块的文档。

答案 1 :(得分:0)

./configure --prefix=/usr/local/apache2 --enable-mods-shared="all" --enable-proxy=shared

为了获得重写,代理和一堆其他模块,我使用了上面的命令。在我之前的安装中,使用--enable-mods-shared =“all”编译/安装了代理模块。但是在v2.2.22中,“所有”都没有包含代理模块。