2008-08-31 10 views
11

Unter Mac OS X 10.5 habe ich die neueste Version von Apache 2.2.9 heruntergeladen. Nach der üblichen Konfiguration, make, make install tanze ich einen Build von Apache ohne mod_rewrite. Dies war nicht statisch verknüpft und das Modul wurde auch nicht im Ordner/modules erstellt.Apache - wie baue ich einzelne und/oder alle Module als geteilte Module

Ich hatte folgendes zu bauen Apache und mod_rewrite zu tun:

./configure --prefix=/usr/local/apache2 --enable-rewrite=shared 
  • Gibt es eine Möglichkeit Apache zu sagen, alle Module als Shared Module (DSOs) zu bauen, so kann ich von der Apache steuern Laden Konfig?
  • Nun, da ich Apache und das DSR-Modul mod_rewrite erstellt habe, wie kann ich ein weiteres gemeinsam genutztes Modul erstellen, ohne den gesamten Apache zu erstellen?

(Das letzte Mal, dass ich gebaut Apache (2.2.8) auf Solaris standardmäßig es alles als Shared-Modul eingebaut.)

Antwort

13

Versuchen Sie, die ./configure Option --enable-mods-shared="all" oder --enable-mods-shared="<list of modules>" Module als gemeinsame Objekte zu kompilieren . Siehe details in Apache 2.2 docs

Um Apache nur mit der Fähigkeit zu kompilieren, gemeinsame Objekte zu laden (und Module später hinzuzufügen), verwenden Sie --enable-so, dann konsultieren Sie die Dokumentation zum Kompilieren von Modulen separat in der Apache 2.2. DSO docs.

+0

"alles" bedeutet nicht wirklich alles! Sie sollten ./configure --with-ldap --enable-mods-shared = "stattdessen alle ssl ldap cache proxy authn_alias mem_cache datei_cache authnz_ldap charset_lite dav_lock disk_cache" verwenden. – duleshi

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

Um Neuschreiben, Proxy und Bündel anderer Module, habe ich den obigen Befehl verwendet. In meiner vorherigen Installation kompilierte/enable-mods-shared = "all" auch das Proxy-Modul. Aber in v2.2.22 "alle" nicht das Proxy-Modul enthalten.