LPIC-1-Vorbereitung - Teil 19: Apache
Fit fürs Web 1.0
von Hans-Georg Eßer
Erschienen im Linux-Magazin
2008/02
Apache ist ein Klassiker: Der HTTP-Daemon läuft auf etlichen Webservern. Für die Level-1-Zertifizierung erwartet das LPI Grundkenntnisse zur Konfiguration, wie sie dieser Artikel vermittelt.
Für die erfolgreiche Teilnahme an der LPI-Prüfung 102 sind auch grundlegende Kenntnisse über die Installation und Konfiguration des Webservers Apache notwendig - wenn auch bei Weitem nicht so detailliert wie für die Level-2-Prüfungen. Dieser Artikel gibt einen Überblick über die wichtigsten Einstellungen. Apache gibt es in zwei Versionszweigen: Zwar betrachten die Entwickler Apache 2.x schon seit Jahren als stabile Version, der 1.x-Zweig erfreut sich aber immer noch großer Popularität und es erscheinen auch gelegentlich neue Versionen.
Apache-Konfiguration
Bei der Basiskonfiguration eines einfachen Webservers gibt es aber nur wenige Unterschiede zwischen Apache 1.x und 2.x, sodass eine gleichzeitige Beschreibung beider Versionen möglich ist. In beiden Apaches heißt die zentrale Konfigurationsdatei »httpd.conf«, sie liegt abhängig von der Version und der eingesetzten Linux-Distribution in unterschiedlichen Verzeichnissen - etwa »/etc/apache« oder »/etc/apache2«.
Bei der Konstellation Debian/Apache 2 heißt die Datei »apache2.conf«. Ist der Aufenthaltsort unklar, hilft eine Überprüfung mit dem Paketmanager, unter Debian- und RPM-basierten Distributionen zum Beispiel mit »rpm -ql apache2 | grep httpd.conf« oder »dpkg -L apache«. Der Administrator »root« hat häufig das Apache-Binary (das »httpd«, »httpd2« oder »apache« heißt) im Pfad und kann es mit der Option »-V« aufrufen, um den Pfad zur Konfigurationsdatei zu erfragen:
# httpd2 -V | grep SERVER_CONF
-D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf"
Die Konfigurationsdatei ist gut dokumentiert (Abbildung 1), das vorbereitete Template enthält schon alle notwendigen Einträge, wenn auch teils auskommentiert. Am Anfang der Datei stehen einige globale Einstellungen: Die Option »ServerType« legt fest, ob Apache als eigenständiger Daemon (»ServerType standalone«) läuft oder ob ein Internet Services Daemon [4] ihn startet (»ServerType inetd«). »ServerRoot« gibt das Installationsverzeichnis des Webservers an: Wenn diese Option gesetzt ist, versteht Apache relative Angaben in anderen Optionen und bezieht sie auf dieses Wurzelverzeichnis. Über »ErrorLog« und »CustomLog« ist es möglich, systemweite Logdateien für Fehler und für Zugriffe festzulegen. Diese Angaben nehmen die meisten Administratoren aber für jede gehostete Domain individuell vor (siehe Abschnitt "Virtuelle Hosts").

|
Abbildung 1: Die Konfigurationsdatei von Apache 2 liest über »Include«-Anweisungen zahlreiche weitere Dateien ein. Einige Editoren, etwa Kate und Vi, verstehen das Format und erleichtern die Anpassung durch Syntax-Highlighting.
|
|
Das Linux Professional Institute gliedert die Prüfungsfragen in Aufgabengruppen. Dieser Artikel erklärt den folgenden Abschnitt:
- 1.113.3 Betrieb und grundlegende Konfiguration von Apache
|
Einstellungsdetails
Die Option »DirectoryIndex« legt fest, nach welchen Dateien Apache suchen soll, wenn ein Webbrowser ein Verzeichnis anfordert (etwa [http://www.example.org/] statt [http://www.example.org/index.html]) - häufig steht hier nur »DirectoryIndex index.html index.htm«. Damit Apache auch CGI-Indexdateien akzeptiert, ist dieser Eintrag wie folgt zu erweitern:
DirectoryIndex index.html index.htm index.cgi
Für die Optimierung kennen Apache 1.x und 2.x unterschiedliche Parameter. Welche die richtigen sind, hängt vom Laufzeitmodell ab, mit dem der Daemon arbeitet: Die alte Version startet für die parallele Bearbeitung mehrerer Anfragen separate Prozesse, während Apache 2.x hierfür mehrere Modelle anbietet und wahlweise mit Prozessen oder Threads arbeitet. Typisch für das Prozessmodell (Apache 1.x oder 2.x) sind die Optionen »StartServers«, »MinSpareServers«, »MaxSpareServers«, »ServerLimit«, »MaxClients« und »MaxRequestsPerChild«, während für die Thread-Variante (nur Apache 2.x) Einträge der Form
StartServers 3
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
MaxClients 150
ThreadsPerChild 25
MaxRequestsPerChild 10000
in der Konfigurationsdatei stehen. Bei Apache 2 finden sich diese Angaben oft in einer separaten Datei (bei Open Suse etwa in »/etc/apache2/server-tuning.conf«), auf die die Datei »httpd.conf« mit einer »Include«-Anweisung verweist.
Um einen Wechsel zwischen beiden Laufzeitmodellen ohne Änderung der Konfiguration zu erlauben, ist das verwendete Modell über Blöcke »<IfModule prefork.c> ... </IfModule>« (für das Prozessmodell) und »<IfModule worker.c> ... </IfModule>« (für das Thread-Modell) abfragbar.
Apache unterstützt das Konzept der virtuellen Server. Das bedeutet, dass ein einziger Server mehrere (Sub-)Domains verwaltet und abhängig vom Servernamen, der Teil der Anfrage ist, unterschiedliche Webseiten ausliefert.
| Whitepaper |
|
Daten Migration - Eine Publikation von Bloor Research
Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.
Download PDF (Registrierung erforderlich)
|
|
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele
Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|