a2enmod modul
; der Befehl zum Abschalten eines Moduls lautet a2dismod modul
. Diese Programme erstellen (oder löschen) in Wirklichkeit nur symbolische Verknüpfungen in der Datei /etc/apache2/mods-enabled/
, die auf die tatsächlichen Dateien zeigen (die in /etc/apache2/mods-available/
gespeichert sind).
/etc/apache2/ports.conf
konfiguriert), und liefert Seiten aus dem Verzeichnis /var/www/html/
(wie in /etc/apache2/sites-enabled/000-default.conf
konfiguriert).
mod_ssl
) mit. Man muss es nur durch den Befehl a2enmod ssl
aktivieren und danach die erforderlichen Anweisungen zur Konfigurationsdatei hinzufügen. Ein Konfigurationsbeispiel wird in /etc/apache2/sites-available/default-ssl.conf
bereitgestellt.
SSLCertificateFile /etc/letsencrypt/live/DOMAIN/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/DOMAIN/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/DOMAIN/chain.pem SSLCACertificateFile /etc/ssl/certs/ca-certificates.crt
mod_gnutls
, which is shipped with the libapache2-mod-gnutls package and enabled with the a2enmod gnutls
command. Unfortunately the version packaged for Debian had serious issues and even security implications and is therefor not part of the Debian Bullseye release.
/etc/apache2/sites-enabled/000-default.conf
ausgewiesen; dieser virtuelle Host wird verwendet, wenn es keinen anderen Host gibt, der zur Anfrage des Clients passt.
/etc/apache2/sites-available/
gespeicherten Datei festgelegt. Die Einrichtung einer Website für die Domain falcot.org
erfordert daher nur die Erstellung der folgenden Datei und anschließend die Aktivierung des virtuellen Hosts mit dem Befehl a2ensite www.falcot.org
.
Beispiel 11.13. Die Datei /etc/apache2/sites-available/www.falcot.org.conf
<VirtualHost *:80> ServerName www.falcot.org ServerAlias falcot.org DocumentRoot /srv/www/www.falcot.org </VirtualHost>
CustomLog
-Anweisungen in den Definitionen der virtuellen Hosts geändert werden könnte). Es ist daher sehr sinnvoll, das Format dieser Protokolldatei so anzupassen, dass es den Namen des virtuellen Hosts enthält. Dies kann durch die Erstellung einer Datei namens /etc/apache2/conf-available/customlog.conf
erreicht werden, die für alle Protokolldateien (mit der LogFormat
-Anweisung) ein anderes Format festlegt und durch Einschalten mit a2enconf customlog
. Außerdem muss die CustomLog
-Zeile aus der Datei /etc/apache2/sites-available/000-default.conf
entfernt (oder auskommentiert) werden.
Beispiel 11.14. Die Datei /etc/apache2/conf-available/customlog.conf
# Neues Log-Format einschließlich des (virtuellen) Hostnamens LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost # Jetzt soll dieses „vhost“-Format standardmäßig benutzt werden CustomLog /var/log/apache2/access.log vhost
Directory
-Blöcke; sie ermöglichen es, unterschiedliches Verhalten des Servers in Abhängigkeit von der zu liefernden Datei festzulegen. Solch ein Block enthält häufig Anweisungen des Typs Options
und AllowOverride
.
Beispiel 11.15. Verzeichnisblock
<Directory /srv/www> Options Includes FollowSymlinks AllowOverride All DirectoryIndex index.php index.html index.htm </Directory>
DirectoryIndex
enthält eine Liste von Dateien, die ausgewählt werden sollen, wenn die Client-Anfrage auf ein Verzeichnis zutrifft. Die in der Liste als erste aufgeführte Datei wird herangezogen und als Antwort gesendet.
Options
folgt eine Liste von zu aktivierenden Optionen. Der Wert None
deaktiviert alle Optionen; dementsprechend aktiviert All
alle außer MultiViews
. Unter anderem stehen folgende Optionen zur Verfügung:
ExecCGI
bedeutet, dass CGI-Skripte ausgeführt werden können.
FollowSymlinks
teilt dem Server mit, dass er symbolischen Verweisen folgen kann und dass die Antwort den Inhalt des Ziels solcher Verweise enthalten soll.
SymlinksIfOwnerMatch
also tells the server to follow symbolic links, but only when the link and its target have the same owner.
Includes
aktiviert Server Side Includes (abgekürzt SSI). Dies sind in HTML-Seiten eingebettete Anweisungen, die bei jeder Anforderung im laufenden Betrieb ausgeführt werden.
IncludesNOEXEC
lässt Server Side Includes (SSI) zu, deaktiviert jedoch den Befehl exec
und beschränkt die Direktive include
auf Text-/Markup-Dateien.
Indexes
weist den Server an, den Inhalt eines Verzeichnisses aufzulisten, falls die von einem Client gesendete HTTP-Anforderung auf ein Verzeichnis ohne Indexdatei weist (das heißt, wenn es in diesem Verzeichnis keine der von der Anweisung DirectoryIndex
genannten Dateien gibt).
MultiViews
aktiviert die Inhaltsabstimmung; diese kann vom Server dazu verwendet werden, eine Webseite in der im Browser eingestellten bevorzugten Sprache anzuzeigen.
AllowOverride
führt alle Optionen auf, die mithilfe einer .htaccess
-Datei aktiviert oder deaktiviert werden können. Eine verbreitete Anwendung dieser Option besteht darin, ExecCGI
einzuschränken, so dass der Administrator entscheidet, welchen Benutzern es erlaubt ist, Programme unter der Identität des Web-Servers (des Benutzers www-data
) auszuführen.
mod_auth*
modules.
/etc/apache2/authfiles/htpasswd-private
enthält eine Liste von Benutzern und Passwörtern; sie wird normalerweise mit dem Befehl htpasswd
gehandhabt. Der folgende Befehl wird zum Beispiel dazu benutzt, einen Benutzer hinzuzufügen oder sein Passwort zu ändern:
#
htpasswd /etc/apache2/authfiles/htpasswd-private user
New password: Re-type new password: Adding password for user user
Require
steuert Zugriffsbeschränkungen für Verzeichnisse (und rekursiv, deren Unterverzeichnisse).
Require
Direktiven in einem RequireAll
-Block kombiniert werden.
/etc/awstats/awstats.conf
anzupassen. Die Falcot Administratoren lassen sie bis auf die folgenden Parameter unverändert:
LogFile="/var/log/apache2/access.log" LogFormat = "%virtualname %host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot" SiteDomain="www.falcot.com" HostAliases="falcot.com REGEX[^.*\.falcot\.com$]" DNSLookup=1 LoadPlugin="tooltips"
LogFile
und LogFormat
den Ort und das Format der Protokolldatei sowie die Information, die sie enthält; SiteDomain
und HostAliases
führen die verschiedenen Bezeichnungen auf, unter denen die Haupt-Website bekannt ist.
DNSLookup
normalerweise nicht auf 1
gesetzt werden; für kleinere, wie die oben beschriebene Falcot-Site, ermöglicht diese Einstellung jedoch besser lesbare Berichte, die vollständige Rechnernamen enthalten statt unverarbeiteter IP-Adressen.
/etc/awstats/awstats.www.falcot.org.conf
.
Beispiel 11.18. AWStats-Konfigurationsdatei für einen virtuellen Host
Include "/etc/awstats/awstats.conf" SiteDomain="www.falcot.org" HostAliases="falcot.org"
/usr/share/awstats/icon/
directory. In order for these icons to be available on the web site, the Apache configuration needs to be adapted to include the following directive (check out /usr/share/doc/awstats/examples/apache.conf
for a more detailed example):
Alias /awstats-icon/ /usr/share/awstats/icon/