Apache/HTTP/Windows: Unterschied zwischen den Versionen

Aus Foxwiki
 
(20 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:


== Beschreibung ==
== Beschreibung ==
Apache 2.4 unter Microsoft Windows installieren, konfigurieren und ausführen.
Apache 2.4 unter Microsoft Windows installieren, konfigurieren und ausführen


Es wird davon ausgegangen, dass eine Binärdistribution des Apache installiert wurde
Es wird davon ausgegangen, dass eine Binärdistribution des Apache installiert wurde
* Wenn Sie den Apache selbst kompilieren möchten (möglicherweise, um bei der Entwicklung zu helfen oder Fehler zu finden), lesen Sie bitte [[Apache für Microsoft Windows kompilieren]].
* Wenn Sie den Apache selbst kompilieren möchten (möglicherweise, um bei der Entwicklung zu helfen oder Fehler zu finden), lesen Sie bitte [[Apache für Microsoft Windows kompilieren]]


== Anforderungen an das Betriebssystem ==
; Anforderungen an das Betriebssystem
Die primäre Windows-Plattform für die Ausführung von Apache 2.4 ist Windows 2000 oder höher.
Die primäre Windows-Plattform für die Ausführung von Apache 2.4 ist Windows 2000 oder höher
* Besorgen Sie sich immer das aktuelle Service Pack und installieren Sie es, um Fehler im Betriebssystem zu vermeiden.
* Besorgen Sie sich immer das aktuelle Service Pack und installieren Sie es, um Fehler im Betriebssystem zu vermeiden
* Apache HTTP Server-Versionen nach 2.2 laufen nicht auf Betriebssystemen vor Windows 2000.


Apache HTTP Server-Versionen nach 2.2 laufen nicht auf Betriebssystemen vor Windows 2000.
== Apache unter Microsoft Windows ==
{| class="wikitable options big col1center"
| 1 || [[Apache/HTTP/Windows/Download|Herunterladen von Apache für Windows]]
|-
| 2 || [[Apache/HTTP/Windows/Anpassen|Apache für Windows anpassen]]
|-
| 3 || [[Apache/HTTP/Windows/Dienst|Apache als Dienst ausführen]]
|-
| 4 || [[Apache/HTTP/Windows/Konsole|Apache als Konsolenanwendung ausführen]]
|-
| 5 || [[Apache/HTTP/Windows/Test|Testen der Installation]]
|-
| 6 || [[Apache/HTTP/Windows/Netzwerkressourcen|Konfigurieren des Zugriffs auf Netzwerkressourcen]]
|-
| 7 || [[Apache/HTTP/Windows/Tuning|Windows-Tuning]]
|}


== Herunterladen von Apache für Windows ==
<noinclude>
Das Apache HTTP Server Projekt selbst bietet keine Binärversionen von Software an, sondern nur Quellcode.
<div class="noprint">


Wenn Sie den Apache HTTP Server nicht selbst kompilieren können, können Sie ein Binärpaket von zahlreichen Binärdistributionen aus dem Internet beziehen.
== Anhang ==
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
==== Links ====
===== Weblinks =====
</div>


Beliebte Optionen für die Bereitstellung von Apache httpd und, optional, PHP und MySQL unter Microsoft Windows sind:
[[Kategorie:Apache/HTTP/Windows]]
* [http://www.apachelounge.com/download/ Apache Lounge]
* [http://bitnami.com/stack/wamp Bitnami WAMP Stack]
* [http://www.wampserver.com/ WampServer]
* [http://www.apachefriends.org/en/xampp.html XAMPP]
 
== Apache für Windows anpassen ==
[[Apache/HTTP/Windows/Anpassen]]
 
== Apache als Dienst ausführen ==
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).
 
Sie können den Apache als Windows NT-Dienst wie folgt über die Eingabeaufforderung im Unterverzeichnis Apache <tt>bin</tt> 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 <tt>-k install</tt> verwenden, wird der Dienst <tt>Apache2.4</tt> genannt und die Konfiguration wird als <tt>conf\httpd.conf</tt> angenommen.
 
Das Entfernen eines Apache-Dienstes ist einfach.
* Verwenden Sie einfach
 
httpd.exe -k deinstallieren
 
Der spezifische Apache-Dienst, der deinstalliert werden soll, kann mit Hilfe von angegeben werden
 
httpd.exe -k uninstall -n "MeinDienstName"
 
Das normale Starten, Neustarten und Beenden eines Apache-Dienstes erfolgt in der Regel über den Apache Service Monitor, mit Befehlen wie <tt>NET START Apache2.4</tt> und <tt>NET STOP Apache2.4</tt> 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"
 
Standardmäßig sind alle Apache-Dienste so registriert, dass sie unter dem Systembenutzer (dem <tt>LocalSystem-Konto</tt> ) laufen.
* Das <tt>LocalSystem-Konto</tt> 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 <tt>LocalSystem-Konto</tt> niemals irgendwelche Netzwerkprivilegien! Wenn der Apache auf Netzwerkressourcen zugreifen muss, erstellen Sie ein separates Konto für den Apache (siehe unten).'''
 
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, <tt>sich als Dienst anzumelden</tt> und <tt>als Teil des Betriebssystems zu agieren</tt>.
* 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<tt>(</tt> z.
* B.<tt>htdocs</tt> und <tt>cgi-bin</tt>).
# Erteilen Sie dem Konto Änderungsrechte (RWXD) für das <tt>Apache-Logs-Verzeichnis</tt>.
# Gewähren Sie dem Konto Lese- und Ausführungsrechte (RX) für die ausführbare Binärdatei <tt>httpd.exe</tt>.
 
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 <tt>logs</tt>, für das der Benutzer mindestens Änderungsrechte (RWXD) haben muss.
 
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.
 
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.
 
Wenn Sie den Apache als Dienst starten, kann eine Fehlermeldung des Windows-Dienstesteuerungsmanagers erscheinen.
* Wenn Sie z.&nbsp;B.&nbsp;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.
 
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.
 
== 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
</noinclude>
 
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 <tt>Startmenü --> Programme --> Apache HTTP Server</tt> 2 <tt>.4.xx --> Apache Server steuern</tt> 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 <tt>kill -TERM ''pid''</tt> und <tt>kill -USR1 ''pid''</tt> dar.
* Die verwendete Kommandozeilenoption <tt>-k</tt> wurde in Anlehnung an den unter Unix verwendeten <tt>kill-Befehl</tt> 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 <tt>httpd.exe</tt> ein, und lesen Sie die Fehlermeldung.
* Wechseln Sie dann in den Ordner logs, und überprüfen Sie die Datei <tt>error.log</tt> auf Konfigurationsfehler.
* Angenommen, httpd wurde in C: <tt>\Programme\Apache Software Foundation\Apache2.4\</tt> 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:
* <tt>-f</tt> 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
* <tt>-n</tt> gibt den installierten Apache-Dienst an, dessen Konfigurationsdatei verwendet werden soll:
 
httpd.exe -n "MeinDienstName"
 
In beiden Fällen sollte das richtige [https://httpd.apache.org/docs/current/mod/core.html#serverroot ServerRoot] in der Konfigurationsdatei festgelegt werden.
 
Wenn Sie keine Konfigurationsdatei mit <tt>-f</tt> oder <tt>-n</tt> angeben, verwendet der Apache den in den Server einkompilierten Dateinamen, z.B. <tt>conf\httpd.conf</tt>.
* Dieser eingebaute Pfad ist relativ zum Installationsverzeichnis.
* Sie können den kompilierten Dateinamen anhand eines als <tt>SERVER_CONFIG_FILE</tt> bezeichneten Wertes überprüfen, wenn Sie den Apache mit der Option <tt>-V</tt> aufrufen, etwa so
 
httpd.exe -V
 
Der Apache versucht dann, sein [https://httpd.apache.org/docs/current/mod/core.html#serverroot ServerRoot] zu bestimmen, indem er die folgenden Schritte in dieser Reihenfolge durchführt:# Eine [https://httpd.apache.org/docs/current/mod/core.html#serverroot ServerRoot-Anweisung] über den Befehlszeilenschalter <tt>-C</tt>.
# Der Schalter <tt>-d</tt> 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 <tt>/apache</tt>.
* Sie können dies überprüfen, indem Sie <tt>httpd.exe -V</tt> verwenden und nach einem Wert mit der Bezeichnung <tt>HTTPD_ROOT</tt> 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 [https://httpd.apache.org/docs/current/mod/core.html#serverroot ServerRoot], das das Unterverzeichnis <tt>conf</tt> enthält.
* Wenn der Apache startet, liest er die Datei <tt>httpd.conf</tt> aus diesem Verzeichnis.
* Wenn diese Datei eine [https://httpd.apache.org/docs/current/mod/core.html#serverroot ServerRoot-Anweisung]enthä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 [https://httpd.apache.org/docs/current/mod/core.html#serverroot ServerRoot-Anweisung] in der Datei <tt>httpd.conf</tt> aktualisieren, um den neuen Ort wiederzugeben.
 
== Testen der Installation ==
Nach dem Starten des Apache (entweder in einem Konsolenfenster oder als Dienst) lauscht er auf Port 80 (es sei denn, Sie haben die [https://httpd.apache.org/docs/current/mod/mpm_common.html#listen Listen-Direktive] in den Konfigurationsdateien geändert oder den Apache nur für den aktuellen Benutzer installiert).
* Um sich mit dem Server zu verbinden und die Standardseite aufzurufen, starten Sie einen Browser und geben Sie diese URL ein
 
http://localhost/
 
Apache sollte mit einer Willkommensseite antworten und Sie sollten "It Works!" sehen.
* Wenn nichts passiert oder Sie eine Fehlermeldung erhalten, sehen Sie in der Datei <tt>error.log</tt> im Unterverzeichnis <tt>logs</tt> nach.
* Wenn Ihr Host nicht mit dem Netz verbunden ist oder wenn Sie ernsthafte Probleme mit Ihrer DNS-Konfiguration (Domain Name Service) haben, müssen Sie möglicherweise diese URL verwenden
 
http://127.0.0.1/
 
Wenn Sie Apache auf einem anderen Port laufen lassen, müssen Sie dies ausdrücklich in der URL angeben
 
http://127.0.0.1:8080/
 
Wenn Ihre Grundinstallation funktioniert, sollten Sie sie richtig konfigurieren, indem Sie die Dateien im Unterverzeichnis <tt>conf</tt> bearbeiten.
* Wenn Sie die Konfiguration des Windows NT-Dienstes für Apache ändern, versuchen Sie zunächst, ihn von der Befehlszeile aus zu starten, um sicherzustellen, dass der Dienst fehlerfrei startet.
 
Da der Apache '''nicht''' denselben Anschluss mit einer anderen TCP/IP-Anwendung teilen '''kann''', müssen Sie möglicherweise bestimmte andere Dienste stoppen, deinstallieren oder neu konfigurieren, bevor Sie den Apache starten.
* Zu diesen kollidierenden Diensten gehören andere WWW-Server, einige Firewall-Implementierungen und sogar einige Client-Anwendungen (z.&nbsp;B.&nbsp;Skype), die Port 80 verwenden, um Firewall-Probleme zu umgehen.
 
== Konfigurieren des Zugriffs auf Netzwerkressourcen ==
Der Zugriff auf Dateien über das Netzwerk kann über zwei von Windows bereitgestellte Mechanismen festgelegt werden
 
Zugeordnete Laufwerksbuchstaben z.&nbsp;B.
<tt>Alias "/images/" "Z:/"</tt>
UNC-Pfade z.&nbsp;B.
<tt>Alias "/images/" "//imagehost/www/images/"</tt>
 
Zugeordnete Laufwerksbuchstaben ermöglichen es dem Administrator, die Zuordnung zu einem bestimmten Rechner und Pfad außerhalb der Apache httpd-Konfiguration zu pflegen.
* Diese Zuordnungen sind jedoch nur mit interaktiven Sitzungen verbunden und stehen dem Apache httpd nicht direkt zur Verfügung, wenn er als Dienst gestartet wird. '''Verwenden Sie nur UNC-Pfade für Netzwerkressourcen in der Datei httpd.conf''', damit der Zugriff auf die Ressourcen konsistent ist, unabhängig davon, wie der Apache httpd gestartet wird. (Die Beschränkung auf zugeordnete Laufwerksbuchstaben kann durch obskure und fehleranfällige Verfahren umgangen werden, dies wird jedoch nicht empfohlen).
 
=== Beispiel DocumentRoot mit UNC-Pfad ===
DocumentRoot "//dochost/www/html/"
 
=== Beispiel DocumentRoot mit IP-Adresse im UNC-Pfad ===
DocumentRoot "//192.168.1.50/docs/"
 
=== Beispiel-Alias und entsprechendes Verzeichnis mit UNC-Pfad ===
Alias "/images/" "//imagehost/www/images/"
<Verzeichnis "//imagehost/www/images/">
  <nowiki>#...</nowiki>
</Verzeichnis>
 
Wenn Sie Apache httpd als Dienst ausführen, müssen Sie, wie oben beschrieben, ein separates Konto für den Zugriff auf Netzwerkressourcen erstellen.
 
== Windows-Abstimmung ==
* Wenn mehr als ein paar Dutzend Piped Logger auf einer Betriebssysteminstanz verwendet werden, ist oft eine Vergrößerung des "Desktop-Heap" erforderlich.
* Ausführlichere Informationen finden Sie in der Dokumentation zu Piped [https://httpd.apache.org/docs/current/logs.html#piped Logging].
 
[[Kategorie:Apache/HTTP/Windows]]

Aktuelle Version vom 5. November 2024, 02:14 Uhr

Apache HTTP Server unter Microsoft Windows

Beschreibung

Apache 2.4 unter Microsoft Windows installieren, konfigurieren und ausführen

Es wird davon ausgegangen, dass eine Binärdistribution des Apache installiert wurde

Anforderungen an das Betriebssystem

Die primäre Windows-Plattform für die Ausführung von Apache 2.4 ist Windows 2000 oder höher

  • Besorgen Sie sich immer das aktuelle Service Pack und installieren Sie es, um Fehler im Betriebssystem zu vermeiden
  • Apache HTTP Server-Versionen nach 2.2 laufen nicht auf Betriebssystemen vor Windows 2000.

Apache unter Microsoft Windows

1 Herunterladen von Apache für Windows
2 Apache für Windows anpassen
3 Apache als Dienst ausführen
4 Apache als Konsolenanwendung ausführen
5 Testen der Installation
6 Konfigurieren des Zugriffs auf Netzwerkressourcen
7 Windows-Tuning