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

Die Apache-Konfigurationsdatei:
Apache-Installation

nach unten Apache-Installation
nach unten Auf einem Linux-System
nach unten Auf einem Windows-System

Apache-Installation

Der Apache Webserver ist kostenlos und frei verfügbar. In unregelmäßigen Abständen werden von der Apache Software Foundation Updates bereitgestellt, so daß man im Internet bisweilen auf verschiedene Versionen trifft. Dabei hat die Entwicklerarbeit dazu geführt, daß derzeit zwei "Zweige" existieren: Version 1.3.x und die jüngere Version 2.x, die künftig die gültige Version darstellen wird. Die aktuelle Version (Stand Juli 2004) ist Version 2.0.50, bei der Apache Software Foundation ist aber bereits Version 2.1 in Arbeit. Der 1.3.x-Zweig ist mehr oder weniger "abgeschlossen", die letzte als stabil bezeichnete und zum Download angebotene Version ist 1.3.31 (Stand Juli 2004). Möglich ist, daß zur Behebung kleinerer Fehler noch Update- bzw. Bugfix-Versionen erscheinen. Am grundsätzlichen Aufbau dieses "Zweiges" wird sich nichts mehr ändern.

Beide Versionen unterscheiden sich zum Teil erheblich - auch in der Art und Wirkungsweie einiger Abschnitte der httpd.conf. Darüber hinaus verläuft die Installation auf den verschiedenen Plattformen (Betriebssystemen) auf sehr unterschiedliche Weise. Es soll daher kurz auf die beiden Plattformen Windows und Linux eingegangen werden. Der Artikel erhebt dabei keinerlei Anspruch auf Vollständigkeit!

nach obennach unten

Auf einem Linux-System

Natürlich werden die Sourcen oder binaries des Apache für eine Installation benötigt. Entweder lädt man sie sich von englischsprachige Seite http://www.apache.de/dist/httpd herunter oder man nimmt die auf den Installationsmedien (CDs) der ausgewählten Distribution immer mitgelieferten Pakete. Oft sind die dort enthaltenen Apache-Versionen aber nicht aktuell, dann kann man sich das benötigte Paket von einem FTP-Server holen.

Für SuSE Linux 9.1:
englischsprachige Seite ftp://ftp.suse.com/pub/projects/apache (oder über YOU)

Für Fedora Core 2:
englischsprachige Seite http://download.fedora.redhat.com/pub/fedora/linux/core/2/SRPMS und
englischsprachige Seite http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/2/i386/SRPMS

Für Debian 3.0r2 (sarge):
englischsprachige Seite http://ftp.de.debian.org/debian/pool/main/a/apache und
englischsprachige Seite http://ftp.de.debian.org/debian/pool/main/a/apache2
Wenn apt-get richtig konfiguriert ist, bekommt man damit einen Apache angeboten, der dann auch gleich ins System integriert wird.

Für Gentoo und FreeBSD 5.2.1:
Selbstverständlich gibt es auch dafür FTP-Server, von denen man sich die gewünschten Pakete direkt holen könnte, jedoch sind die Update-Mechanismen über den portage-Tree (Gentoo) bzw. das ports-System (FreeBSD) so ausgefeilt und zuverlässig, daß ein gesonderter FTP-Download kaum empfehlenswert ist. Die systemeigenen Mechanismen erlauben es außerdem, zu entscheiden, ob man die Integration ins System der "Systemroutine" überlassen oder selbst vornehmen möchte.

Der wichtigste Unterschied zu einer Windows-Installation besteht wahrscheinlich darin, daß bei Installationsvorgängen auf einem Linux-Rechner die Software in der Regel aus den Sourcen kompiliert und damit an das vorhandene System angepaßt werden muß. Installationswerkzeuge wie z.B. YaST, anaconda oder apt-get greifen auf die vorkompilierten Pakete zu und erledigen die wenigen noch nötigen Kompiliervorgänge automatisch. Diese distributionsspezifischen Pakete sorgen mit im jeweiligen Header enthaltenen Anweisungen dafür, daß das Installationstool zusätzliche Systemscripts erstellt und Apache an den vom Distributor vorgesehenen Orten installiert. Man kann in den Installationsvorgang bei der Wahl einer solchen Methode nicht selbst eingreifen, und das kann bisweilen dazu führen, daß dann einige spezielle Module nicht vorhanden sind oder nicht auf die gewünschte Weise arbeiten. Wer die Arbeitsweise "seines" Apache wirklich verstehen und selbst festlegen möchte, sollte sich ihn Seite selbst kompilieren.

Die in diesem Artikel beschriebenen Beispiele wurden mit folgenden Distributionen getestet:

Wird der Apache unter Linux eingerichtet, müssen nicht alle Dateien in den Unterverzeichnissen eines gemeinsamen Apache-Verzeichnisses zu finden sein, obwohl man sich das natürlich auch so einrichten kann. Distributionen, die bestimmte Installationswerkzeuge nutzen (SuSE, Red Hat/Fedora und andere), legen die Dateien in Verzeichnisse, die die jeweiligen Distributoren für angemessen halten. Die Konfigurationsdatei liegt oft in einem Verzeichnis /etc/httpd oder /etc/apache2. Bei Red Hat 9 bzw. Fedora ist es, wenn man das distributionsspezifische RPM-Paket benutzt, /etc/httpd/conf.

Apache-Dateien

Ab Apache 2.0.49 gehen mehrere Distributionen (zumindest SuSE Linux 9.x, Debian 3.0r2 (sarge) und Gentoo) eigene Wege bei der Zusammenstellung der Apache-Konfigurationsdatei. Sie wird in mehrere einzelne Dateien aufgeteilt. Vielleicht am weitesten geht dabei die SuSE: Die ursprüngliche httpd.conf wird in mehrere einzelne Dateien aufgetrennt und diese verschiedenen Konfigurationsdateien werden dann in einer neuen httpd.conf mit Hilfe des include-Befehls eingebunden.

httpd.conf

In Debian und Gentoo wird darüberhinaus der Dateiname httpd.conf gar nicht mehr verwendet, sie heißt jetzt apache2.conf. Etwas ausführlicher wird auf die Möglichkeit, die Konfigurationsdatei aufzusplitten, an der Seite entsprechenden Stelle dieses Artikels eingegangen.

Die ausführbare Datei kann httpd (Apache 1.3.x) oder httpd2 bzw. apache2 (Apache 2.0.x) heißen. In Debian 3.0r2 (sarge) und Gentoo ist es zum Beispiel /usr/sbin/apache2.

httpd

In SuSE Linux 9.1 ist es /usr/sbin/httpd2. Die Module werden meistens in /usr/lib/apache/modules (Apache 1.3.x) bzw. in /usr/lib/apache2/modules zu finden sein, und das Webverzeichnis ("DocumentRoot") legt die SuSE unter /srv/www/htdoc an, Debian schlägt /var/www/apache2-default vor. Die Ablageorte können also unterschiedlich ausfallen, je nachdem, welche Linux-Distribution benutzt wird, welche Apache-Version, und ob bei der Installation die Standard-Vorgaben des Distributors übernommen wurden oder nicht. Wird auf eine distributionsspezifische Installation verzichtet und der Apache individuell aus den Sourcen kompiliert, wird häufig der Vorschlag der Apache Software Foundation übernommen und als Installationsort /usr/local/apache oder /usr/local/apache2 gewählt. Jedoch kann man die Ablageorte selbstverständlich selbst bestimmen.

Gestartet werden kann der Apache durch den Aufruf seines Namens:

httpd2 -k start

Einige Distributionen starten den Apache Webserver nicht unmittelbar, sondern lassen ihn von einem Script apachectl bzw. apachectl2 aufrufen. Dem Startaufruf können unterschiedliche Parameter mitgegeben werden.

Meistens möchte man, daß der Webserver sofort bei Systemstart initialisiert und ebenfalls gestartet wird. Er soll also als "Daemon" im Hintergrund eingesetzt werden. Das ist problemlos möglich, jedoch unterscheiden sich auch hier wieder die Distributionen teilweise erheblich in der Art, wie man solche Hintergrunddienste einrichten kann. Das Initialisierungsscript, das meist in /etc/init.d abgelegt oder dorthin verlinkt wird, ist im Sourcenpaket unter dem Namen httpd.init enthalten. Es wird auch dann angelegt und distributionsspezifisch angepaßt, wenn man sich seinen Apache selbst kompiliert. Als Systemadministrator muß man lediglich dafür sorgen, daß dieses Script auch tatsächlich von den Start-/Stop-Scripts des jeweiligen Runlevels angesprochen wird.

SuSE Linux 9.1:
Die SuSE macht es, wie fast immer, etwas komplizierter. Es gibt in YaST einen speziellen Bestandteil, der "Runlevel-Editor" heißt

YaST-Runlevel-Editor

und mit dessen Hilfe sich einstellen läßt, welche Dienste aktiviert werden sollen. Darüberhinaus gibt es einen "Editor für /etc/sysconfig-Dateien".

YaST-sysconfig-Editor

Hier können einige Konfigurationsschritte absolviert werden, allerdings sollte damit vorsichtig umgegangen werden, da dieser Editor unmittelbar die in die httpd.conf eingebundenen Dateien bearbeitet.

Fedora Core 2:
Ähnlich wie in SuSE gibt es auch hier einen kleinen grafischen Editor, der ebenfalls nichts anderes tut, als die Initialisierungsscripte von /etc/rc.d/init.d zu den gewünschten Runleveln zu verlinken.

Fedora-Dienste

Debian 3.0r2 (sarge):
Software, die mit apt-get installiert wird und als Dienst bzw. daemon eingesetzt werden soll, erhält automatisch ein Initialisierungsscript in /etc/init.d. Auch für den Apache gibt es ein solches Initialisierungsscript. Das Verzeichnis /etc/init.d wird während des Systemstarts ausgelesen. Eine Kontrollmöglichkeit, welche Dienste gestartet werden, bietet das kleine Programm rcconf.

Debian - rcconf

Gentoo:
Auch hier gibt es ein kleines Initialisierungsprogramm, das dafür sorgt, daß die nötigen Links und Scripte erstellt oder aktualisiert werden. Mit dem Konsolenbefehl rc-update add apache default werden die benötigten Links erzeugt und im Verzeichnis /etc/runlevels/default abgelegt.

FreeBSD 5.2.1:
Während des Systemstarts wird außer in /etc/rc.d auch im Verzeichnis /usr/local/etc/rc.d nach Scripts gesucht, die die lokal installierten "Daemonen" starten. Wenn der Apache über den port oder mit pkg_add installiert wurde, liegt hier ein kleines Shellscript, das apache.sh bzw. apache2.sh heißt und für den Start des Apache-Daemons zuständig ist. Eventuell muß der Name des Scripts korrigiert werden, und das Script muß ausführbar sein, dann startet Apache als Hintergrunddienst bei Systemstart. Ab Apache 2.0.49 kann eine Zeile apache2_enable="YES" dafür sorgen, daß der Apache gemeinsam mit dem Betriebssystem als "Dämon" hochgefahren wird und seine Funktionalität zur Verfügung stellt.

nach obennach unten

Auf einem Windows-System

Wer sich einen Apache unter Windows einrichten möchte, muß sich zunächst entscheiden, welche Version installiert werden soll und dabei auch berücksichtigen, welche Windows-Version auf seinem Rechner vorhanden ist. Grundsätzlich ist zwar Apache 2.0.x zu empfehlen, manchmal gibt es jedoch Gründe, den älteren Apache 1.3.x einzusetzen. Für beide Versionen stellt die Apache Software Foundation in ihrem englischsprachige Seite Download-Archiv Installer-Pakete bereit, erkennbar an der Dateinamenserweiterung MSI. Wer die Sourcen ebenfalls haben möchte, kann sich eines der ZIP-Archive von englischsprachige Seite http://www.apache.de/dist/httpd dazu downloaden.

In den Diskussionen des bereichsübergreifende Seite SELFHTML Forum wird gelegentlich auch auf Apache-Installationen aus sogenannnten bundle-Lösungen aufmerksam gemacht. Es gibt mehrere Anbieter wie zum Beispiel englischsprachige Seite Foxserv oder deutschsprachige Seite Apachefriends, die ein bereits fertig zusammengestelltes WAMP- bzw. LAMP-Paket zum Download anbieten, womit man sich einige Schritte bei der Software-Installation sparen kann. Leider sind diese Pakete oft so "voreingestellt", daß es schwer fällt, im Nachhinein Systempfade und ähnliches an die eigene Rechnerkonfiguration anzupassen oder einzelne Teilpakete auf neuere Versionen umzustellen. Günstiger ist es sicherlich, sich Software immer von der Originalquelle zu besorgen.

Die vorgestellten Beispiele wurden mit Hilfe folgender Windows-Rechner überprüft:

Grundsätzlich ist die Installation mit Hilfe eines der MSI-Installerpakete zu empfehlen. Der Microsoft-Installer, der für das Ausführen solcher Installationsdateien zuständig ist, gehört ab Windows 2000 zum Betriebssystem. Für ältere Windows-Versionen muß man sich unter Umständen zuerst den Installer besorgen, was von der entsprechenden englischsprachige Seite Download-Seite geschehen kann. Wird die MSI-Datei aufgerufen, erscheint dann, unabhängig von der eingesetzten Windows-Version, einer der bekannten "Assistenten".

Apache-Installer

Ein kurzer Dialog mit diesem Assistenten begleitet die Installation. Zuerst müssen ein Domainname, ein Servername und eine mail-Adresse für den Administrator angegeben werden. Wenn man nicht Inhaber einer eigenen Domain ist oder den Apache in einem lokalen Netz zu Testzwecken einrichten möchte, sollte hier nicht versucht werden, einen realen Domainnamen anzugeben, den es im Internet bereits gibt. Die Option, den Apache als Dienst für alle Benutzer einzurichten, ist auf einem Win9x-Rechner problematisch. Sie kann nur dann erfolgreich eingesetzt werden, wenn alle von Microsoft bereitgestellten Updates eingespielt wurden. Der Installer für Apache 1.3.31 ist prinzipiell in der Lage, den Server auch unter Windows 98SE als Hintergrunddienst einzurichten, ab Windows 2000 ist das ohnehin kein Problem.

Apache-Installer

Das nächste ist die üblich gewordene Option, eine komplette Installation ausführen zu lassen oder sie persönlich zu steuern. Auch hier gilt, daß eine benutzergesteuerte Installation ("custom") immer zu empfehlen ist.

Apache-Installer

Mit der "benutzergesteuerten Installation" läßt sich festlegen, welche Software-Bestandteile man gern haben möchte und vor allem läßt sich der Pfad zum Installationsverzeichnis individuell bestimmen. Der voreingestellte "default"-Pfad ist C:\Programme\Apache Group\. Für die in diesem Artikel benutzten Beispiele wurde die Auswahl aber grundsätzlich so getroffen, daß am Ende ein Verzeichnis D:\Apache vorhanden ist.

Schließlich wird der Installationsprozeß gestartet. Die Dateien werden auf die Festplatte kopiert, wobei Domainname, Servername und Administrator-Mailadresse in die httpd.conf geschrieben werden, zugleich werden die nötigen Einträge in der registry vorgenommen. Je nach der Leistungsfähigkeit des Rechners dauert das einige wenige Minuten.

Apache-Installer

Zuletzt meldet der Assistent noch, daß alles korrekt verlaufen ist. Ein Systemneustart ist in der Regel nicht erforderlich.

Diese Schritte sind für Apache 1.3.31 und Apache 2.0.50 identisch und laufen auf den verschiedenen Windows-Versionen in gleicher Art ab. Der Installer versucht noch, den Webserver sofort zu starten, was in der Regel problemlos geschehen sollte. Sofern die Option, den Apache als Dienst einzurichten, bestätigt wurde, versucht die Installationsroutine zusätzlich, diesen Dienst zu initialisieren. Der Apache läuft dann bereits als Hintergrunddienst und kann im Browser mit der Adreßeingabe http://localhost oder http://127.0.0.1 aufgerufen werden. Es erscheint das Standard-Dokument:

Standardseite

Damit ist die Installation abgeschlossen. Alles, was jetzt noch folgt, betrifft die Konfiguration und Administration des neu installierten Webservers.

Windows98SE (Apache 1.3.31)
Nach einer vollständigen ("complete") Installation des Apache Webservers 1.3.31 auf einem Windows 98 SE-Rechner zeigt der Windows-Explorer folgenden Inhalt des Verzeichnisses D:\Apache:

Apache 1.3.31-Verzeichnis unter Windows

Nur die drei mit fetter Schrift hervorgehobenen Unterverzeichnisse sind tatsächlich zwingend nötig - allerdings wird ein "DocumentRoot" (das hier zunächst D:\Apache\htdocs heißt und unter anderem das Standard-HTML-Dokument enthält) ebenfalls zwingend benötigt, nur sollte das nicht unbedingt an diesem Ablageort belassen, sondern mit der entsprechenden Modifikation der dafür zuständigen Anweisung in der httpd.conf an anderer Stelle, günstigerweise auf einer eigenen Partition oder Festplatte, zugeordnet werden. Dazu folgen später weitere Erläuterungen.

Das Apache-Verzeichnis selbst enthält neben einigen Informationsdateien, deren Lektüre sehr zu empfehlen ist, die zentrale ausführbare Datei apache.exe sowie die fundamentale Betriebsbibliothek ApacheCore.dll und einige wenige weitere Dateien wie zum Beispiel die Lizenz. Lesenswert ist die relativ kleine Datei WARNING-WIN.TXT.

Der Installations-Assistent legt nicht nur diese Verzeichnisse an, sondern erstellt auch eine neue Programmgruppe für das Startmenü.

Startmenü Apache 1.3.31

Dafür, daß der Apache bei Systemstart als Dienst gleich mitgestartet wird, sorgt eine Eintragung in die registry unter dem Schlüssel HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices. Diese Möglichkeit, einen Apache 1.3.x oder 2.0.x als Dienst starten zu lassen, gibt es nur dann, wenn die von Microsoft angebotenen Updates eingespielt wurden.

Registryeinträge

Existiert eine solche Eintragung nicht, kann "D:\Apache\Apache.exe" -k start -n Apache von Hand an der entsprechenden Stelle in die registry eingefügt werden. Damit ist dann die Grundinstallation erfolgreich verlaufen und es kann danach an die Feinarbeit herangegangen werden. Das heißt, um die Aufgaben, die Apache erledigen soll, genauer festzulegen, ist es nurmehr erforderlich, die individuellen Anpassungen dafür in der httpd.conf vorzunehmen.

WindowsXP (Apache 2.0.50)
Der Assistent macht freundlich auf die zu installierende Apache-Version aufmerksam.

Apache-Installer

Der optische Ablauf gestaltet sich so wie nach oben oben beschrieben. Der Server wird sofort nach Abschluß der Installation gestartet und läuft danach als Systemdienst im Hintergrund. Man sieht es daran, daß nacheinander zwei "DOS-Fenster" kurz geöffnet und rasch wieder geschlossen werden, danach sind im Task-Manager zwei Apache-Prozesse mit unterschiedlicher Speicherbelastung zu finden. Auch in der registry gibt es einige neue Einträge, der vielleicht wichtigste läßt sich hier, anders als in Windows 9x, unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Apache2 finden.

Apache-Registryeinträge

Dieser Schlüssel ist auch dafür zuständig, daß der Apache in der Liste der Dienste aufgeführt wird.

Dienst

Die Programmgruppe im Startmenü zeigt mehrere neue Einträge, wie sie bereits von Apache 1.3.31 her bekannt sein können

Startmenü Apache 2.0.50

und am Inhalt der Systemordner hat sich gegenüber Apache 1.3.31 einiges verändert. Die ausführbare Datei liegt jetzt im Verzeichnis D:\Apache\bin, neu hinzugekommen ist ein Verzeichnis D:\Apache\error mit einigen vorformulierten Fehlermeldungen, die Dokumentation liegt jetzt in einem eigenen Verzeichnis, der Inhalt des Modul-Verzeichnisses ist erheblich erweitert worden und das Stammverzeichnis ist bis auf wenige Textdateien vorläufig leer.

Apache 2.0.50-Verzeichnis unter Windows

Auch hier gilt, daß für einen Testlauf nur vier Unterverzeichnisse wirklich zwingend benötigt werden. Das Verzeichnis D:\Apache\bin gehört bei einem Apache 2.0.50 selbstverständlich dazu.

weiter Seite Apache selbst kompilieren

zurück Seite Unix / Linux und Windows

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