![]() |
Die Apache-Konfigurationsdatei:
|
|
| |
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!
Natürlich werden die Sourcen oder binaries des Apache für eine Installation benötigt. Entweder lädt man sie sich von
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:
ftp://ftp.suse.com/pub/projects/apache (oder über YOU)
Für Fedora Core 2:
http://download.fedora.redhat.com/pub/fedora/linux/core/2/SRPMS und
http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/2/i386/SRPMS
Für Debian 3.0r2 (sarge):
http://ftp.de.debian.org/debian/pool/main/a/apache und
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
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.

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.

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
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.

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

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

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.

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.

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.
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
Download-Archiv Installer-Pakete bereit, erkennbar an der Dateinamenserweiterung MSI. Wer die Sourcen ebenfalls haben möchte, kann sich eines der ZIP-Archive von
http://www.apache.de/dist/httpd dazu downloaden.
In den Diskussionen des
SELFHTML Forum wird gelegentlich auch auf Apache-Installationen aus sogenannnten bundle-Lösungen aufmerksam gemacht. Es gibt mehrere Anbieter wie zum Beispiel
Foxserv oder
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
Download-Seite geschehen kann. Wird die MSI-Datei aufgerufen, erscheint dann, unabhängig von der eingesetzten Windows-Version, einer der bekannten "Assistenten".

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.

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.

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.

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:

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:

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ü.

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.

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.

Der optische Ablauf gestaltet sich so wie
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.

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

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

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.

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.
© 2007
Impressum, für diese Seite:
christoph.schnauss@berlin.de