Update to r54573:

Update the PHP and SSL subsections of the Apache section.

Reviewed by:	bcr
Differential Revision:	https://reviews.freebsd.org/D26801
This commit is contained in:
Bjoern Heidotting 2020-10-16 12:24:35 +00:00
parent 8b87df479b
commit ea93ec4c23
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=54603

View file

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