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

Apache - how do I build individual and/or all modules as shared modules

提问人:Brian Lyttle 提问时间:9/1/2008 最后编辑:CommunityBrian Lyttle 更新时间:2/1/2012 访问量:23251

问:

在 Mac OS X 10.5 上,我下载了最新版本的 Apache 2.2.9。在通常的配置、制作、制作、安装舞蹈之后,我有一个没有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) 时,默认情况下,它将所有内容构建为共享模块。

Apache UNIX 配置 mod-rewrite 构建

评论


答:

15赞 Brendan 9/1/2008 #1

尝试使用选项 ,或将模块编译为共享对象。在 Apache 2.2 文档中查看更多详细信息./configure--enable-mods-shared="all"--enable-mods-shared="<list of modules>"

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

评论

0赞 duleshi 6/18/2015
“全部”并不意味着全部!您应该改用 ./configure --with-ldap --enable-mods-shared=“all ssl ldap cache proxy authn_alias mem_cache file_cache authnz_ldap charset_lite dav_lock disk_cache”。
1赞 so_mv 2/1/2012 #2
./configure --prefix=/usr/local/apache2 --enable-mods-shared="all" --enable-proxy=shared

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