Apache/HTTP/Windows/Dienst: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 8: | Zeile 8: | ||
Sie können den Apache als Windows NT-Dienst wie folgt über die Eingabeaufforderung im Unterverzeichnis Apache <tt>bin</tt> installieren | Sie können den Apache als Windows NT-Dienst wie folgt über die Eingabeaufforderung im Unterverzeichnis Apache <tt>bin</tt> installieren | ||
<syntaxhighlight lang="powershell" line> | |||
httpd.exe -k install | |||
</syntaxhighlight> | |||
Wenn Sie den Namen des zu installierenden Dienstes angeben müssen, verwenden Sie den folgenden Befehl. | Wenn Sie den Namen des zu installierenden Dienstes angeben müssen, verwenden Sie den folgenden Befehl. | ||
Zeile 14: | Zeile 16: | ||
* Wenn Sie während der Installation einen Namen angeben, müssen Sie ihn auch bei jeder anderen -k Operation angeben. | * Wenn Sie während der Installation einen Namen angeben, müssen Sie ihn auch bei jeder anderen -k Operation angeben. | ||
<syntaxhighlight lang="powershell" line> | |||
httpd.exe -k install -n "MeinDienstName" | |||
</syntaxhighlight> | |||
Wenn Sie speziell benannte Konfigurationsdateien für verschiedene Dienste benötigen, müssen Sie dies verwenden | Wenn Sie speziell benannte Konfigurationsdateien für verschiedene Dienste benötigen, müssen Sie dies verwenden | ||
<syntaxhighlight lang="powershell" line> | |||
httpd.exe -k install -n "MeinDienstName" -f "c:\files\my.conf" | |||
</syntaxhighlight> | |||
Wenn Sie den ersten Befehl ohne spezielle Parameter außer <tt>-k install</tt> verwenden, wird der Dienst <tt>Apache2.4</tt> genannt und die Konfiguration wird als <tt>conf\httpd.conf</tt> angenommen. | Wenn Sie den ersten Befehl ohne spezielle Parameter außer <tt>-k install</tt> verwenden, wird der Dienst <tt>Apache2.4</tt> genannt und die Konfiguration wird als <tt>conf\httpd.conf</tt> angenommen. | ||
== Entfernen == | == Entfernen == | ||
<syntaxhighlight lang="powershell" line> | |||
httpd.exe -k uninstall | |||
</syntaxhighlight> | |||
Der spezifische Apache-Dienst, der deinstalliert werden soll, kann mithilfe von angegeben werden | Der spezifische Apache-Dienst, der deinstalliert werden soll, kann mithilfe von angegeben werden | ||
<syntaxhighlight lang="powershell" line> | |||
httpd.exe -k uninstall -n "MeinDienstName" | |||
</syntaxhighlight> | |||
== Steuern == | == Steuern == | ||
Zeile 32: | Zeile 42: | ||
Bevor Sie den Apache als Dienst starten, sollten Sie die Konfigurationsdatei des Dienstes testen, indem Sie | Bevor Sie den Apache als Dienst starten, sollten Sie die Konfigurationsdatei des Dienstes testen, indem Sie | ||
<syntaxhighlight lang="powershell" line> | |||
httpd.exe -n "MeinDienstName" -t | |||
</syntaxhighlight> | |||
Sie können einen Apache-Dienst auch über seine Kommandozeilenparameter steuern. | Sie können einen Apache-Dienst auch über seine Kommandozeilenparameter steuern. | ||
Um einen installierten Apache-Dienst zu starten, verwenden Sie den folgenden Befehl | Um einen installierten Apache-Dienst zu starten, verwenden Sie den folgenden Befehl | ||
<syntaxhighlight lang="powershell" line> | |||
httpd.exe -k start -n "MeinDienstName" | |||
</syntaxhighlight> | |||
Um einen Apache-Dienst über die Befehlszeilenschalter zu stoppen, verwenden Sie Folgendes | Um einen Apache-Dienst über die Befehlszeilenschalter zu stoppen, verwenden Sie Folgendes | ||
<syntaxhighlight lang="powershell" line> | |||
httpd.exe -k stop -n "MeinDienstName" | |||
</syntaxhighlight> | |||
oder | oder | ||
<syntaxhighlight lang="powershell" line> | |||
httpd.exe -k shutdown -n "MeinDienstName" | |||
</syntaxhighlight> | |||
Sie können auch einen laufenden Dienst neu starten und ihn zwingen, seine Konfigurationsdatei neu einzulesen, indem Sie verwenden | Sie können auch einen laufenden Dienst neu starten und ihn zwingen, seine Konfigurationsdatei neu einzulesen, indem Sie verwenden | ||
<syntaxhighlight lang="powershell" line> | |||
httpd.exe -k restart -n "MeinDienstName" | |||
</syntaxhighlight> | |||
== Systembenutzer == | == Systembenutzer == |
Aktuelle Version vom 5. November 2024, 01:11 Uhr
Apache als Dienst ausführen
Apache Service Monitor
Apache wird mit einem Dienstprogramm namens Apache Service Monitor ausgeliefert, mit dem Sie den Status aller installierten Apache-Dienste auf jedem Rechner in Ihrem Netzwerk sehen und verwalten können.
- Um einen Apache-Dienst mit dem Monitor verwalten zu können, müssen Sie den Dienst zunächst installieren (entweder automatisch über die Installation oder manuell).
Installieren
Sie können den Apache als Windows NT-Dienst wie folgt über die Eingabeaufforderung im Unterverzeichnis Apache bin installieren
httpd.exe -k install
Wenn Sie den Namen des zu installierenden Dienstes angeben müssen, verwenden Sie den folgenden Befehl.
- Sie müssen dies tun, wenn Sie mehrere verschiedene Apache-Dienste auf Ihrem Computer installiert haben.
- Wenn Sie während der Installation einen Namen angeben, müssen Sie ihn auch bei jeder anderen -k Operation angeben.
httpd.exe -k install -n "MeinDienstName"
Wenn Sie speziell benannte Konfigurationsdateien für verschiedene Dienste benötigen, müssen Sie dies verwenden
httpd.exe -k install -n "MeinDienstName" -f "c:\files\my.conf"
Wenn Sie den ersten Befehl ohne spezielle Parameter außer -k install verwenden, wird der Dienst Apache2.4 genannt und die Konfiguration wird als conf\httpd.conf angenommen.
Entfernen
httpd.exe -k uninstall
Der spezifische Apache-Dienst, der deinstalliert werden soll, kann mithilfe von angegeben werden
httpd.exe -k uninstall -n "MeinDienstName"
Steuern
Das normale Starten, Neustarten und Beenden eines Apache-Dienstes erfolgt in der Regel über den Apache Service Monitor, mit Befehlen wie NET START Apache2.4 und NET STOP Apache2.4 oder über die normale Windows-Dienstverwaltung.
Bevor Sie den Apache als Dienst starten, sollten Sie die Konfigurationsdatei des Dienstes testen, indem Sie
httpd.exe -n "MeinDienstName" -t
Sie können einen Apache-Dienst auch über seine Kommandozeilenparameter steuern.
Um einen installierten Apache-Dienst zu starten, verwenden Sie den folgenden Befehl
httpd.exe -k start -n "MeinDienstName"
Um einen Apache-Dienst über die Befehlszeilenschalter zu stoppen, verwenden Sie Folgendes
httpd.exe -k stop -n "MeinDienstName"
oder
httpd.exe -k shutdown -n "MeinDienstName"
Sie können auch einen laufenden Dienst neu starten und ihn zwingen, seine Konfigurationsdatei neu einzulesen, indem Sie verwenden
httpd.exe -k restart -n "MeinDienstName"
Systembenutzer
Standardmäßig sind alle Apache-Dienste so registriert, dass sie unter dem Systembenutzer (dem LocalSystem-Konto ) laufen.
- Das LocalSystem-Konto hat keine Berechtigungen für Ihr Netzwerk über einen Windows-gesicherten Mechanismus, einschließlich des Dateisystems, Named Pipes, DCOM oder Secure RPC.
- Es hat jedoch lokal weitreichende Rechte.
Gewähren Sie dem LocalSystem-Konto niemals irgendwelche Netzwerkprivilegien! Wenn der Apache auf Netzwerkressourcen zugreifen muss, erstellen Sie ein separates Konto für den Apache (siehe unten).
Separates Konto
Es wird empfohlen, dass Benutzer ein separates Konto für die Ausführung von Apache-Diensten erstellen.
- Wenn Sie über Apache auf Netzwerkressourcen zugreifen müssen, ist dies erforderlich.# Legen Sie ein normales Domänen-Benutzerkonto an, und merken Sie sich das Passwort.
- Gewähren Sie dem neu erstellten Benutzer die Berechtigung, sich als Dienst anzumelden und als Teil des Betriebssystems zu agieren.
- Unter Windows NT 4.0 werden diese Berechtigungen über den Benutzer-Manager für Domänen gewährt, aber unter Windows 2000 und XP möchten Sie wahrscheinlich die Gruppenrichtlinie für die Verbreitung dieser Einstellungen verwenden.
- Sie können diese Einstellungen auch manuell über das MMC-Snap-In Lokale Sicherheitsrichtlinie vornehmen.
- Bestätigen Sie, dass das erstellte Konto ein Mitglied der Gruppe Benutzer ist.
- Gewähren Sie dem Konto Lese- und Ausführungsrechte (RX) für alle Dokument- und Skriptordner( z. :B.htdocs und cgi-bin)
- Erteilen Sie dem Konto Änderungsrechte (RWXD) für das Apache-Logs-Verzeichnis.
- Gewähren Sie dem Konto Lese- und Ausführungsrechte (RX) für die ausführbare Binärdatei httpd.exe.
Es ist in der Regel eine gute Praxis, dem Benutzer, der den Apache-Dienst ausführt, Lese- und Ausführungsrechte (RX) für das gesamte Apache2.4-Verzeichnis zu gewähren, mit Ausnahme des Unterverzeichnisses logs, für das der Benutzer mindestens Änderungsrechte (RWXD) haben muss.
- Anmeldung als Benutzer
Wenn Sie dem Konto erlauben, sich als Benutzer und als Dienst anzumelden, können Sie sich mit diesem Konto anmelden und testen, ob das Konto die Berechtigung hat, die Skripte auszuführen, die Webseiten zu lesen und Apache in einem Konsolenfenster zu starten.
- Wenn dies funktioniert und Sie die oben genannten Schritte befolgt haben, sollte der Apache ohne Probleme als Dienst ausgeführt werden.
- Fehlercode 2186
Der Fehlercode 2186 ist ein guter Hinweis darauf, dass Sie die "Anmelden als"-Konfiguration für den Dienst überprüfen müssen, da der Apache nicht auf eine erforderliche Netzwerkressource zugreifen kann.
- Achten Sie auch auf die Berechtigungen des Benutzers, unter dem Apache ausgeführt werden soll.
- Windows-Dienstesteuerungsmanager
Wenn Sie den Apache als Dienst starten, kann eine Fehlermeldung des Windows-Dienstesteuerungsmanagers erscheinen.
- Wenn Sie z. B. versuchen, Apache über das Applet "Dienste" in der Windows-Systemsteuerung zu starten, erhalten Sie möglicherweise die folgende Meldung
Der Apache2.4-Dienst konnte auf nicht gestartet werden. Fehler 1067; Der Prozess wurde unerwartet beendet.
Sie erhalten diese allgemeine Fehlermeldung, wenn es ein Problem beim Starten des Apache-Dienstes gibt.
- Um herauszufinden, was das Problem wirklich verursacht, sollten Sie die Anweisungen zum Ausführen von Apache für Windows über die Eingabeaufforderung befolgen.
- Probleme mit dem Dienst
Wenn Sie Probleme mit dem Dienst haben, sollten Sie die folgenden Anweisungen befolgen, um zu versuchen, httpd.exe von einem Konsolenfenster aus zu starten, und die Fehler zu beheben, bevor Sie versuchen, ihn erneut als Dienst zu starten.