Apache/HTTP/Windows: Unterschied zwischen den Versionen

Aus Foxwiki
 
(25 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">
* Einzelne Committer ''können'' Binärpakete als Annehmlichkeit zur Verfügung stellen, aber es handelt sich nicht um eine Veröffentlichung.


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 ==
=== Konfiguration ===
Apache wird über die Dateien im Unterverzeichnis <tt>conf</tt> konfiguriert
* Es handelt sich dabei um dieselben Dateien, die auch zur Konfiguration der Unix-Version verwendet werden, aber für den Apache unter Windows gibt es ein paar andere Direktiven.
* Im [https://httpd.apache.org/docs/current/mod/directives.html Direktiven-Index]finden Sie alle verfügbaren Direktiven.
 
=== Standardkonfiguration ===
Die Standardkonfiguration der Quelldistribution erwartet, dass der Server in \Apache24 installiert wird.
* Dies kann bei der Kompilierung angepasst werden, aber es ist wichtig, dass das <tt>ServerRoot</tt> in httpd.conf mit dem tatsächlichen Installationsstamm übereinstimmt.
* Binärdistributionen können entweder das Standard-Installationsverzeichnis oder das Gesamtlayout der ursprünglichen Konfiguration anpassen.
 
=== Hauptunterschiede ===
Die Hauptunterschiede beim Apache für Windows sind:
* Da der Apache für Windows multithreaded ist, verwendet er nicht wie der Apache unter Unix für jede Anfrage einen eigenen Prozess, sondern es laufen in der Regel nur zwei Apache-Prozesse: ein Elternprozess und ein Kindprozess, der die Anfragen bearbeitet.
* Innerhalb des untergeordneten Prozesses wird jede Anfrage von einem eigenen Thread bearbeitet.
 
=== Prozessmanagement ===
Auch die Richtlinien für das Prozessmanagement sind unterschiedlich:
 
; [https://httpd.apache.org/docs/current/mod/mpm_common.html#maxconnectionsperchild MaxConnectionsPerChild]
* Wie die Unix-Direktive steuert dies, wie viele Verbindungen ein einzelner Kindprozess bedient, bevor er beendet wird.
* Anders als unter Unix ist jedoch nicht sofort ein Ersatzprozess verfügbar.
* Verwenden Sie die Standardeinstellung <tt>MaxConnectionsPerChild 0</tt>, es sei denn, Sie werden angewiesen, das Verhalten zu ändern, um ein Speicherleck in Modulen von Drittanbietern oder prozessinternen Anwendungen zu beheben.
 
; Warnung
;: Die Serverkonfigurationsdatei wird neu eingelesen, wenn ein neuer Kindprozess gestartet wird. Wenn Sie <tt>httpd.conf</tt> geändert haben, startet der neue Kindprozess möglicherweise nicht oder Sie erhalten unerwartete Ergebnisse.
 
; [https://httpd.apache.org/docs/current/mod/mpm_common.html#threadsperchild ThreadsPerChild]
* Diese Richtlinie ist neu.
* Sie teilt dem Server mit, wie viele Threads er verwenden soll.
* Dies ist die maximale Anzahl von Verbindungen, die der Server auf einmal verarbeiten kann.
* Stellen Sie also sicher, dass Sie diese Zahl hoch genug für Ihre Website einstellen, wenn Sie viele Zugriffe erhalten.
* Der empfohlene Standardwert ist <tt>ThreadsPerChild 150</tt>, aber dieser Wert muss angepasst werden, um die größte zu erwartende Anzahl von gleichzeitigen Verbindungen zu berücksichtigen.
 
; Dateinamen
* Die Direktiven, die Dateinamen als Argumente akzeptieren, müssen Windows-Dateinamen anstelle von Unix-Dateinamen verwenden.
* Da der Apache jedoch Backslashes als "Escape-Zeichen"-Sequenz interpretieren kann, sollten Sie in Pfadnamen stets Schrägstriche und keine Backslashes verwenden.
 
; Groß- und Kleinschreibung
* Während bei Dateinamen unter Windows in der Regel nicht zwischen Groß- und Kleinschreibung unterschieden wird, wird bei URLs intern immer noch zwischen Groß- und Kleinschreibung unterschieden, bevor sie auf das Dateisystem abgebildet werden.
* Die Direktiven [https://httpd.apache.org/docs/current/mod/core.html#location <Location>,] [https://httpd.apache.org/docs/current/mod/mod_alias.html#alias Alias] und [https://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypass ProxyPass] verwenden beispielsweise alle Argumente unter Berücksichtigung der Groß- und Kleinschreibung.
* Daher ist es besonders wichtig, die [https://httpd.apache.org/docs/current/mod/core.html#directory <Directory>-Direktive] zu verwenden, wenn der Zugriff auf Inhalte im Dateisystem eingeschränkt werden soll, da diese Direktive für alle Inhalte in einem Verzeichnis gilt, unabhängig davon, wie auf sie zugegriffen wird.
 
Wenn Sie sicherstellen wollen, dass in URLs nur Kleinbuchstaben verwendet werden, können Sie etwas wie folgt verwenden:
RewriteEngine On
RewriteMap lowercase int:tolower
RewriteCond "%{REQUEST_URI}" "[A-Z]"
RewriteRule "(.*)" "${lowercase:$1}" [R,L]
 
=== Lese-/Schreibrechte ===
* Im laufenden Betrieb benötigt der Apache nur Schreibzugriff auf das Verzeichnis logs und einen eventuell konfigurierten Cache-Verzeichnisbaum.
* Aufgrund der Groß-/Kleinschreibung und der kurzen Namen im 8.3-Format muss der Apache alle angegebenen Pfadnamen überprüfen.
* Das bedeutet, dass jedes Verzeichnis, das der Apache auswertet, vom Stammverzeichnis bis zum Verzeichnisblatt, Lese-, Listen- und Traverse-Verzeichnisrechte haben muss.
* Wenn Apache2.4 unter C:\Programme installiert ist, müssen das Stammverzeichnis, die Programme und Apache2.4 für den Apache sichtbar sein.
* Apache für Windows bietet die Möglichkeit, Module zur Laufzeit zu laden, ohne den Server neu zu kompilieren.
* Wenn der Apache normal kompiliert wird, installiert er eine Reihe von optionalen Modulen im Verzeichnis \Apache <tt>.4\modules</tt>.
* Um diese oder andere Module zu aktivieren, muss die [https://httpd.apache.org/docs/current/mod/mod_so.html#loadmodule LoadModule-Anweisung]verwendet werden.
 
=== Status-Modul ===
Um zum Beispiel das Status-Modul zu aktivieren, verwenden Sie die folgende Anweisung (zusätzlich zu den status-aktivierenden Direktiven in <tt>access.conf</tt>):
LoadModule status_module "modules/mod_status.so"
 
Informationen zur [https://httpd.apache.org/docs/current/mod/mod_so.html#creating Erstellung von ladbaren Modulen] sind ebenfalls verfügbar.
 
=== ISAPI-Erweiterungen ===
* Der Apache kann auch ISAPI-Erweiterungen (Internet Server Application Programming Interface) laden, wie sie von Microsoft IIS und anderen Windows-Servern verwendet werden. [https://httpd.apache.org/docs/current/mod/mod_isapi.html Weitere Informationen sind verfügbar].
* Beachten Sie, dass der Apache '''keine'''ISAPI-Filter laden '''kann''', und dass ISAPI-Handler mit einigen Microsoft-Funktionserweiterungen nicht funktionieren.
 
=== CGI-Skripte ===
* Bei der Ausführung von CGI-Skripten ist die Methode, die der Apache verwendet, um den Interpreter für das Skript zu finden, mit der Direktive [https://httpd.apache.org/docs/current/mod/core.html#scriptinterpretersource ScriptInterpreterSource]konfigurierbar.
* Da es unter Windows oft schwierig ist, Dateien mit Namen wie <tt>.htaccess</tt> zu verwalten, kann es nützlich sein, den Namen dieser Konfigurationsdatei pro Verzeichnis mit der Direktive [https://httpd.apache.org/docs/current/mod/core.html#accessfilename AccessFilename]zu ändern.
 
=== Windows-Ereignisprotokoll ===
* Alle Fehler während des Apache-Starts werden in das Windows-Ereignisprotokoll eingetragen, wenn der Apache unter Windows NT läuft.
* Dieser Mechanismus dient als Backup für Situationen, in denen der Apache noch nicht bereit ist, die Datei <tt>error.log</tt> zu verwenden.
* Sie können das Windows-Ereignisprotokoll mit Hilfe der Ereignisanzeige überprüfen, z.&nbsp;B.&nbsp;Start - Einstellungen - Systemsteuerung - Verwaltung - Ereignisanzeige.
 
== 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
 
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
</noinclude>
* <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