2008-08-31 75 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「全部」中沒有包含代理模塊。