Apache/HTTP/Windows/Konsole
Apache als Konsolenanwendung ausführen
Normalerweise wird empfohlen, den Apache als Dienst zu verwenden, aber manchmal ist es einfacher, von der Kommandozeile aus zu arbeiten, insbesondere bei der anfänglichen Konfiguration und beim Testen.
Um den Apache von der Kommandozeile aus als Konsolenanwendung zu starten, verwenden Sie den folgenden Befehl
httpd.exe
Der Apache wird ausgeführt und bleibt aktiv, bis er durch Drücken von Strg-C gestoppt wird.
Sie können Apache auch über die Verknüpfung Apache in der Konsole starten starten, die Sie während der Installation unter Startmenü --> Programme --> Apache HTTP Server 2 .4.xx --> Apache Server steuern platziert haben.
- Dadurch wird ein Konsolenfenster geöffnet und Apache darin gestartet.
- Wenn Sie Apache nicht als Dienst installiert haben, bleibt das Fenster sichtbar, bis Sie Apache durch Drücken von Strg-C in dem Konsolenfenster, in dem Apache läuft, beenden.
- Der Server beendet sich dann nach einigen Sekunden.
- Wenn Sie Apache jedoch als Dienst installiert haben, startet die Verknüpfung den Dienst.
- Wenn der Apache-Dienst bereits läuft, bewirkt die Verknüpfung gar nichts.
Wenn der Apache als Dienst läuft, können Sie ihn stoppen, indem Sie ein weiteres Konsolenfenster öffnen und eingeben
httpd.exe -k shutdown
Die Ausführung als Dienst sollte der Ausführung in einem Konsolenfenster vorgezogen werden, da der Apache auf diese Weise alle laufenden Operationen ordnungsgemäß beenden und aufräumen kann.
Wenn der Server jedoch in einem Konsolenfenster läuft, können Sie ihn nur durch Drücken von Strg-C im selben Fenster anhalten.
Sie können den Apache auch anweisen, neu zu starten.
- Dadurch wird er gezwungen, die Konfigurationsdatei neu zu lesen.
- Alle laufenden Operationen können ohne Unterbrechung zu Ende geführt werden.
- Um den Apache neu zu starten, drücken Sie entweder Control-Break in dem Konsolenfenster, das Sie zum Starten des Apache verwendet haben, oder geben Sie
httpd.exe -k Neustart
wenn der Server als Dienst läuft.
Hinweis für diejenigen, die mit der Unix-Version von Apache vertraut sind: Diese Befehle stellen eine Windows-Entsprechung zu kill -TERM pid und kill -USR1 pid dar.
- Die verwendete Kommandozeilenoption -k wurde in Anlehnung an den unter Unix verwendeten kill-Befehl gewählt.
Wenn das Apache-Konsolenfenster sofort oder unerwartet nach dem Start geschlossen wird, öffnen Sie die Eingabeaufforderung über das Startmenü --> Programme.
- Wechseln Sie in den Ordner, in den Sie Apache installiert haben, geben Sie den Befehl httpd.exe ein, und lesen Sie die Fehlermeldung.
- Wechseln Sie dann in den Ordner logs, und überprüfen Sie die Datei error.log auf Konfigurationsfehler.
- Angenommen, httpd wurde in C: \Programme\Apache Software Foundation\Apache2.4\ installiert, dann können Sie Folgendes tun
c: cd "\Programmdateien\Apache Software Foundation\Apache2.4\bin" httpd.exe
Warten Sie dann, bis der Apache gestoppt wird, oder drücken Sie Control-C.
- Geben Sie dann Folgendes ein
cd ..\logs mehr < error.log
Bei der Arbeit mit dem Apache ist es wichtig zu wissen, wie er die Konfigurationsdatei finden kann.
- Sie können eine Konfigurationsdatei auf der Kommandozeile auf zwei Arten angeben:
- -f gibt einen absoluten oder relativen Pfad zu einer bestimmten Konfigurationsdatei an:
httpd.exe -f "c:\my server files\anotherconfig.conf"
oder
httpd.exe -f files\anotherconfig.conf
-n gibt den installierten Apache-Dienst an, dessen Konfigurationsdatei verwendet werden soll:
httpd.exe -n "MeinDienstName"
In beiden Fällen sollte das richtige ServerRoot in der Konfigurationsdatei festgelegt werden.
Wenn Sie keine Konfigurationsdatei mit -f oder -n angeben, verwendet der Apache den in den Server einkompilierten Dateinamen, z.B. conf\httpd.conf.
- Dieser eingebaute Pfad ist relativ zum Installationsverzeichnis.
- Sie können den kompilierten Dateinamen anhand eines als SERVER_CONFIG_FILE bezeichneten Wertes überprüfen, wenn Sie den Apache mit der Option -V aufrufen, etwa so
httpd.exe -V
Der Apache versucht dann, sein ServerRoot zu bestimmen, indem er die folgenden Schritte in dieser Reihenfolge durchführt:# Eine ServerRoot-Anweisung über den Befehlszeilenschalter -C.
- Der Schalter -d in der Befehlszeile.
- Aktuelles Arbeitsverzeichnis.
- Ein Registrierungseintrag, der bei einer Binärinstallation erstellt wurde.
- Das Stammverzeichnis des Servers, das in den Server einkompiliert wurde.
- Dies ist standardmäßig /apache.
- Sie können dies überprüfen, indem Sie httpd.exe -V verwenden und nach einem Wert mit der Bezeichnung HTTPD_ROOT suchen.
Wenn Sie keine Binärinstallation durchgeführt haben, wird sich der Apache in einigen Fällen über den fehlenden Registrierungsschlüssel beschweren.
- Diese Warnung kann ignoriert werden, wenn der Server ansonsten seine Konfigurationsdatei finden konnte.
Der Wert dieses Schlüssels ist das Verzeichnis ServerRoot, das das Unterverzeichnis conf enthält.
- Wenn der Apache startet, liest er die Datei httpd.conf aus diesem Verzeichnis.
- Wenn diese Datei eine ServerRoot-Anweisungenthält, die ein anderes Verzeichnis als das aus dem obigen Registrierungsschlüssel ermittelte enthält, vergisst der Apache den Registrierungsschlüssel und verwendet das Verzeichnis aus der Konfigurationsdatei.
- Wenn Sie das Apache-Verzeichnis oder die Konfigurationsdateien an einen neuen Ort kopieren, müssen Sie unbedingt die ServerRoot-Anweisung in der Datei httpd.conf aktualisieren, um den neuen Ort wiederzugeben.