Apache starten - Apache HTTP Server

Apache HTTP Server Version 2.0

Apache > HTTP-Server > Dokumentation > Version 2.0

# Apache starten

Verfügbare Sprachen: de | en | es | ja | ko | ru

Unter Windows läuft der Apache üblicherweise als Dienst (Windows NT, 2000 und XP) oder als Konsolenanwendung (Windows 9x und ME). Für Einzelheiten lesen Sie bitte Apache als Dienst betreiben und Apache als Konsolenanwendung betreiben.

Unter Unix wird das `httpd`-Programm als Daemon ausgeführt, der im Hintergrund fortlaufend aktiv ist, um Anfragen zu bearbeiten. Dieses Dokument beschreibt, wie `httpd` aufgerufen wird.

### Siehe auch

- Beenden und Neustarten
- `httpd`
- `apachectl`

## Wie der Apache startet

Wenn die in der Konfigurationsdatei angegebene `Listen`-Anweisung auf die Voreinstellung von 80 gesetzt ist (oder einen anderen Port unterhalb von 1024), dann müssen Sie root-Berechtigung besitzen, um den Apache starten zu können. Nur dann kann er sich an diesen privilegierten Port binden. Sobald der Server gestartet ist und einige vorbereitende Aktionen wie das Öffnen seiner Log-Dateien ausgeführt hat, startet er mehrere Kind-Prozesse, welche die Arbeit erledigen: das Lauschen auf und Beantworten von Anfragen von Clients. Der Haupt-`httpd`-Prozess läuft unter dem Benutzer root weiter, die Kind-Prozesse jedoch werden unter weniger privilegierten Benutzerkennungen ausgeführt. Dies wird von dem ausgewählten Multi-Processing-Modul gesteuert.

Die Verwendung des Steuerskripts `apachectl` ist die empfohlene Methode, das `httpd`-Programm zu starten. Dieses Skript setzt verschiedene Umgebungsvariablen, die für die korrekte Funktion von `httpd` unter einigen Betriebssystemen notwendig sind, und startet dann das `httpd`-Programm. `apachectl` reicht alle Kommandozeilenargumente durch, so dass alle `httpd`-Optionen auch mit `apachectl` verwendet werden können. Um den korrekten Ablageort des `httpd`-Programms sowie einige Kommandozeilenargumente anzugeben, die Sie immer verwenden möchten, können Sie auch das Skript `apachectl` direkt editieren und die Variable `HTTPD` am Anfang ändern.

Das Erste was `httpd` macht, wenn es startet, ist das Suchen und Einlesen der Konfigurationsdatei `httpd.conf`. Der Ablageort dieser Datei wird zur Kompilierungszeit festgelegt. Es ist aber möglich, den Ablageort zur Laufzeit anzugeben, indem die Kommandozeilenoption `-f` wie folgt verwendet wird:

`/usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd.conf`

Wenn während des Starts alles gutgeht, trennt sich der Server vom Terminal ab und die Eingabeaufforderung erscheint gleich darauf wieder. Dies zeigt an, dass der Server hochgefahren ist und läuft. Sie können nun Ihren Browser benutzen, um Verbindung zum Server aufzunehmen und sich die Testseite im `DocumentRoot`-Verzeichnis anzusehen wie auch die lokale Kopie der Dokumentation, die von dieser Seite aus verlinkt ist.

## Fehler während des Hochfahrens

Wenn der Apache während des Hochfahrens einen schweren Fehler feststellt, schreibt er entweder eine Nachricht, die das Problem näher schildert, auf die Konsole oder ins `ErrorLog`, bevor er sich selbst beendet. Eine der häufigsten Fehlermeldungen ist "`Unable to bind to Port ...`" (Anm.d.Ü.: "Kann nicht an Port ... binden"). Diese Meldung wird üblicherweise verursacht:

- entweder durch den Versuch, den Server an einem privilegierten Port zu starten, während man nicht als Benutzer root angemeldet ist,
- oder durch den Versuch, den Server zu starten, wenn bereits eine andere Instanz des Apache oder ein anderer Webserver an den gleichen Port gebunden ist.

Für weitere Anleitungen zur Fehlerbehebung lesen Sie bitte die Apache-FAQ.

## Beim Bootvorgang starten

Wenn Sie möchten, dass Ihr Server direkt nach einem System-Neustart weiterläuft, sollten Sie einen Aufruf von `apachectl` zu den Startdateien Ihres Systems hinzufügen (üblicherweise `rc.local` oder eine Datei in einem `rc.N`-Verzeichnis). Dies startet den Apache als root. Stellen Sie zuvor jedoch sicher, dass Ihr Server hinsichtlich Sicherheit und Zugriffsbeschränkungen richtig konfiguriert ist.

Das `apachectl`-Skript ist dafür ausgelegt, wie ein Standard-SysV-init-Skript zu arbeiten. Es akzeptiert die Argumente `start`, `restart` und `stop` und übersetzt sie in die entsprechenden Signale für `httpd`. Daher können Sie oftmals einfach `apachectl` in das entsprechende init-Verzeichnis linken. Überprüfen Sie bitte auf jeden Fall die genauen Anforderungen Ihres Systems.

## Weitere Informationen

Weitere Informationen über Kommandozeilenoptionen von `httpd` und `apachectl` sowie anderen Hilfsprogrammen, die dem Server beigefügt sind, sind auf der Seite Server und Hilfsprogramme verfügbar. Es existiert außerdem eine Dokumentation aller in der Apache-Distribution enthaltenen Module und der von ihnen bereitgestellten Direktiven.

Verfügbare Sprachen: de | en | es | ja | ko | ru