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:
parent
8b87df479b
commit
ea93ec4c23
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=54603
1 changed files with 141 additions and 60 deletions
|
@ -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
|
||||
-->
|
||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||
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>
|
||||
|
||||
<sect3>
|
||||
<title><filename>mod_ssl</filename></title>
|
||||
<title>SSL-Unterstützung</title>
|
||||
|
||||
<indexterm>
|
||||
<primary>Webserver</primary>
|
||||
|
@ -3737,21 +3737,65 @@ freebsd.org. (A)
|
|||
<primary>Verschlüsselung</primary>
|
||||
</indexterm>
|
||||
|
||||
<para>Das Modul <filename>mod_ssl</filename> verwendet die
|
||||
<application>OpenSSL</application>-Bibliothek, um über die
|
||||
Protokolle Secure Sockets Layer (<acronym>SSLv3</acronym>)
|
||||
sowie Transport Layer Security (<acronym>TLSv1</acronym>)
|
||||
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.</para>
|
||||
<para>Zu einem bestimmten Zeitpunkt erforderte die
|
||||
Unterstützung von <acronym>SSL</acronym> innerhalb von
|
||||
Apache ein separates Modul namens
|
||||
<filename>mod_ssl</filename>. Dies ist nicht mehr der Fall
|
||||
und die Installation des Apache-Webservers wird im Standard
|
||||
mit <acronym>SSL</acronym>-Unterstützung ausgeliefert. Ein
|
||||
Beispiel, wie Sie <acronym>SSL</acronym>-Unterstützung für
|
||||
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>
|
||||
standardmäßig im Port und auch im Paket aktiviert. Die
|
||||
verfügbaren Konfigurationsanweisungen werden in <uri
|
||||
xlink:href="http://httpd.apache.org/docs/current/mod/mod_ssl.html">
|
||||
http://httpd.apache.org/docs/current/mod/mod_ssl.html</uri>
|
||||
beschrieben.</para>
|
||||
<para>Nachdem die Konfiguration von <acronym>SSL</acronym>
|
||||
abgeschlossen ist, muss die folgende Zeile in
|
||||
<filename>httpd.conf</filename> auskommentiert werden, um
|
||||
die Änderungen beim nächsten Neustart oder erneuten Laden
|
||||
der Konfiguration zu aktivieren:</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>
|
||||
|
@ -3810,59 +3854,96 @@ freebsd.org. (A)
|
|||
erzeugten Internetseiten zu ermöglichen.</para>
|
||||
|
||||
<para>Damit der <application>Apache</application>-Webserver
|
||||
<acronym>PHP</acronym>5 unterstützt, der Port oder das Paket
|
||||
<package>lang/php56</package> installiert werden. Dies wird
|
||||
die Module installieren und konfigurieren, die für die
|
||||
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>
|
||||
<acronym>PHP</acronym> und weitere in
|
||||
<acronym>PHP</acronym> geschriebene Funktionen unterstützt,
|
||||
muss das entsprechende Paket installiert werden.</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>
|
||||
|
||||
<!--
|
||||
I don't think this is still needed
|
||||
<programlisting>AddModule mod_php5.c
|
||||
<IfModule mod_php5.c>
|
||||
DirectoryIndex index.php index.html
|
||||
</IfModule>
|
||||
<IfModule mod_php5.c>
|
||||
AddType application/x-httpd-php .php
|
||||
AddType application/x-httpd-php-source .phps
|
||||
</IfModule></programlisting>
|
||||
-->
|
||||
<screen>&prompt.root; <userinput>pkg search php</userinput></screen>
|
||||
|
||||
<para>Danach rufen Sie
|
||||
<command>apachectl</command> auf, um das
|
||||
<acronym>PHP</acronym>-Modul zu laden:</para>
|
||||
<para>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 <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><FilesMatch "\.php$">
|
||||
SetHandler application/x-httpd-php
|
||||
</FilesMatch>
|
||||
<FilesMatch "\.phps$">
|
||||
SetHandler application/x-httpd-php-source
|
||||
</FilesMatch></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>
|
||||
|
||||
<para>Die <acronym>PHP</acronym>-Unterstützung von
|
||||
<package>www/mod_php56</package> verfügt nur über wenige
|
||||
Funktionen. Zusätzliche Funktionen können mit dem Port
|
||||
<package>lang/php56-extensions</package> installiert werden.
|
||||
Der Port bietet ein Auswahlmenü, über das Sie
|
||||
verschiedene <acronym>PHP</acronym>-Erweiterungen
|
||||
installieren können.</para>
|
||||
<para>Sobald die Installation abgeschlossen ist, gibt es zwei
|
||||
Möglichkeiten, um eine Liste der installierten
|
||||
<acronym>PHP</acronym>-Module und Informationen über die
|
||||
Umgebung der Installation zu erhalten. Die erste
|
||||
Möglichkeit besteht darin, die vollständige
|
||||
<acronym>PHP</acronym>-Binärdatei zu installieren und den
|
||||
Befehl auszuführen, um die Informationen zu erhalten:</para>
|
||||
|
||||
<para>Alternativ können einzelne Erweiterungen über den
|
||||
jeweiligen Port installieren. Um beispielsweise die
|
||||
Unterstützung des Datenbankservers
|
||||
<application>MySQL</application> in <acronym>PHP</acronym>
|
||||
zu aktivieren, installieren Sie den Port
|
||||
<filename>databases/php56-mysql</filename>.</para>
|
||||
<screen>&prompt.root; <userinput>pkg install php74</userinput></screen>
|
||||
<screen>&prompt.root; <userinput>php -i | less</userinput></screen>
|
||||
|
||||
<para>Nachdem Sie eine Erweiterung installiert haben,
|
||||
müssen Sie den
|
||||
<application>Apache</application>-Server neu starten, damit
|
||||
die Erweiterung auch erkannt wird:</para>
|
||||
<para>Da die Ausgabe des Befehls sehr umfangreich ist, ist die
|
||||
Weiterleitung an einen
|
||||
<foreignphrase>Pager</foreignphrase>, wie beispielsweise
|
||||
<command>more</command> oder <command>less</command>,
|
||||
sinnvoll.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>apachectl graceful</userinput></screen>
|
||||
|
||||
<para>Ab nun wird <application>MySQL</application> von
|
||||
<application>PHP</application> unterstützt.</para>
|
||||
<para>Um Änderungen an der globalen Konfiguration von
|
||||
<acronym>PHP</acronym> vorzunehmen, gibt es schließlich eine
|
||||
gut dokumentierte Datei, die in
|
||||
<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>
|
||||
</sect2>
|
||||
|
||||
|
|
Loading…
Reference in a new issue