3.3.1 Strukturierung der Konfigurationsdatei
Wir konnten bisher sehen, dass der Apache Webserver viele Module und Konfigurationseinstellungen besitzt. Schon alleine die Hauptkonfigurationsdatei apache2.conf
bietet viele Möglichkeiten, die hier nicht alle behandelt werden sollen.
Damit die apache2.conf
in der Struktur lesbarer wird, wurden die Kommentarzeilen entfernt und es wurde eine kleine Umsortierung vorgenommen. Auch wurde anstelle des letzten Eintrags IncludeOptional sites-enabled/*.conf
die darin enthaltenen Daten direkt in die apache2.conf
kopiert und die Kommentare entfernt.
Wie im letzten Kapitel schon beschrieben, ist im Verzeichnis sites-enabled/
nur ein Link auf eine Datei 000-default.conf
im Verzeichnis sites-available/
. Somit wurden genau genommen die Daten aus der Datei sites-available/000-default.conf
verwendet.
Umstrukturierte apache2.conf
und 000-default.conf
#####################################################
# Globale Konfigurationseinstellungen
#####################################################
DefaultRuntimeDir ${APACHE_RUN_DIR}
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
Include ports.conf
#####################################################
# Externe Module und Konfigurationen laden
#####################################################
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
IncludeOptional conf-enabled/*.conf
AccessFileName .htaccess
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
#####################################################
# Globale Einstellungen für Logdateien
#####################################################
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %O" common
#####################################################
# Globale Einstellungen für Verzeichnisse und Dateien
#####################################################
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
#####################################################
# Spezielle Einstellungen für Websites laden
#####################################################
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log common
</VirtualHost>
Man könnte nun die Konfiguration noch weiter reduzieren und weitere unnötige Module vermeiden. Der Apache Webserver braucht aber zumindest ein MPM-Modul. Somit ist das Modul mpm_prefork
auf jeden Fall notwendig.
Bevor Sie Ihre Konfigurationsdateien verändern, sollten Sie auf jeden Fall eine Kopie anlegen!!!
Hinweis
Auf der Website von "a-coding-project.de" werden die Direktiven der Grundkonfiguration gut beschrieben.