Aus LinuxUser 05/2004

Grundkonfiguration des Apache-Webservers

WWW für alle

Äußerst populär und daher bei fast allen Distributionen standardmäßig dabei – der Apache-Webserver ist ein Paradebeispiel für Open-Source-Software. Doch die Ernüchterung folgt auf den Fuß, denn seine Konfiguration wirkt auf den ersten Blick sehr umfangreich und dadurch kompliziert. Dieser Artikel gibt erste Hilfe.

Webserver stehen zumeist im Rechenzentrum; der Zugriff darauf erfolgt über das Internet. Wer sich jedoch in das Abenteuer namens „Der eigene Webserver“ stürzen möchte, tut gut daran, sich zunächst auf dem eigenen Computer mit der Software vertraut zu machen.

Es gibt auch andere Gründe, auf dem eigenen Arbeitsplatzrechner einen HTTP-Daemon zu betreiben: Eigene Web-Projekte lassen sich so stressfrei erarbeiten und testen, und so manche nützliche Anwendung funktioniert nur, wenn ein Webserver im Hintergrund werkelt.

Wenn aber ein eigener Apache läuft, dann sollte man wissen, wie man ihn konfiguriert und wo die relevanten Dateien liegen. Schließlich will man nicht einfach so Dateien ins Web stellen und mit einem offenen Scheunentor böse Buben auf den eigenen Rechner locken, sondern auch wissen, was dann passiert und wer alles auf die Inhalte zugreift. Nicht zuletzt kann man anderen Usern über Passwort-geschützte Bereiche Zugriff auf wichtige Inhalte erlauben, ohne dass gleich der gesamte Datenbestand weltöffentlich wird.

Den Apache-Webserver gibt es in zwei Entwicklungsreihen: den älteren, aber weiterhin als „Stütze des Webs“ fungierenden Apache 1.x (aktuellste Version: 1.3.30) sowie die modernere 2.x-er Reihe [1] (zu Redaktionsschluss bei 2.0.49 angelangt). Teilweise liefern selbst aktuelle Distributionen noch ältere Ausgaben mit. Für Einsteiger ist es jedoch unerheblich, welche Entwicklungsreihe installiert ist; in den wichtigsten Konfigurationspunkten unterscheiden sie sich nämlich nicht.

Was läuft?

Ob direkt bei der Installation eines Linux-Systems oder nachträglich – ist die Entscheidung für den Webserver gefallen, nimmt man am besten das Installationstool der jeweiligen Distribution her, um die gewünschten Apache-Pakete auszuwählen und einzuspielen. Je nach Distribution gehören zum Basis-Paket zusätzlich PHP oder eine Reihe Perl-Module, die man nach Belieben (und abhängig vom Einsatzzweck des Servers) installieren kann.

Einmal ins System eingespielt, vergewissert man sich, dass der Server läuft. Mit der Standard-Konfiguration sollte er sich ohne Probleme starten lassen. So zeigt

ps waux | grep httpd

an, wieviele Instanzen des Webservers laufen. Beim Apache heißt der Webserver-Dämon httpd und arbeitet im Hintergrund. Er ist es, der beim Starten des Webservers als erster Prozess angestoßen wird. Erst später kommen je nach Konfiguration (und je nach der Anzahl der Zugriffe auf den Server) weitere httpds als Kind-Prozesse hinzu. Daher kann es sein, dass ps jede Menge httpd-Einträge anzeigt. Sieht man keinen einzigen, dann läuft auch kein Webserver.

Wenn der Distributor den Server nicht bereits nach der Installation aktiviert, gibt es zwei Möglichkeiten, den Apachen zu starten – und natürlich auch zu stoppen. Einmal findet sich bei guten Distributionen im Verzeichnis /etc/init.d/ ein Start-Stopp-Skript, zum anderen gehört das Tool apachectl, das etwas mehr Optionen anbietet, zum Lieferumfang.

Ersteres startet den Server nach dem Booten mit dem Befehl

/etc/init.d/apache start

und beendet ihn beim Herunterfahren des Rechners mit

/etc/init.d/apache stop

Wer es von Hand auf der Kommandozeile aufruft, kann ihm statt start oder stop auch die Argumente restart bzw. reload mit auf den Weg geben. Der Unterschied zwischen diesen beiden besteht darin, dass beim Reload nur die Konfigurationsdatei neu eingelesen wird, während Restart einen bereits laufenden Apachen zuerst runterfährt, um ihn danach wieder zu starten. Läuft bislang kein Server, wirkt restart wie start.

Mit den Argumenten start, stop und restart kennt apachectl ähnliche Optionen wie das Start-Stopp-Skript. Zum Neuladen der Konfiguration kommt jedoch der Befehl

apachectl graceful

zum Einsatz. Bekommt der Systemverwalter dabei die Antwort command not found, gibt man den Pfad zum Programm mit an:

/usr/sbin/apachectl configtest

Die Option configtest macht nichts weiter, als die Konfiguration zu testen, aber das ist sehr hilfreich.

LinuxUser 05/2004 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: