Teil von SELFHTML aktuell Teil von Artikel Teil von Serverkonfiguration Teil von Die Apache-Konfigurationsdatei

Die Apache-Konfigurationsdatei:
Der Umgang mit den Modulen

nach unten Der Umgang mit den Modulen
nach unten Die Liste der dynamisch verbundenen Module (DSO)

Der Umgang mit den Modulen

Vielleicht hängt die Konsequenz, mit der der Apache aus einzelnen Modulen zusammengesetzt wird, ja damit zusammen, daß er 1994/1995 ursprünglich aus einem Bündel einzelner Patches für den NCSA-Server entstand (zumindest sein Name ist dieser Entstehungsgeschichte zu verdanken). Durch das Konzept des modularen Aufbaus wird es einem Administrator freigestellt, die Funktionalität bzw. den zur Verfügung gestellten Leistungsumfang der Software selbst zu bestimmen. Diese Festlegungen erfolgen an zwei Stellen: einmal kann man während des Kompilierlaufs bereits darüber entscheiden, ob Softwarekomponenten als fest einkompilierte Module ihre Funktionsbereiche grundsätzlich zur Verfügung stellen sollen, und andererseits ist es möglich, in einer Konfigurationsdatei wie der httpd.conf festzulegen, ob man durch das Zuladen von Modulen zur Laufzeit der Software diese Funktionsbereiche temporär ansprechbar machen möchte.

Entsprechend ihrem Aufgabenbereich können die Module verschiedenen Gruppen zugeordnet werden. Das ergibt zwei große Gruppen: Basismodule (oder Kernmodule) und andere Module. Eine andere Gruppeneinteilung kann entsprechend dem Status vorgenommen werden - also entsprechend der Art, wie sie kompiliert werden: Multiprozessing-Module (MPM), Basismodule, Erweiterungsmodule, experimentelle und externe Module. Eine Besonderheit stellen die MPM dar, die es nur für Apache 2.0.x gibt (Apache 1.3.x folgt einem anderen, älteren Modulkonzept): obwohl in den Sourcen mehrere solcher Module zur Verfügung stehen, wird immer nur genau eines benötigt, das auf die Einsatzplattform zugeschnitten ist. Auf einer Windows-Maschine kann daher immer nur mod_winnt eingesetzt werden. Das hat damit zu tun, daß Windows kein echtes Multiprozeß-System ist und für den Apache immer nur zwei Prozesse gestartet werden können - der eigentliche Server-Prozeß und ein "Child"-Prozeß. Auf einer Linux-Maschine können dagegen unterschiedliche "Child"-Prozesse gleichzeitig nebeneinander laufen.

Zur Laufzeit des Servers stehen die Kernmodule (und die eventuell statisch einkompilierten Module) immer zur Verfügung. Es gibt derzeit nur drei Kernmodule, die aber enorme Bedeutung haben:

Andere Module können entsprechend dem Konzept der "dynamic shared objects" (DSO) mit Hilfe der LoadModule-Anweisung in der httpd.conf dazugeladen werden. Einige dieser Module wird man in fast allen Fällen benutzen wollen, beispielsweise mod_alias, das solche wichtigen Befehle wie ScriptAlias konfiguriert, mod_acces, das die Anweisung Order Allow,Deny konfiguriert oder mod_dir, mit dem ein DirectoryIndex erst ermöglicht wird.

In der Apache-Online-Dokumentation gibt es eine bereits übersetzte deutschsprachige Seite englischsprachige Seite Auflistung aller möglichen Module. Die Seite mit den Erläuterungen zu deutschsprachige Seite core ist ebenfalls in deutscher Sprache verfügbar und sollte bei auftretenden Fragen oder Unklarheiten immer konsultiert werden.

nach obennach unten

Die Liste der dynamisch verbundenen Module (DSO)

Wenn man den Apache nicht selbst kompiliert, stehen nicht alle Module zur Verfügung, die zum Lieferumfang der Apache-Sourcen gehören. Normalerweise ist das kein Problem, da das, was die "default"-Liste enthält, vollauf genügen kann. Diese Liste ist anfangs relativ lang. Abhängig von Apache-Version, Betriebssystem und der Art, wie der Apache kompiliert wurde, unterscheidet sich die Anzahl der bereits eingetragenen Modulnamen. Einige sind deaktiviert (es steht die Raute vor dem Modulnamen).

Es ist nicht leicht, sich darüber Klarheit zu verschaffen, welches Modul nun tatsächlich für welche Aufgaben benötigt wird. Im Grunde genommen ist es reichlich ein Dutzend, das für die wichtigsten Funktionen, die der Server nahezu immer erfüllen muß, Verwendung findet:

Modulname Einsatzgebiet
mod_access stellt die Anweisungen "Order allow,deny" bereit, mit denen sich der Zugriff auf Verzeichnisinhalte regeln läßt
mod_actions ist für die Ausführung von Scripts (CGI/Perl) zuständig - wird insbesondere auf Windows-Maschinen benötigt
mod_alias läßt die Verwendung von Aliasnamen für Verzeichnisse außerhalb des DocumentRoot zu sowie den Einsatz von "ScriptAlias"-Namen beispielsweise für CGI-Scripts oder PHP
mod_auth ist für die Benutzer-Authentication zuständig und liest Benutzer- und Gruppendaten ein
mod_autoindex bestimmt das Aussehen von servergenerierten Verzeichnislisten
mod_cgi macht den Einsatz von CGI-Scripts möglich
mod_dir ermöglicht die Vergabe von Dateinamen, die als "DirectoryIndex" angesprochen werden sollen
mod_include sorgt für die Ausführung von SSI
mod_info stellt Informationen zur Serverkonfiguration bereit - insbesondere über die möglichen und realisierten modulspezifischen Anweisungen
mod_log_config konfiguriert das Zugriffsprotokoll
mod_mime verknüpft Dateinamen mit Dateiinhalten und Dateiverhalten (Sprache, Zeichensatz u.ä.)
mod_mime_magic legt die MIME-Typen ansprechbarer Dateien fest, indem einige wenige bytes ausgewertet werden
mod_negotiation ermöglicht das Aushandeln von Übertragungsbedingungen zwischen Server und anfragendem Client
mod_setenvif kann Umgebungsvariablen setzen
mod_status gibt Statusanzeigen über den laufenden Serverbetrieb aus

Eine deutschsprachige Seiteenglischsprachige Seite Auflistung der einsetzbaren Module wird von der Online-Dokumentation bereitgestellt. Für den Anfang wird man aber kaum mehr als die oben genannten Module benötigen. Die Befehle, die von diesen Modulen bereitgestellt werden, genügen vollauf, um eine Testumgebung zu erstellen. Es gibt aber noch weitere Module, die an dieser Stelle der Online-Dokumentation nicht aufgeführt werden, da sie nicht oder noch nicht zum Lieferumfang des Apache gehören; Informationen dazu finden sich unter englischsprachige Seite http://modules.apache.org. Ein weiterer wichtiger Zusatz, der heute fast immer gebraucht wird, ist mod_php. Dazu gibt es später einige Hinweise.

weiter Seite Wie fängt man am besten an?

zurück Seite Die Kommentare in der httpd.conf und die Online-Dokumentation

Teil von SELFHTML aktuell Teil von Artikel Teil von Serverkonfiguration Teil von Die Apache-Konfigurationsdatei

© 2007 bereichsübergreifende Seite Impressum, für diese Seite: E-Mail christoph.schnauss@berlin.de