4.7.5.2. Apache Web Server (httpd)
Red Hat Enterprise Linux 7 stellt eine aktualisierte Version des Apache Webservers bereit. Diese neue Version (2.4) umfasst einige maßgebliche Änderungen an den Paketen sowie eine Reihe neuer Features.
- Neuer Steuerungsmechanismus
- Da in Red Hat Enterprise Linux die Entwicklung weg von SysV-Init-Skripten geht, haben sich die Befehle zur Steuerung des
httpd
Dienstes geändert. Red Hat empfiehlt nun, dieapachectl
undsystemctl
Befehle anstelle desservice
Befehls zu verwenden. Wenn Sie bisher beispielsweiseservice httpd graceful
ausgeführt haben, sollten Sie nunapachectl graceful
verwenden. - Verändertes Verhalten der Unterbefehle
- Die
systemd
Datei für httpd definiert anderes Verhalten für diereload
undstop
Unterbefehle. Standardmäßig lädt derreload
Unterbefehl den Dienst nun geordnet neu, und derstop
Befehl stoppt den Dienst geordnet. - Hartkodierte Standardkonfiguration
- Frühere Versionen von httpd stellten eine umfassende Konfigurationsdatei bereit, die sämtliche Konfigurationseinstellungen und deren Standardwerte enthielt. Viele häufige Konfigurationseinstellungen werden nicht länger explizit in den Konfigurationsdateien konfiguriert, stattdessen sind Standardeinstellungen nun hartkodiert. Die standardmäßige Konfigurationsdatei enthält nun nur noch minimale Inhalte und ist infolgedessen einfacher zu verwalten. Die hartkodierten Standardwerte für alle Einstellungen sind im Handbuch angegeben, das standardmäßig in
/usr/share/httpd
installiert wird. - Neue Module für Multi-Processing-Modelle
- Frühere Red Hat Enterprise Linux Releases lieferten mehrere Multi-Processing-Modelle (
prefork
undworker
) als einzelne httpd Binärdateien. Red Hat Enterprise Linux 7 dagegen verwendet eine einzelne Binärdatei und stellt die folgenden Multi-Processing-Modelle als ladbare Module bereit:worker
,prefork
(Standard) undevent
. Bearbeiten Sie die/etc/httpd/conf.modules.d/00-mpm.conf
Datei, um das zu ladende Modul auszuwählen. - Verzeichnisänderungen
- Eine Reihe von Verzeichnissen wurden in dieser Version von httpd an einen anderen Speicherort verlegt oder sind nicht mehr enthalten.
- Inhalte, die bislang unter
/var/cache/mod_proxy
installiert waren, befinden sich nun unter/var/cache/httpd
in denproxy
oderssl
Unterverzeichnissen. - Inhalte, die bislang unter
/var/www
installiert waren, befinden sich nun in/usr/share/httpd
. - Inhalte, die bisher unter
/var/www/icons
installiert waren, befinden sich nun in/usr/share/httpd/icons
. Dieses Verzeichnis enthält eine Reihe von Icons, die für Verzeichnisindizes verwendet werden. - Die HTML-Version des httpd Handbuchs, das bisher unter
/var/www/manual
installiert war, befindet sich nun unter/usr/share/httpd/manual
. - Angepasste, mehrsprachige HTTP-Fehlerseiten, die bisher unter
/var/www/error
installiert waren, befinden sich nun in/usr/share/httpd/error
.
- Änderungen an suexec
- Der
suexec
Binärdatei wird während der Installation nicht mehr die Benutzer-ID "root" zugewiesen. Stattdessen werden restriktivere Berechtigungen auf die Datei angewendet mithilfe der entsprechenden Dateisystem-Bits. Dies verbessert die Sicherheit des httpd Dienstes. Darüber hinaus schreibtsuexec
Protokollnachrichten nun nicht mehr in die/var/log/httpd/suexec.log
Datei, sondern sendet diese an syslog. Die an syslog gesendeten Nachrichten erscheinen standardmäßig in/var/log/secure
. - Änderungen an der Modulschnittstellen-Kompatibilität
- Aufgrund von Änderungen an der httpd Modulschnittstelle ist diese aktualisierte Version von httpd nicht kompatibel mit Binärmodulen von Drittanbietern, die für frühere Versionen von httpd (2.2) entwickelt wurden. Diese Module müssen auf die httpd 2.4 Modulschnittstelle angepasst und neu erstellt werden. Werfen Sie einen Blick auf die Apache-Dokumentation für Einzelheiten über die API-Änderungen in Version 2.4.
- Änderung am Speicherort der apxs-Binärdatei
- Die
apxs
Binärdatei, mit der Module aus Quellcode erstellt werden, wurde von/usr/sbin/apxs
nach/usr/bin/apxs
verlegt. - Neue und verlegte Konfigurationsdateien
- Konfigurationsdateien, die Module laden, sind nun im
/etc/httpd/conf.modules.d
Verzeichnis abgelegt. Pakete, die zusätzlich ladbare Module für httpd bereitstellen (wie z.B. das php Paket), fügen Dateien zu diesem Verzeichnis hinzu. Jegliche Konfigurationsdateien imconf.modules.d
Verzeichnis werden vor dem Hauptteil derhttpd.conf
Datei verarbeitet. Konfigurationsdateien im/etc/httpd/conf.d
Verzeichnis werden nun nach dem Hauptteil derhttpd.conf
Datei verarbeitet.Einige zusätzliche Konfigurationsdateien werden vom httpd Paket bereitgestellt:/etc/httpd/conf.d/autoindex.conf
konfiguriert diemod_autoindex
Verzeichnisindizierung./etc/httpd/conf.d/userdir.conf
konfiguriert den Zugriff auf Benutzerverzeichnisse (http://example.com/~username/
). Aus Sicherheitsgründen ist dieser Zugriff standardmäßig deaktiviert./etc/httpd/conf.d/welcome.conf
Konfiguriert die Begrüßungsseite, die unterhttp://localhost/
angezeigt wird, wenn keine Inhalte hinterlegt sind.
- Änderungen an der Konfigurationskompatibilität
- Diese Version von httpd ist nicht kompatibel mit der Konfigurationssyntax der vorherigen Version (2.2). Die Syntax der Konfigurationsdateien muss aktualisiert werden, bevor sie mit dieser aktuellen Version von httpd verwendet werden können. Werfen Sie einen Blick auf die Apache-Dokumentation für Einzelheiten über die Syntaxunterschiede zwischen Version 2.2 und Version 2.4.