![]() |
Die Apache-Konfigurationsdatei:
|
|
| |
Als "Testinstallation" für die Version 1.3.31 wurde ein auf SuSE Linux 9.1 eingerichteter Apache verwendet. Das hat verschiedene Gründe: einmal gehört die SuSE zu den in unserem Sprachraum am weitesten verbreiteten Linux-Distributionen, zum anderen gibt es allerhand "Eingriffe", die sich in der httpd.conf bemerkbar machen und weniger mit dem Apache, sondern mehr mit den Vorstellungen der SuSE-Hersteller zu tun haben. Was damit gemeint ist, wird sich in den Details weiter unten zeigen. Damit alles einigermaßen übersichtlich bleibt, ist die Konfgurationsdatei in 18 kleinere Schnipsel zerlegt worden. Wer sie sich aber gerne als Ganzes anschauen möchte, kann das natürlich auch tun:
gesamte httpd.conf anzeigen
Bei einer Neuinstallation von SuSE Linux 9.1 stehen die Sourcen für den älteren Apache 1.3.31 nicht mehr zur Verfügung, es wird nur noch Apache 2.0.50 angeboten. Wer aus irgendeinem Grund unbedingt die ältere Version des Webservers installieren möchte, muß sie sich von
ftp://ftp.suse.com/pub/projects/apache/apache/9.1-i386 besorgen.
Um den Webserver zu starten, wird das Script apachectl benötigt, das im RPM-Paket enthalten ist; ein Konsolenaufruf mit httpd -k start führt zu einer Fehlermeldung.
Richtet man sich seinen Apache nicht mit Hilfe der RPM-Pakete ein, sondern kompiliert ihn selbst, so sieht die httpd.conf wesentlich "schlanker" aus als das hier vorgestellte Beispiel. Allerdings macht dann die Systemintegration auch etwas mehr Mühe. Für die Übersetzung der Kommentare ins Deutsche ist eine httpd.conf verwendet worden, die man unmittelbar nach der Systeminstallation im Verzeichnis /etc/httpd vorfinden könnte.
Die ersten etwa 30 Zeilen der httpd.conf (im übersetzten Beispiel sind es aufgrund zusätzlich eingefügter Kommentarzeilen etwas mehr) enthalten noch keinerlei Anweisungen, sondern lediglich einige kurze Hinweise allgemeiner Art.
httpd.conf-Abschnitt anzeigen
Dieser Abschnitt der Konfigurationsdatei enthält zunächst einige allgemeine Anweisungen zur Arbeitsumgebung des Webservers.
httpd.conf-Abschnitt anzeigen
Die danach folgende Liste der Module ist einem nicht sofort verständlichen Konzept verpflichtet. Wie bereits ausgeführt, gibt es Module, die fest einkompiliert (statisch verbunden), und andere Module, die mit LoadModule dynamisch dazugeladen werden können. Die Anweisung ClearModuleList entfernt zunächst wieder sämtliche Module, daher müssen sie mit AddModule erneut angesprochen werden - sowohl die statisch eingebundenen wie auch die dynamisch dazugeladenen. In der Version 2 des Apache Webservers ist dieses relativ umständliche Konzept endlich aufgegeben worden.
httpd.conf-Abschnitt anzeigen
Das ist der anfangs, ehe man daran gehen kann, die httpd.conf zu bearbeiten (falls sie entgegen dem
Rat dieses Artikels nicht völlig neu zusammengestellt wird), umfangreichste Abschnitt. An seinem Beginn stehen zunächst ein paar Anweisungen dafür, welche auf dem Server-Rechner vorhandenen Verzeichnisse angesprochen und von wem sie ausgelesen werden dürfen.
httpd.conf-Abschnitt anzeigen
Gesonderte Zugriffsbestimmungen für Benutzerverzeichnisse bzw. für DocumentRoot sind nicht zwingend erforderlich, wenn man den Apache lediglich zu Testzwecken lokal installiert. Wird er aber mit öffentlichen Aufgaben betraut und als "produktiver Server" eingesetzt, kann diesen Zugriffsbestimmungen eine hohe Bedeutung zukommen.
httpd.conf-Abschnitt anzeigen
Der Apache übermittelt Daten, die Bestandteile ganzer Dateien sind, sendet und empfängt aber auch andere Daten. Er muß darüber informiert werden, welche Dateitypen er zur Weiterleitung übergeben bekommen darf und wie er darauf reagieren soll. Der größte Teil dieser Informationen über die verschiedenen MIME-Typen wird in einer externen Datei mime.types zusammengefaßt, deren Inhalt vom Server wieder ausgelesen werden muß.
httpd.conf-Abschnitt anzeigen
Ein Modul, das zwar mit dem Apache zusammenarbeiten kann, jedoch nicht zum Apache selbst gehört, ist mod_backhand. Es kann dazu eingesetzt werden, die "Lastenverteilung" zwischen verschiedenen Serverprozessen auszugleichen und wird von der SuSE hier vorgesehen - das ist der erste etwas längere Abschnitt, der zu den weiter oben angesprochenen "Eigenarten" einer SuSE und nicht zu einer "Standard-Installation" des Apache-Webservers gehört. Wer Näheres über dieses Modul erfahren möchte, kann sich darüber auf
http://www.backhand.org/mod_backhand informieren.
httpd.conf-Abschnitt anzeigen
Sowohl für Testzwecke wie auch im öffentlichen Betrieb sind Protokolle, die über verschiedene Zugriffe, aber auch über aufgetretene Fehler informieren, sehr wichtig. Selbstverständlich können auch diese Protokolldateien vielfältig konfiguriert werden.
httpd.conf-Abschnitt anzeigen
Da es sehr mühsam wäre, immer den vollständigen Pfad in der Adreßzeile eines Browsers einzugeben, kann mit einer Vielzahl von Aliases gearbeitet werden. Einige wenige dieser Aliasnamen sind voreingestellt.
httpd.conf-Abschnitt anzeigen
Primäre Aufgabe eines Webservers ist die Datenübermittlung, nicht aber die Datenverarbeitung. Häufig verlangen jedoch Webseiten bestimmte Vorgänge der Datenverarbeitung. Dazu übergibt der Apache die Daten an einen seiner Partner, beispielsweise an Perl, und nimmt dann dessen Arbeitsergebnisse wieder entgegen. Es ist eine Konvention, CGI-Scripts und -Programme in gesonderten cgi-bin-Verzeichnissen abzulegen.
httpd.conf-Abschnitt anzeigen
Gelegentlich möchte man sich anhand einer Auflistung einen schnellen Überblick über einen Verzeichnisinhalt verschaffen. Für die Ausgabe dieser Informationen benötigt Apache einige Anweisungen, die jetzt folgen.
httpd.conf-Abschnitt anzeigen
Etwas weiter oben war bereits eine externe Datei mit der Liste der zulässigen MIME-Typen eingelesen worden, wofür das Modul mod_mime_magic zuständig ist. Das Modul mod_mime wird nun abgefragt, um Dokument-Typen zu bestimmen, wobei die Festlegungen zur Spracheinstellung sehr wichtig sein können und sorgfältig ausgewählt werden sollten. Wesentlich für die Behandlung von Dateiinhalten ist auch, ob sie zur Datenverarbeitung an Handler übergeben werden sollen. mod_mime wird aufgrund der Vielzahl seiner Direktiven wahrscheinlich immer in der Modulliste aktiviert sein.
httpd.conf-Abschnitt anzeigen
Einige spezielle Anweisungen folgen noch, die nicht zwingend benötigt werden und teilweise "ästhetische" Effekte haben, wie zum Beispiel individuelle Fehlerseiten.
httpd.conf-Abschnitt anzeigen
Am Ende des zweiten Abschnitts der Apache-Konfigurationsdatei stehen Anweisungen zu spezifischen Ausgaben über die Serverkonfiguration.
httpd.conf-Abschnitt anzeigen
Vorgegeben wird von der Apache Software Foundation lediglich ein sehr kleines und wenig aussagekräftiges Beispiel für einen virtuellen Host. Wenn der Apache als produktiver Server eingesetzt werden soll, kann sich daraus allerdings eine sehr, sehr lange Liste entwickeln.
httpd.conf-Abschnitt anzeigen
Die folgenden Zeilen betreffen Sicherheitseinstellungen, die mit Hilfe eines eigenen Protokolls realisiert werden. Das bringt es mit sich, daß hier tatsächlich mehrere hundert Zeilen mit Konfigurationanweisungen benötigt werden. Von der Apache Software Foundation ist eigentlich vorgesehen, aufgrund der Komplexität dieser Anweisungen alles in einer externen Datei ssl.conf abzulegen, die dann mit "Include" eingebunden wird. Die SuSE beharrt allerdings schon lange darauf, diese Anweisungen unmittelbar in die httpd.conf zu schreiben. Es empfiehlt sich, diese Zeilen mit besonderer Sorgfalt zu lesen.
Für eine Testinstallation kann man sie allerdings ganz und gar streichen, da man auf dem eigenen Rechner keine Sicherheitseinstellungen braucht, aber ein produktiver Server könnte sogar noch weitere und detailliertere Angaben benötigen, um wirklich "sicher" zu erscheinen.
httpd.conf-Abschnitt anzeigen
Der überwiegende Teil der Sicherheitseinstellungen wird für jeden virtuellen Host gesondert vorgenommen. Daher gibt die SuSE ein sehr umfangreiches Beispiel, wie das aussehen könnte, ihrer Art der Apacheinstallation mit.
httpd.conf-Abschnitt anzeigen
Am Ende der httpd.conf bindet die SuSE eine Datei ein, die selbst wiederum weitere Konfigurationsdateien aufruft. Darüber wird beispielsweise die Suchfunktion der (lokalen) Supportdatenbank sowie die SuSE-Hilfe angesprochen. Man kann bei Bedarf natürlich noch beliebig viele weitere Konfigurationsdateien entsprechend eigenen Anforderungen einbinden.
httpd.conf-Abschnitt anzeigen
© 2007
Impressum, für diese Seite:
christoph.schnauss@berlin.de