Index: network-servers/chapter.xml =================================================================== --- network-servers/chapter.xml +++ network-servers/chapter.xml @@ -5,7 +5,7 @@ $FreeBSD$ $FreeBSDde: de-docproj/books/handbook/network-servers/chapter.xml,v 1.103 2011/12/24 15:51:18 bcr Exp $ - basiert auf: r54371 + basiert auf: r54573 --> - <filename>mod_ssl</filename> + SSL-Unterstützung Webserver @@ -3737,21 +3737,65 @@ Verschlüsselung - Das Modul mod_ssl verwendet die - OpenSSL-Bibliothek, um über die - Protokolle Secure Sockets Layer (SSLv3) - sowie Transport Layer Security (TLSv1) - eine starke Verschlüsselung zu ermöglichen. Mit diesem - Modul können Sie ein signiertes Zertifikat von einer - Zertifizierungsstelle anfordern, damit Sie einen sicheren - Webserver unter &os; betreiben können. + Zu einem bestimmten Zeitpunkt erforderte die + Unterstützung von SSL innerhalb von + Apache ein separates Modul namens + mod_ssl. Dies ist nicht mehr der Fall, + und die Installation des Apache-Webservers wird im Standard + mit SSL-Unterstützung ausgeliefert. Ein + Beispiel, wie Sie SSL-Unterstützung für + einen Webserver aktivieren können, finden Sie in der Datei + httpd-ssl.conf im Verzeichnis /usr/local/etc/apache24/extra. + In diesem Verzeichnis befindet sich auch eine Beispieldatei + namens ssl.conf-sample. Es wird + empfohlen, beide Dateien zu überprüfen, um sichere Webseiten + auf dem Apache-Webserver einzurichten. - Unter &os; wird das Modul mod_ssl - standardmäßig im Port und auch im Paket aktiviert. Die - verfügbaren Konfigurationsanweisungen werden in - http://httpd.apache.org/docs/current/mod/mod_ssl.html - beschrieben. + Nachdem die Konfiguration von SSL + abgeschlossen ist, muss die folgende Zeile in + httpd.conf auskommentiert werden, um + die Änderungen beim nächsten Neustart oder erneuten Laden + der Konfiguration zu aktivieren: + + #Include etc/apache24/extra/httpd-ssl.conf + + + SSL in Version 2 und 3 haben + bekannte Schwachstellen. Es wird dringend empfohlen, + TLS Version 1.2 und 1.3 anstelle der + älteren SSL-Optionen zu aktivieren. + Dies kann durch die Einstellung der folgenden Optionen in + ssl.conf erreicht werden: + + + SSLProtocol all -SSLv3 -SSLv2 +TLSv1.2 +TLSv1.3 +SSLProxyProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 + + Um die Konfiguration von SSL im + Webserver abzuschließen, entfernen Sie den Kommentar in der + folgenden Zeile, um sicherzustellen, dass die Konfiguration + bei einem Neustart oder beim erneuten laden der + Konfiguration von Apache übernommen wird: + + # Secure (SSL/TLS) connections +Include etc/apache24/extra/httpd-ssl.conf + + Diese Zeilen müssen in httpd.conf + ebenfalls auskommentiert bleiben, um + SSL in Apache vollständig zu + unterstützen: + + LoadModule authn_socache_module libexec/apache24/mod_authn_socache.so +LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so +LoadModule ssl_module libexec/apache24/mod_ssl.so + + Der nächste Schritt ist die Kooperation mit einer + Zertifizierungsstelle, um die entsprechenden Zertifikate auf + dem System installieren zu lassen. Dadurch wird eine + Vertrauenskette für die Webseite etabliert und jegliche + Warnungen vor selbstsignierten Zertifikaten + verhindert. @@ -3810,59 +3854,96 @@ erzeugten Internetseiten zu ermöglichen. Damit der Apache-Webserver - PHP5 unterstützt, der Port oder das Paket - lang/php56 installiert werden. Dies wird - die Module installieren und konfigurieren, die für die - Unterstützung von dynamischen - PHP-Anwendungen benötigt werden. Die - Installation wird automatisch folgende Zeilen in - /usr/local/etc/apache24/httpd.conf - hinzufügen: + PHP und weitere in + PHP geschriebene Funktionen unterstützt, + muss das entsprechende Paket installiert werden. - LoadModule php5_module libexec/apache24/libphp5.so + Sie können mit pkg die Paketdatenbank + nach allen unterstützten PHP-Versionen + durchsuchen: + + &prompt.root; pkg search php - + Die Ausgabe ist eine Liste mit Versionen und Funktionen + des jeweiligen Pakets. Die Komponenten sind vollständig + modular, d.h. die Funktionen werden durch die Installation + des entsprechenden Pakets aktiviert. Geben Sie folgenden + Befehl ein, um PHP-Version 7.4 für + Apache zu installieren: - Danach rufen Sie - apachectl auf, um das - PHP-Modul zu laden: + &prompt.root; pkg install mod_php74 - &prompt.root; apachectl graceful + Falls irgendwelche Pakete Abhängigkeiten besitzen, + werden diese zusätzlichen Pakete ebenfalls + installiert. - Die PHP-Unterstützung von - www/mod_php56 verfügt nur über wenige - Funktionen. Zusätzliche Funktionen können mit dem Port - lang/php56-extensions installiert werden. - Der Port bietet ein Auswahlmenü, über das Sie - verschiedene PHP-Erweiterungen - installieren können. + Standardmäßig ist PHP nicht + aktiviert. Die folgenden Zeilen müssen in der + Apache-Konfigurationsdatei unterhalb von + /usr/local/etc/apache24 + hinzugefügt werden, um PHP zu + aktivieren: - Alternativ können einzelne Erweiterungen über den - jeweiligen Port installieren. Um beispielsweise die - Unterstützung des Datenbankservers - MySQL in PHP - zu aktivieren, installieren Sie den Port - databases/php56-mysql. + <FilesMatch "\.php$"> + SetHandler application/x-httpd-php +</FilesMatch> +<FilesMatch "\.phps$"> + SetHandler application/x-httpd-php-source +</FilesMatch> - Nachdem Sie eine Erweiterung installiert haben, - müssen Sie den - Apache-Server neu starten, damit - die Erweiterung auch erkannt wird: + Zusätzlich muss auch der + in der Konfigurationsdatei + aktualisiert werden und Apache muss entweder neu gestartet, + oder die Konfiguration neu geladen werden, damit die + Änderungen wirksam werden. + Mit pkg kann die Unterstützung für + viele weitere PHP-Funktionen installiert + werden. Um beispielsweise die Unterstützung für + XML oder SSL zu + erhalten, installieren Sie die entsprechenden Pakete: + + &prompt.root; pkg install php74-xml php74-openssl + + Wie zuvor muss die Konfiguration von Apache neu geladen + werden, damit die Änderungen wirksam werden. Dies gilt auch + für Fälle, in denen lediglich ein Modul installiert + wurde. + + Geben Sie folgenden Befehl ein, um einen geordneten + Neustart durchzuführen und die Konfiguration neu zu + laden: + &prompt.root; apachectl graceful - Ab nun wird MySQL von - PHP unterstützt. + Sobald die Installation abgeschlossen ist, gibt es zwei + Möglichkeiten, um eine Liste der installierten + PHP-Module und Informationen über die + Umgebung der Installation zu erhalten. Die erste + Möglichkeit besteht darin, die vollständige + PHP-Binärdatei zu installieren und den + Befehl auszuführen, um die Informationen zu erhalten: + + &prompt.root; pkg install php74 + &prompt.root; php -i | less + + Da die Ausgabe des Befehls sehr umfangreich ist, ist die + Weiterleitung an einen + Pager, wie beispielsweise + more oder less, + sinnvoll. + + Um Änderungen an der globalen Konfiguration von + PHP vorzunehmen, gibt es schließlich eine + gut dokumentierte Datei, die in + /usr/local/etc/php.ini installiert ist. + Zum Zeitpunkt der Installation wird diese Datei nicht + existieren, da zwei Versionen zur Auswahl stehen. Eine + php.ini-development und eine + php.ini-production. Diese Dateien + sind Ansatzpunkte, die Administratoren bei der + Implementierung unterstützen sollen.