Hallo Michael!
Danke für Deine Antwort, ich stehe da wirklich total auf dem Schlauch. Ich habe wohl in der Apache Doku gelesen, da stehen die Module wunderbar erklärt, aber nicht wo ich die herbekomme! Das beste wird sein die wenigen Module die ich brauche mit in den httpd einzukompilieren(geht das auch mit PHP? Bei Apache 1 geht das zumindest.) Aber ich habe ja jetzzt z.B. --enable-rewrite verwendet, aber ich kann mod_rewrite nicht verwenden.
httpd -l gibt mir folgendes aus
[root@localhost bin]# ./httpd -l
Compiled in modules:
core.c
mod_access.c
mod_auth.c
mod_include.c
mod_log_config.c
mod_env.c
mod_setenvif.c
prefork.c
http_core.c
mod_mime.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_cgi.c
mod_negotiation.c
mod_dir.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_so.c
Der hlt sich irgendwei kein Stück an mein configure! _kein_ mod_rewrite, dafür mod_include... wieso?
Das war mein configure:
[root@localhost bin]# ./configure --prefix=/usr/local/apache-2.0.44 --enable-auth-diges --enable-isapi --enable-file-cache --enable-cache --enable-disk-cache --enable-mem-cache --enable-case-filter --enable-case-filter-in --disable-include
--enable-deflate --enable-mime-magic --enable-expires --enable-headers --enable-unique-id --enable-proxy --enable-proxy-connect --enable-proxy-http --enable-ssl --enable-http --enable-info --enable-cgi --enable-cgid --enable-vhost-alias --enable-speling --enable-rewrite --enable-so
Bei Apache 2 kann ich auch nur raten, an vielen Stellen. Also: Auf geht's ...
Falls es Dir hilft: ./configure --help > ../apache2.txt: http://knet-systems.de/temp/apache2.txt Das ist die einzige Hilfe die ich zu configure habe, in INSTALL steht so gut wie nichst darüber, halt der Hinweis auf --help, in der Doku steht viel über die Verwendung, nichts über die Installation.
"schlank" und "mod_rewrite" unter einen Hut zu bekommen ist ein echtes Kunststück.
och sagte "möglichst" schlank. mod_rewrite ist das wichtigste Apache-Modul welches ich brauche. Mal was allgemeines, sollte ich möglichs alle Module die ich brauche einkompilieren, oder nur die die ich andauernd brauche? Also rewrite und php?
"mod_rewrite" ist bei Apache 1.3 das größte Einzelmodul nach Code-Datei-Umfang (vor mod_include, glaube ich mich zu erinnern); brauchst Du das _wirklich_?
ja, für meine modulare Struktur.
| Und mod_gzip für Apache 2 ... hm.
mod_deflate ist glaube ich das pendant, daher auch --enable-deflate. Aber davon sehe ich auchs nichts unter httpd -l. Vermutlich braucht er hierfür die zlib, also
--with-z=DIR, nur woher weiß ich in welchem Verzeichnis Rehat diese Lib installiert hat?
Vielleicht /usr/include/zlib.h, oder /lib/modules/2.4.18-14/kernel/lib/zlib_deflate, oder /usr/lib/libz.(a|so)? Ich weiß es nicht.
--enable-isapi
Hoppla?
Ok, weg damit.
--enable-file-cache
--enable-cache
--enable-disk-cache
--enable-mem-cacheIch wollte, ich könnte zu den ganzen Apache-2-cache-Modulen schon etwas sagen ... das ist jedenfalls (alles?) Performance-Tuning, nicht Funktionalität.
Ja, wenn ich ohne weitgeres Zutun nur durch diese paar Angaben bessere Performance erhalte soll es mir recht sein, die Frage ist ob em tatsächlich so ist!
mod_file_cache
New module in Apache 2.0. This module includes the functionality of mod_mmap_static in Apache 1.3, plus adds further caching abilities.
--disable-include
Kluge Entscheidung. ;-)
Sah der Apache wohl anders ;-)
--enable-deflate
Das jetzt also doch? Oben las es sich noch anders ... für Apache 2 ist das aber wahrscheinlich kein großer Unterschied.
mod_deflate
New module in Apache 2.0. This module allows supporting browsers to request that content be compressed before delivery, saving network bandwidth.
--enable-mime-magic
Wofür brauchst Du diese Kristallkugel?
Keien Ahnung, ich dachte eher so "was schadet sie"?
--enable-expires
--enable-headers
Beides sinnvoll - aber nur, wenn Du es aktiv und richtig nutzt.
Hm ich denek ich brache es nicht, da nur wie gesagt ein PHP Projekt drauf läuft, aber vielleicht für Bilder etc. wiederum andere Dateien dürfen bloß nicht gecached werden.
--enable-unique-id
Wofür brauchst Du das?
Wenn ich eine Unique ID vergeben will ist das doch ein netter salt für mt_rand() in PHP, oder? Muß aber nicht sein.
--enable-proxy
--enable-proxy-connect
--enable-proxy-http
Wofür brauchst Du das? (Der ganze Proxy-Kram ist auch nicht wirklich klein, glaube ich.)
Hast Recht, nicht wirklich ;-)
--enable-ssl
Das dürfte auch nicht ganz klein sein - aber Du brauchst es ja.
Unbedingt. Aber das ist ja schön und gut das ich sage "ENABLE", scheint den Apchen wieder nicht zu stören. ODer das kommt auch davon dass ich --with-ssl=DIR nicht angegeben habe wie oben oben zlib, aber hier ist es vermutlich /usr/lib/libssl.a bzw. /usr/lib/libssl.so, oder?
--enable-http
Hoppla - das sagt mir gerade mal gar nichts ...
mir auch nicht, am besten weg damit.
--enable-info
Klingt nach mod_info - wofür?
weg ;-)
--enable-cgi
Ich habe kein CGI in Deiner Aufgabenstellung gefunden ...
stimmt! Hatte ich auch überlegt, hast Recht.
--enable-vhost-alias
Brauchst Du das?
Ich brauche evtl mehrere Virt-Hosts
--enable-speling
Oh - die Kristallkugel, die an den URLs herumprobiert, um 404er zu vertuschen. Willst Du das wirklich?
Ach sowas, ich denke braucht man nicht.
--enable-rewrite
Nun gut ...
ICH BRAUCHE ES ;-)
--enable-so
Wozu brauchst Du mod_so, wenn Du doch beim Übersetzen einen maßgeschneiderten Apache zusammenbaust?
Ich überlege ob ich selten verwendete Module über DSO lade, so mod_perl z.B. das brauche ich nur zum parsen und schreiben von Excel-Dateien. Udn ich weiß nicht ob sich PHP _überhaupt_ in den httpd einkompilieren läßt.
#--with-z=DIR
Ist da für die zlib? Wenn Du mod_deflate verwenden willst - das nutzt die zlib, die haben nichts Eigenes geschrieben (anders als mod_gzip).
Aber wie ich das verstanden habe macht mod_deflate "exakt" dasselbe wie mod_gzip, oder? mod_gzip gibt es doch nicht für den 2er Apachen, oder?
Und muß ich ein Verzeichnis für SSL und zlib angeben?
Ich denke, ja (beides).
so siehts aus ;-)
zlib finde ich aber nicht, wie finde ich das auf meinem Rechner?
Hm ... wo sind denn die anderen C-Standardbibliotheken installiert? (/usr/local/lib?)
Geh doch mal mit einem "find / -name libz.a -ls" über die ganze Platte danach suchen ...
libz.a also, OK das reicht. .a ist immer für einzukompilierende Module, .so für DSO, oder?
Hat RedHat eine Funktion, um installierte Pakete anzuzeigen?
Alle habe ich noch nicht gefunden, aber ich kann mir noichmal so einen RPM-Manager besorgen, der zeigt das alles an.
Ich verstehe das Apache2-Zusammenbauen noch nicht. Aber bei Apache 1.3 verwende ich mod_so nicht und habe deshalb auch keine *.so-Module herum liegen - ich habe in "bin/httpd" alles drin, was ich brauche.
Ist der Nachteil eine "alles drin was ich brache"-Aachen nur dieser das er für Erweiterungen neu kompiliert werden muß? Sonst ist das doch grundsätzlich schneller, oder?
Und was ist mit MPM, sollte ich das ändern?
Das ist etwas, was Du gründlich lesen solltest, bevor Du es änderst ... das ist wohl eine Wissenschaft für sich.
Ja, halt grundsätzlich als worker-threads oder mit prefork, ich werde letzteres einfach nicht verändern, aber für später - was ist wohl schneller?
Sollte ich noch weitere Parameter mit einbinden, oder welche von den obigen ausschließen?
Wenn Du wirklich nur fünf Module brauchst, dann brauchst Du auch nur diese einzubinden.
(Du kannst übrigens mit "httpd -l" nachsehen, was tatsächlich alles eingebunden ist.)
ich binde aber nicht nur die Module ein. Es gibt ja auch genügend Parameter zum "Konfigurieren", das ist meine Sorge das mir da was fehlt.
collect2: ld returned 1 exit status
make[1]: *** [httpd] Fehler 1Brachst Du das ISAPI-Zeug - und wenn ja, wofür? (Das ist doch diese Micro$oft-IIS-Emulation, oder?)
Teufelszeug - SOWAS IST DAS????
Finde das ganze leider nirgendwo dokumentiert.
(http://httpd.apache.org/docs-2.0/mod/) Buch macht kluch.
Außerdem müßte die Datei "INSTALL" immer noch mit ausgeliefert werden, denke ich mal ...
Einem dem das ganze noch nicht so vertraut ist fehlten da irgendwie die wichtigsten Infos, so langsam wird es aber klarer, vielen Dank!
Ich werde auch noch Apache 1 neu kompilieren, da gelten im Prinzip dieselben Regeln, oder? Wenn das mod_gzip Modul ja nicht im Source enthalten ist, und ich es von sourcefourge runterlade, kann ich das trotzdem mit einkompilieren?
Nochmals vielen Dank!
Grüße
Andreas