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
httpdDienstes geändert. Red Hat empfiehlt nun, dieapachectlundsystemctlBefehle anstelle desserviceBefehls zu verwenden. Wenn Sie bisher beispielsweiseservice httpd gracefulausgeführt haben, sollten Sie nunapachectl gracefulverwenden. - Verändertes Verhalten der Unterbefehle
- Die
systemdDatei für httpd definiert anderes Verhalten für diereloadundstopUnterbefehle. Standardmäßig lädt derreloadUnterbefehl den Dienst nun geordnet neu, und derstopBefehl 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/httpdinstalliert wird. - Neue Module für Multi-Processing-Modelle
- Frühere Red Hat Enterprise Linux Releases lieferten mehrere Multi-Processing-Modelle (
preforkundworker) 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.confDatei, 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_proxyinstalliert waren, befinden sich nun unter/var/cache/httpdin denproxyodersslUnterverzeichnissen. - Inhalte, die bislang unter
/var/wwwinstalliert waren, befinden sich nun in/usr/share/httpd. - Inhalte, die bisher unter
/var/www/iconsinstalliert 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/manualinstalliert war, befindet sich nun unter/usr/share/httpd/manual. - Angepasste, mehrsprachige HTTP-Fehlerseiten, die bisher unter
/var/www/errorinstalliert waren, befinden sich nun in/usr/share/httpd/error.
- Änderungen an suexec
- Der
suexecBinä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 schreibtsuexecProtokollnachrichten nun nicht mehr in die/var/log/httpd/suexec.logDatei, 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
apxsBinärdatei, mit der Module aus Quellcode erstellt werden, wurde von/usr/sbin/apxsnach/usr/bin/apxsverlegt. - Neue und verlegte Konfigurationsdateien
- Konfigurationsdateien, die Module laden, sind nun im
/etc/httpd/conf.modules.dVerzeichnis 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.dVerzeichnis werden vor dem Hauptteil derhttpd.confDatei verarbeitet. Konfigurationsdateien im/etc/httpd/conf.dVerzeichnis werden nun nach dem Hauptteil derhttpd.confDatei verarbeitet.Einige zusätzliche Konfigurationsdateien werden vom httpd Paket bereitgestellt:/etc/httpd/conf.d/autoindex.confkonfiguriert diemod_autoindexVerzeichnisindizierung./etc/httpd/conf.d/userdir.confkonfiguriert den Zugriff auf Benutzerverzeichnisse (http://example.com/~username/). Aus Sicherheitsgründen ist dieser Zugriff standardmäßig deaktiviert./etc/httpd/conf.d/welcome.confKonfiguriert 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.