===== Konfiguration ===== * Konfiguration -> /etc/apache2/apache2.conf * Weitere Dateien per include eingebunden * Unterteilt sich in Container/Sektionen * Globale Sektion -> Direktiven gelten für alle Sektionen (es sei denn sie werden überschrieben) * Untersektionen -> Direktiven gelten nur für die Dateien/URLS/virtuellen Hosts/Verzeichnisse die durch die Sektion spezifiziert werden * Optionen werden Direktiven genannt ==== Sektionen/Container ==== Grundlegende Syntax: \\ \\ //Direktiven// \\ \\ \\ \\ AllowOverride All \\ \\ \\ Mögliche Sektionen/Container: ^Name ^Beschreibung ^ |VirtualHost| | |Directory|Definiert die Direktiven für ein bestimmtes (real existierendes) Verzeichnis. \\ \\ Als Matchstring muss der Pfad zum Verzeichnis angegeben werden. \\ \\ Die Direktiven gelten für alle Unterverzeichnisse | |Location|Direktiven die für URLs mit bestimmten Bestadnteilen angewendet werden soll. \\ \\ Als Matchstring muss eine URL bzw. ein Teil einer URL angegeben werden. **Hinweis:** Bei konkreten Dateisystemobjekten sollte File bzw. Directory benutzt werden, weil Location leicht umgangen werden kann (zum Beispiel in dem man Groß- und Kleinschreibung wechselt). | |File|Direktiven die für alle Dateien mit dem angegebenen Namen gelten sollen. \\ \\ Als Matchstring muss ein Dateiname angegeben werden. \\ \\ Der Ort wo die Dateien liegen spielt dabei keine Rolle.| |DirectoryMatch|Direktiven für alle Verzeichnisse die dem angegebenen regulären Ausdruck entsprechen. \\ \\ Als Matchstring muss ein regulärer Ausdruck angegeben werden der auf die entsprechenden Verzeichnisse passt| |FileMatch|Direktiven für alle Dateien die dem angegebenen regulären Ausdruck entsprechen. \\ \\ Als Matchstring muss ein regulärer Ausdruck angegeben werden der auf die entsprechenden Dateien passt| | |LocationMatch|Gleiche wie Location, nur das hier reguläre Ausdrücke erlaubt sind | |ifModule|Direktiven werden ausgeführt wenn ein bestimmtes Modul geladen ist \\ \\ Matchstring muss der komplette Modulname sein.| |ifDefine|Direktiven werden ausgeführt wenn ein entsprechendes Define per -D beim Start des Servers übergeben wurde.\\ \\ Matchstring ist die entsprechende Direktive. \\ \\ Direktiven sind beliebige Strings die per -D angegeben werden können | ==== Wichtige Direktiven ==== ^Direktive ^Beschreibung ^ |include|Bindet eine andere Datei ein. \\ \\ Wird behandelt als wäre sie Teil der Hauptkonfigurationsdatei| |LoadModule|Lädt ein Modul| |AccessFileName|Name der .htaccess-Files| |AllowOverride|Definiert die Direktiven die durch .htaccess-Files geändert werden dürfen| |AddHandler|Gibt den Handler an für Dateien mit definierten Endungen. \\ \\ Für gewöhnlich wirkt der Default-Handler der eine Datei einfach ausliefert. \\ Über AddHandler-Direktiven kann für Dateien mit einer definierten Endung ein anderer Handler (definiert in einem Modul, im Apache selbst oder per Direktive Action) aufgerufen werden. \\ \\ Syntax: AddHandler //Handler// //Dateiendung//| ==== VirtualHost ==== * Container der einen eigenen Host darstellt * virtuell - weil es kein eigener Server ist * Die Zuständigkeit des Containers kann an eine IP-Adresse oder an eine Domaine gebunden sein * man kann also mehrere Seiten über mehrere IP-Adressen auf dem gleichen Server bedienen * oder man kann an eine IP-Adresse mehrere Domains binden (jede Domain ist dann ein virtueller Server) \\ Syntax: NameVirtualHost //Bind-IP and Port// \\ \\ \\ ServerName //Domainname/IP-Adresse des virtuellen Hosts// \\ ServerAlias //zusätzliche IP-Adresse/Dommainnamen des virtuellen Hosts// \\ DocumentRoot //Wurzelverzeichnis für den virtuellen Host// \\ * **Bind-IP and Port:** IP-Adresse und Port über den der/die virtuellen Hosts angesprochen werden können. Auf eine IP-Adresse (und Port) können mehrere virtuelle Hosts gemeldet sein * **Domainname/IP-Adresse des virtuellen Hosts:** Der Domainname über den der virtuelle Host erreichbar ist. * **Wurzelverzeichnis:** Der Pfad im Dateisystem der als / für diese Domain dienen soll ==== Directory ==== * Definiert die Direktiven für ein Verzeichnis * "Physikalisches" Verzeichnis kann per Alias virtuell in einen Pfad unterhalb DocumentRoot gemappt werden * Muss innerhalb eines -Containers definiert werden Syntax: Alias //Virueller Pfad// //Physikalischer Pfad// Settings