Menü
Illustration: Aus einem Computer wächst eine Feder, die zu Kabeln wird

Hosting

Apache unter Windows starten und als Dienst einrichten

httpd.exe, ein paar Schalter und der Dienst läuft. Und was zu tun ist, wenn Port 80 schon belegt ist.

Daniel Weihmann Aktualisiert am · 2 Minuten Lesezeit

Kurz gesagt

Im Ordner bin der Apache-Installation richtet httpd.exe -k install den Dienst ein, httpd.exe -k start startet ihn. Danach antwortet der Server unter http://localhost/. Gesteuert wird er über den Apache Service Monitor, die Diensteverwaltung oder NET START Apache2.4.

Woher bekomme ich Apache für Windows?

Das Apache-Projekt veröffentlicht selbst keine fertigen Programme, nur den Quellcode. Laut der offiziellen Dokumentation gibt es fertige Pakete von Drittanbietern. Genannt werden dort unter anderem Apache Lounge und WampServer. Das Paket in einen Ordner entpacken, etwa C:\Apache24. Liegt es woanders, muss die Angabe ServerRoot in der httpd.conf auf den neuen Ort zeigen.

Wie richte ich Apache als Dienst ein?

  1. Eingabeaufforderung als AdministratorDie Eingabeaufforderung mit Administratorrechten öffnen und in den Ordner bin wechseln.
  2. Dienst installierenhttpd.exe -k install eingeben. Ohne weitere Angaben heißt der Dienst Apache2.4 und nutzt conf\httpd.conf.
  3. Startenhttpd.exe -k start oder NET START Apache2.4 eingeben.
  4. TestenIm Browser http://localhost/ aufrufen. Die Standardseite erscheint, wenn alles läuft.

Wer mehrere Apache-Dienste parallel betreibt, gibt jedem einen Namen: httpd.exe -k install -n "MeinDienst", mit eigener Konfigurationsdatei zusätzlich -f "c:\pfad\meine.conf".

Welche Befehle steuern den Dienst?

BefehlWirkung
httpd.exe -k startStartet den Dienst
httpd.exe -k stopBeendet den Dienst (gleichwertig: -k shutdown)
httpd.exe -k restartNeustart, liest die Konfiguration neu ein
httpd.exe -tPrüft die Konfiguration auf Fehler
httpd.exe -k uninstallEntfernt den Dienst

Bei einem benannten Dienst kommt jeweils -n "MeinDienst" dazu. Den Autostart regelt der Starttyp in der Windows-Diensteverwaltung.

Kann ich Apache ohne Dienst starten?

Ja. httpd.exe lässt sich auch direkt in einem Konsolenfenster starten, etwa zum Testen. Der Server läuft dann, solange das Fenster offen ist. Für einen Server, der nach jedem Neustart von Windows bereitsteht, ist der Dienst die bessere Wahl.

Was tun, wenn Apache nicht startet?

Häufigster Grund ist ein belegter Port. Apache lauscht standardmäßig auf Port 80. Die Dokumentation nennt andere Webserver, manche Firewalls und sogar Programme wie Skype, die Port 80 belegen können. Entweder das andere Programm beenden oder in der httpd.conf mit Listen einen anderen Port wählen.

Ein zweiter Punkt betrifft Netzlaufwerke: Der Dienst läuft standardmäßig unter dem Systemkonto LocalSystem. Dieses Konto hat keine Rechte auf Freigaben im Netzwerk. Liegen Website-Dateien auf einem Netzlaufwerk, braucht der Dienst ein eigenes Benutzerkonto mit passenden Rechten.

Wer Apache lokal testet und dann Weiterleitungen einrichten will, findet die Grundlagen im Beitrag Domain-Weiterleitung ohne URL-Änderung.

Häufige Fragen

Wo bekomme ich Apache für Windows?

Das Apache-Projekt selbst veröffentlicht nur Quellcode, keine fertigen Windows-Programme. Die Dokumentation verweist auf Drittanbieter mit fertigen Paketen, etwa Apache Lounge, oder auf Komplettpakete wie WampServer.

Wie heißt der Dienst, wenn ich nichts angebe?

Apache2.4. Unter diesem Namen lässt er sich mit NET START Apache2.4 und NET STOP Apache2.4 steuern. Die Konfiguration liegt dann in conf\httpd.conf.

Wie prüfe ich die Konfiguration vor dem Neustart?

Mit httpd.exe -t, bei einem benannten Dienst mit httpd.exe -n "Dienstname" -t. Findet Apache einen Fehler, meldet er die Zeile, und der laufende Server bleibt unberührt.