# 3.2.3 Apache Module

Neben den zwingend notwendigen gibt es eine ganze Reihe zusätzlicher Module für spezielle Anwendungsfälle. Eine Liste der Standardmodule findet sich unter https://httpd.apache.org/docs/2.4/en/mod/. Zusätzlich gibt es noch "externe" Module, zu denen beispielsweise auch das PHP-Modul gehört. Diese finden sich unter http://modules.apache.org/.

Jedes dieser zahlreichen Module hat eigene Konfigurationsparameter. Somit ist es möglich, den Webserver sehr speziell zu konfigurieren, da unüberschaubar viele Konfigurationsparameter zur Verfügung stehen.

Hinweis

Die nachfolgende Tabelle soll zeigen, was alles mit dem Apache möglich ist. Also bitte einmal durchlesen, aber natürlich nicht auswendig lernen ;-)

Die Auswahl einiger Apache-Standardmodule wurde der Apache-Dokumentation entnommen (siehe http://httpd.apache.org/docs/2.4/de/mod/):

Name der Apachemodule | Beschreibung
--- | ---
`mod_access` | Ermöglicht Zugriffskontrolle basierend auf Client-Hostname, IP-Adresse oder anderen Merkmalen der Client-Anfrage.
`mod_alias` | Ermöglicht das Abbilden verschiedener Teile des Host-Dateisystems im Dokumentenbaum und für URL-Umleitungen.
`mod_asis` | Sendet Dateien so wie sie sind ("asis") ohne einen HTTP-Header zu ergänzen. Damit muss die Programmierung auch den HTTP-Header enthalten.
`mod_auth` | Benutzerauthentifizierung mit Textdateien.
`mod_autoindex` | Generiert automatisch Verzeichnislistings, ähnlich dem Unix-Befehl `ls`.
`mod_deflate` | Komprimiert Inhalte, bevor sie an den Client geliefert werden.
`mod_dir` | Ermöglicht "Trailing-Slash"-Umleitungen und das Ausliefern von Verzeichnislistings.
`mod_env` | Modifiziert die Umgebung, die an CGI-Skripte und SSI-Seiten übergeben wird.
`mod_expires` | Generierung von Expires und Cache-Control HTTP-Headern gemäß benutzerspezifizierten Kriterien.
`mod_headers` | Anpassung des HTTP-Antwort-Headern.
`mod_log_config` | Protokollierung der an den Server gerichteten Anfragen.
`mod_mime` | Verknüpft die angeforderten Dateinamenserweiterungen mit dem Verhalten der Datei (Handler und Filter) und Inhalt (MIME-Typ, Sprache, Zeichensatz und Kodierung).
`mod_mime_magic` | Bestimmt den MIME-Typ einer Datei, indem einige Bytes ihres Inhalts betrachtet werden.

Und hier noch ein paar kuriose Module:

Name der Apachemodule | Beschreibung
--- | ---
`mod_speling` | Versucht, falsch eingegebene URLs zu korrigieren, indem Groß-/Kleinschreibung ignoriert wird und bis zu einem Rechtschreibfehler erlaubt ist.
`mod_ratelimit` | Bandbreitenbegrenzung für Clients
`mod_usertrack` | Klickstreamprotokollierung der Nutzeraktivität auf einer Website

Hinweis

Das Verständnis, dass es unterschiedliche Module gibt, ist für die Konfiguration des Apache-Webservers wichtig, da man den Parametern (beim Apache Direktiven genannt) in der Konfigurationsdatei die Zuordnung zu den Modulen nicht ansehen kann.