Zum Inhalt springen

Httpd.conf: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „Apache/HTTP/Virtuelle Server“ durch „Apache/HTTP/Vhost“
 
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 16: Zeile 16:
* spezieller Dateien innerhalb des Web-Verzeichnisbaums
* spezieller Dateien innerhalb des Web-Verzeichnisbaums


; Konfigurationsdateien
== Hauptkonfigurationsdatei ==
{| class="wikitable options big"
|-
| [[#Hauptkonfigurationsdateien|Hauptkonfigurationsdateien]] ||
|-
| [[#Syntax|Syntax der Konfigurationsdateien]] ||
|-
| [[#Module|Module]] ||
|-
| [[#Geltungsbereich der Richtlinien|Geltungsbereich der Richtlinien]] ||
|-
| [[#.htaccess-Dateien|.htaccess-Dateien]] ||
|}
 
; Hauptkonfigurationsdateien
{| class="wikitable options float"
{| class="wikitable options float"
!Verwandte Module
!Verwandte Module
!Verwandte Richtlinien
!Verwandte Direktiven
|-
|-
|
|
Zeile 42: Zeile 28:
* <code>TypesConfig</code>
* <code>TypesConfig</code>
|}
|}
Der Apache-HTTP-Server wird konfiguriert, indem Direktiven in einfache Textkonfigurationsdateien eingetragen werden
Der Apache-HTTP-Server wird konfiguriert, indem Direktiven in einfache Textkonfigurationsdateien eingetragen werden
* Die Hauptkonfigurationsdatei heißt normalerweise <code>httpd.conf</code>
* Die Hauptkonfigurationsdatei heißt normalerweise <code>httpd.conf</code>
Zeile 50: Zeile 37:
Der Server liest auch eine Datei mit Mime-Dokumenttypen; der Dateiname wird durch die <code>TypesConfig-Direktive</code> festgelegt und lautet standardmäßig <code>mime.types</code>
Der Server liest auch eine Datei mit Mime-Dokumenttypen; der Dateiname wird durch die <code>TypesConfig-Direktive</code> festgelegt und lautet standardmäßig <code>mime.types</code>


== Syntax ==
{|class="wikitable options big
httpd-Konfigurationsdateien enthalten eine Direktive pro Zeile
|-
* Der Backslash "\" kann als letztes Zeichen in einer Zeile verwendet werden, um anzuzeigen, dass die Direktive in der nächsten Zeile fortgesetzt wird
| [[Httpd.conf/Syntax|Syntax]] ||
* Zwischen dem Backslash und dem Ende der Zeile dürfen keine anderen Zeichen oder Leerzeichen stehen
|-
 
| [[Httpd.conf/Module]]
Argumente für Direktiven werden durch Leerzeichen getrennt
|-
* Wenn ein Argument Leerzeichen enthält, müssen Sie es in Anführungszeichen setzen
| [[Httpd.conf/Geltungsbereiche|Geltungsbereiche]] ||
 
Bei den Direktiven in den Konfigurationsdateien wird die Groß- und Kleinschreibung nicht beachtet, aber bei den Argumenten für Direktiven wird häufig die Groß- und Kleinschreibung beachtet
* Zeilen, die mit dem Hash-Zeichen "#" beginnen, gelten als Kommentare und werden ignoriert
* Kommentare dürfen '''nicht''' in der gleichen Zeile wie eine Konfigurationsanweisung enthalten sein. Leerzeichen, die vor einer Direktive stehen, werden ignoriert, so dass Sie Direktiven zur besseren Übersichtlichkeit einrücken können
* Leerzeilen werden ebenfalls ignoriert
 
Die Werte von Variablen, die mit <code>Define</code> oder Shell-Umgebungsvariablen definiert wurden, können in Konfigurationsdateizeilen mit der Syntax <code>${VAR}</code> verwendet werden
* Wenn "VAR" der Name einer gültigen Variable ist, wird der Wert dieser Variable an dieser Stelle in der Konfigurationsdateizeile ersetzt, und die Verarbeitung wird fortgesetzt, als ob der Text direkt in der Konfigurationsdatei gefunden würde
* Mit <code>Define</code> definierte Variablen haben Vorrang vor Shell-Umgebungsvariablen
* Wird die "VAR"-Variable nicht gefunden, bleiben die Zeichen <code>${VAR}</code>unverändert, und es wird eine Warnung protokolliert
* Variablennamen dürfen keine Doppelpunkte ":" enthalten, um Konflikte mit der Syntax von <code>RewriteMap</code> zu vermeiden
 
Nur Shell-Umgebungsvariablen, die vor dem Start des Servers definiert wurden, können in Erweiterungen verwendet werden
* Umgebungsvariablen, die in der Konfigurationsdatei selbst definiert werden, zum Beispiel mit <code>SetEnv</code>, werden zu spät wirksam, um für Erweiterungen in der Konfigurationsdatei verwendet zu werden
 
Die maximale Länge einer Zeile in normalen Konfigurationsdateien beträgt nach dem Ersetzen von Variablen und dem Verbinden von fortgesetzten Zeilen etwa 16 MiB
* In .htaccess-Dateien beträgt die maximale Länge 8190 Zeichen
 
Sie können Ihre Konfigurationsdateien auf Syntaxfehler überprüfen, ohne den Server zu starten, indem Sie <code>apachectl configtest</code> oder die Befehlszeilenoption <code>-t</code> verwenden
 
Sie können <code>mod_info</code>'s <code>-DDUMP_CONFIG</code> verwenden, um die Konfiguration mit allen enthaltenen Dateien und Umgebungsvariablen aufzulösen und alle Kommentare und nicht passenden <code><IfDefine></code> und <code><IfModule></code> Abschnitte zu entfernen
* Die Ausgabe spiegelt jedoch nicht die Zusammenführung oder das Überschreiben wider, die bei wiederholten Direktiven auftreten können
 
== Module ==
; httpd ist ein modularer Server
{| class="wikitable float"
!Verwandte Module
!Verwandte Richtlinien
|-
|-
|
| [[Apache/HTTP/Vhost]] || Virtuelles Hosting
* <code>mod_so</code>
|
* <code><IfModule></code>
* <code>LoadModule</code>
|}
 
Das bedeutet, dass nur die grundlegendsten Funktionen im Kernserver enthalten sind
* Erweiterte Funktionen sind über Module verfügbar, die in httpd geladen werden können
* Standardmäßig wird ein Basissatz von Modulen zur Kompilierungszeit in den Server aufgenommen
* Wenn der Server so kompiliert ist, dass er dynamisch geladeneModule verwendet, können Module separat kompiliert und jederzeit mit der <code>LoadModule-Direktive</code>hinzugefügt werden
* Andernfalls muss httpd neu kompiliert werden, um Module hinzuzufügen oder zu entfernen
* Konfigurationsdirektiven können abhängig vom Vorhandensein eines bestimmten Moduls aufgenommen werden, indem sie in einen <code><IfModule>-Block</code> eingeschlossen werden. <code><IfModule>-Blöcke</code> sind jedoch nicht erforderlich und können in einigen Fällen die Tatsache verschleiern, dass ein wichtiges Modul fehlt
 
Mit der Befehlszeilenoption <code>-l</code> können Sie sehen, welche Module derzeit in den Server kompiliert sind
* Sie können auch mit der Befehlszeilenoption <code>-M</code>sehen, welche Module dynamisch geladen werden
 
== Geltungsbereiche ==
; Hauptkonfigurationsdateien
Direktiven gelten für den gesamten Server
{| class="wikitable float"
|+ '''Geltungsbereiche von Direktiven'''
!Verwandte Module
!Verwandte Richtlinien
|-
|-
|
| [[.htaccess|.htaccess-Dateien]]
|
* <code><Directory></code>
* <code><DirectoryMatch></code>
* <code><Files></code>
* <code><FilesMatch></code>
* <code><Location></code>
* <code><LocationMatch></code>
* <code><VirtualHost></code>
|}
|}


; Teile des Servers
Wenn Sie die Konfiguration nur für einen Teil des Servers ändern möchten
können Sie Ihre Direktiven
in den Abschnitten
* <Directory>
* <DirectoryMatch>
* <Files>
* <FilesMatch>
* <Location>
* <LocationMatch>
unterbringen
Diese Abschnitte beschränken die Anwendung der Direktiven, die sie einschließen, auf bestimmte Dateisystemorte oder URLs
* Sie können auch verschachtelt werden, was eine sehr feinkörnige Konfiguration ermöglicht
== Virtuelles Hosting ==
[[Apache/HTTP/Virtuelle Server]]
== .htaccess-Dateien ==
[[.htaccess]]
<noinclude>
<noinclude>


== Anhang ==
== Anhang ==
=== Siehe auch ===
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
* [[Apache/HTTP/Konfiguration]]
* [[Apache/HTTP/Konfiguration]]


==== Links ====
=== Links ===
===== Weblinks =====
==== Weblinks ====
# https://httpd.apache.org/docs/current/en/configuring.html
# https://httpd.apache.org/docs/current/en/configuring.html
# https://httpd.apache.org/docs/current/de/mod/directives.html
# https://httpd.apache.org/docs/current/de/mod/directives.html

Aktuelle Version vom 28. März 2025, 17:15 Uhr

httpd.conf - Konfigurationsdatei des Apache HTTP Servers

Beschreibung

Server liest Einstellungen aus der Textdatei httpd.conf

Ablageort
  • wird bei Kompilierung festgelegt
  • kann mit Befehlszeilenoption -f überschrieben werden
Struktur

Verwendung der Direktive Include

  • um weitere Konfigurationsdateien (wie ports.conf) einzulesen
.htaccess

Dezentrale Verwaltung der Konfiguration

  • spezieller Dateien innerhalb des Web-Verzeichnisbaums

Hauptkonfigurationsdatei

Verwandte Module Verwandte Direktiven
  • mod_mime
  • <IfDefine>
  • Include
  • TypesConfig

Der Apache-HTTP-Server wird konfiguriert, indem Direktiven in einfache Textkonfigurationsdateien eingetragen werden

  • Die Hauptkonfigurationsdatei heißt normalerweise httpd.conf
  • Der Speicherort dieser Datei wird bei der Kompilierung festgelegt, kann aber mit der Befehlszeilenoption -füberschrieben werden
  • Darüber hinaus können andere Konfigurationsdateien mit der Include-Direktivehinzugefügt werden, und es können Platzhalter verwendet werden, um viele Konfigurationsdateien einzuschließen
  • Jede Direktive kann in jede dieser Konfigurationsdateien eingefügt werden. Änderungen an den Hauptkonfigurationsdateien werden von httpd nur erkannt, wenn er gestartet oder neu gestartet wird

Der Server liest auch eine Datei mit Mime-Dokumenttypen; der Dateiname wird durch die TypesConfig-Direktive festgelegt und lautet standardmäßig mime.types

Syntax
Httpd.conf/Module
Geltungsbereiche
Apache/HTTP/Vhost Virtuelles Hosting
.htaccess-Dateien


Anhang

Siehe auch

Links

Weblinks

  1. https://httpd.apache.org/docs/current/en/configuring.html
  2. https://httpd.apache.org/docs/current/de/mod/directives.html