Apache/HTTP/Windows/Anpassen: Unterschied zwischen den Versionen

Aus Foxwiki
Die Seite wurde neu angelegt: „== 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. === Standardkonfigurat…“
 
Keine Bearbeitungszusammenfassung
Zeile 75: Zeile 75:
* Dieser Mechanismus dient als Backup für Situationen, in denen der Apache noch nicht bereit ist, die Datei <tt>error.log</tt> zu verwenden.
* 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.
* Sie können das Windows-Ereignisprotokoll mit Hilfe der Ereignisanzeige überprüfen, z.&nbsp;B.&nbsp;Start - Einstellungen - Systemsteuerung - Verwaltung - Ereignisanzeige.
[[Kategorie:Apache/HTTP/Windows]]

Version vom 4. November 2024, 23:55 Uhr

Apache für Windows anpassen

Konfiguration

Apache wird über die Dateien im Unterverzeichnis conf 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 Direktiven-Indexfinden 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 ServerRoot 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:

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 MaxConnectionsPerChild 0, 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 httpd.conf geändert haben, startet der neue Kindprozess möglicherweise nicht oder Sie erhalten unerwartete Ergebnisse.
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 ThreadsPerChild 150, 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 <Location>, Alias und ProxyPass verwenden beispielsweise alle Argumente unter Berücksichtigung der Groß- und Kleinschreibung.
  • Daher ist es besonders wichtig, die <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 .4\modules.
  • Um diese oder andere Module zu aktivieren, muss die LoadModule-Anweisungverwendet werden.

Status-Modul

Um zum Beispiel das Status-Modul zu aktivieren, verwenden Sie die folgende Anweisung (zusätzlich zu den status-aktivierenden Direktiven in access.conf):

LoadModule status_module "modules/mod_status.so"

Informationen zur 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. Weitere Informationen sind verfügbar.
  • Beachten Sie, dass der Apache keineISAPI-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 ScriptInterpreterSourcekonfigurierbar.
  • Da es unter Windows oft schwierig ist, Dateien mit Namen wie .htaccess zu verwalten, kann es nützlich sein, den Namen dieser Konfigurationsdatei pro Verzeichnis mit der Direktive AccessFilenamezu ä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 error.log zu verwenden.
  • Sie können das Windows-Ereignisprotokoll mit Hilfe der Ereignisanzeige überprüfen, z. B. Start - Einstellungen - Systemsteuerung - Verwaltung - Ereignisanzeige.