2008-08-31 76 views
11

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

我不得不做以下构建Apache和mod_rewrite的:

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

(我最后一次建成的Apache(2.2.8)在Solaris上,默认情况下它内置的一切作为一个共享模块。)

回答

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中单独编译模块。

+0

“全部”并不代表所有!您应该使用./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”。 – duleshi 2015-06-18 10:03:42

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

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