Apache: Grundkonfiguration
Die Datei httpd.conf im conf Unterverzeichnis der Installation enthält alles womit der Apache konfiguriert werden kann. Somit ist sie eine der wichtigsten Dateien für den Apache Server. Die komplette Liste würde ca. 200 Einstellungen umfassen.#
) hat in der Konfiguration die Bedeutung eines Kommentars, d.h. Zeilen die mit #
anfangen werden nicht berücksichtigt. Bei den Beispielen wird ein Linux Betriebssystem verwendet, was auch an den Pfadangaben zu erkennen ist. Unter Windows werden Pfadangaben am besten in Anführungsstrichen und mit einem Slash statt einem Backslash geschrieben. Also z.B. "C:/Programme/ Apache Group/ Apache 2".
Anweisungen werden grundsätzlich Zeilenweise geschrieben, d.h. für jede Anweisung ist eine einzelne Zeile zu verwenden. Leerzeilen und Zeilen die mit dem Rautezeichen beginnen werden ignoriert.
Hinweis: Der Strich/Pipe (
|
) bei einigen Anweisungen bedeutet, dass hier eine alternative Auswahl getroffen werden kann. Beispiel:
ExtendedStatus On | Off #Off = default)
Bedeutet, dass entweder On oder Off verwendet werden kann, die Anweisung lautet dann also entwederExtendedStatus On
oderExtendedStatus Off
Hinweis: Bei den meisten Beispielen ist in der ersten Beispielzeile ein Kommentar angegeben, in welchem Kontext die jeweilige Direktive eingesetzt werden kann. So können manche Direktiven nur global, andere in Bezug auf Verzeichnisse oder dergleichen eingesetzt werden.ServerRoot
Dies ist die Angabe des Hauptinstallationsverzeichnisses des Apache Webservers. Sie kann nur einmal in der Serverkonfiguration verwendet werden. Nach der Installation ist sie eigentlich schon richtig eingestellt.#ServerKontext
ServerRoot /usr/localh/apache2
ScoreBoardFile
Die ScoreBoard-Datei dient zur Speicherung von serverinternen Prozessinformationen. Im Normalfall ist sie auskommentiert und der Apache legt diese Informationen im Hauptspeicher ab. Sollte eine Datei benötigt werden kann das Kommentarzeichen einfach entfernt und der Pfad an die Bedürfnisse angepasst werden.#ServerKontex
ScoreBoardFile /usr/local/apache2/log/scoreboard.log
PidFile
In dieser Datei wird die Prozess-ID des Apache Webservers gespeichert. Diese dient z.B. anderen Programmen um den Apache starten und stoppen zu können.#ServerKontext
PidFile /usr/local/logs/pidfile.pid
TimeOut
Das Timeout bestimmt ein Zeitlimit für Clientanfragen bevor serverseitig die Verbindung geschlossen wird.#ServerKontext
Timeout 300 # (300 Sekunden ist auch die Standardeinstellung)
KeepAlive
Aktiviert oder deaktiviert dauerhafte TCP/IP Verbindungen für Clientanfragen. D.h. es können mehrere Anfragen eines Clients über eine bereits geöffnete TCP/IP Verbindung getätigt werden. Als ergänzende Einstellungen gibt es auchKeepAliveRequests
und KeepAliveTimeouts
.
#ServerKontext
KeepAlive On
# (On oder Off; On = default)
KeepAliveRequests 100
# (100 erlaubte Anfragen auf einer TCP/IP Verbindungen)
KeepAliveTimeout 15
# (15 Sekunden Wartezeit für erneute Anfragen über
# eine dauerhafte TCP Verbindung)
Listen
Legt fest auf welcher IP Adresse und auf welchem Port der Server auf Verbindungen wartet. Bei der Angabe eines einzelnen Ports wird automatisch auf allen verfügbaren IP Adressen gewartet. Mit dem Apache 2.x werden auch IPV6 Adressen unterstützt. Die Listen Angabe ist "stärker" alsServerName
, bei 2 verschiedenen IP Adressen und/oder Ports sollten mehrere Listen Angaben eingesetzt werden.
#ServerKontext
Listen 80
Listen 192.168.0.1:80
LoadFile
Bindet externe Bibliotheken oder Objektdateien in den Server ein. Diese Direktive hängt mit der Moduleinbindung zusammen und aus der Moduldokumentation ist zu entnehmen ob und welche Dateien eventuell geladen werden müssen.#ServerKontext
LoadFile "C:/Path/to/Perl/bin/perl58.dll"
LoadModule
Bindet externe Module in den Server ein. Dies ist die Hauptdirektive um den Apache um Module zu erweitern. Wie das Modul fachgerecht eingebunden werden muss steht meistens in der Moduldokumentation. Beim Apache 1.3.xx ist es teilweise so das auf eine bestimmte Reihenfolge der Module geachtet werden muss damit diese richtig geladen werden. Der Apache 2 überwacht und steuert das ganze selbständig. Aus diesem Grund gab es früher auch die Befehle ClearModule und AddModule die jetzt überflüssig sind.#ServerKontext
LoadModule interner_Modulname Modulpfad/moduldateiname
ExtendedStatus
Bietet in Verbindung mit mod_status eine erweiterte Statusseite.#ServerKontext
ExtendedStatus On | Off #Off = default
ServerAdmin
Angabe einer administrativen E-Mail-Adresse. (Erscheint z.B. bei Fehlern.)#ServerKontext, VirtualHostKontext
ServerAdmin webmaster@servername.org
ServerName
Angabe des Servernamens des Webservers. Am besten einen FQDN (Full Qualified Domain Namen) Rechner.Domain.Länderkennung. Ab Version 2.0 kann hiermit auch gleich der Port angegeben werden und löst damit die DirektivePort
ab.
#ServerKontext, VirtualHostKontext
ServerName www.domain.org
UseCanonicalName
Bestimmt die Art und Weise, wie der Server seinen Namen und Port feststellt.#ServerKontext, VirtualHostKontext,
#<Directory> Container, .htaccess
UseCanonicalName On | Off | DNS
Off - Der ServerName wird aus den gesendeten Informationen des Clients ermittelt, sendet dieser keine ausreichenden Informationen wird auf den Inhalt von ServerName zurückgegriffen
DNS - Bei DNS startet der Server einen "Reverse DNS Lookup" der IP-Adresse um den Domainname herrauszufinden.
DocumentRoot
Bestimmt das Hauptverzeichnis für Dokumente die der Webserver ausliefert.#ServerKontext, VirtualHostKontext
Documentroot /usr/local/apache2/htdocs
# (kann auch mit -htdocsdir bei der Übersetzung bestimmt werden)
HostnameLookups
Schaltet die Auflösung der Client IP Adressen in deren Hostnamen an oder aus.#ServerKontext, VirtualHostKontext,
#<Directory>, <Location>, <Files>, .htaccess
HostnameLookups On | Off | double
Off - Keine Bestimmung des Hostnamens
Double - Doppelte Auflösung: 1. Nachschlagen welcher Hostname zur IP gehört 2. Nachschlagen welche IP zu dem Hostnamen gehört
ServerAlias
Definiert alternative Hostnamen für einen Server.#VirtualHostKontext
<VirtualHost *>
ServerName www.servername.org
ServerAlias servername.org webserver.servername.org
</VirtualHost>
ServerAlias *.servername.org
#(damit auch unter www, irgendwas, etc. erreichbar)
ServerTokens
ServerTokens bestimmt welche Angaben der Server im HTTP-Header mit sendet.#ServerKontext
ServerTokens Minimal | ProductOnly | OS | Full
ProductOnly - Der Server sendet nur den Namen der Serversoftware
OS - Der Server sendet den Namen und die Versionsnummer der Serversoftware sowie des Betriebssystems
Full - Der Server sendet den Namen und die Versionsnummer der Serversoftware sowie das Betriebssystem und die zu Verfügung stehenden Module und Erweiterungen. (default)
ServerSignature
Angabe einer Fußzeile bei serverseitig generierten Dokumenten wie Fehlermeldungen oder Indexdateien.#ServerKontext, VirtualHostKontext, <Directory>, .htaccess
ServerSignature On | Off | Email
Email - zeigt zusätzlich zu On die E-Mailadresse die in der Direktive SeverAdmin angegeben ist
Off - abgeschaltet
Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.
Weiterlesen: ⯈ Verzeichniseinstellungen
Über uns
Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project