Update to r44582:

Finish editorial pass through Apache chapter.
Update mod_php to reflect the new port.
Comment out some of the mod_php config until it can be confirmed as
required--the new port does not add these lines and I suspect they were
only needed in Apache 1.x.
Add some references.
This commit is contained in:
Bjoern Heidotting 2016-06-04 20:24:55 +00:00
parent 060ff7feef
commit 764e24619c
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48896

View file

@ -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: r44578
basiert auf: r44582
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="network-servers">
<!--
@ -4686,14 +4686,14 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
</sect3>
<sect3>
<title><filename>mod_perl2</filename></title>
<title><filename>mod_perl</filename></title>
<indexterm>
<primary>mod_perl2</primary>
<primary>mod_perl</primary>
<secondary>Perl</secondary>
</indexterm>
<para><application>mod_perl2</application> macht es
<para>Das Modul <filename>mod_perl</filename> macht es
möglich, vollständig in <application>Perl</application>
geschriebene <application>Apache</application>-Module zu
erzeugen. Da der
@ -4702,7 +4702,7 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
<application>Perl</application> zusätzlich aufgerufen
werden.</para>
<para><application>mod_perl2</application> wird über den Port
<para><filename>mod_perl</filename> wird über den Port
oder das Paket <package>www/mod_perl2</package> installiert.
Dokumentation für dieses Modul finden Sie unter <uri
xlink:href="http://perl.apache.org/docs/2.0/index.html">
@ -4729,62 +4729,31 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
<secondary>PHP</secondary>
</indexterm>
<para>Bei <acronym>PHP</acronym>>, dem <quote>Hypertext
Preprocessor</quote>, handelt es sich um eine vielseitig
<para><firstterm>PHP: Hypertext Preprocessor</firstterm>
(<acronym>PHP</acronym>) ist eine vielseitig
verwendbare Skriptsprache, die besonders für die
Web-Entwicklung geeignet ist. <acronym>PHP</acronym> kann
in <acronym>HTML</acronym> eingebettet werden und ähnelt von
der Syntax her Sprachen wie C, &java; und Perl. Das
der Syntax her Sprachen wie <application>C</application>,
&java; und <application>Perl</application>. Das
Hauptanliegen von <acronym>PHP</acronym> ist es,
Web-Entwicklern die rasche Erstellung von dynamisch
erzeugten Internetseiten zu ermöglichen.</para>
<para>Damit Ihr System <acronym>PHP</acronym>5 unterstützt,
müssen Sie als Erstes den <application>Apache</application>
Webserver über den Port
<package>lang/php5</package>
installieren.</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>
<para>Wenn Sie den Port <package>lang/php5</package>
das erste Mal installieren, werden die verfügbaren Optionen
(<literal>OPTIONS</literal>) automatisch angezeigt. Erscheint das
Konfigurationsmenü bei Ihnen nicht, so liegt dies daran,
dass Sie den Port <package>lang/php5</package>
schon einmal auf Ihrem System installiert hatten. Es ist aber
jederzeit möglich, dieses Menü aus dem
Ports-Verzeichnis heraus über folgenden Befehl erneut
aufzurufen:</para>
<screen>&prompt.root; <userinput>make config</userinput></screen>
<para>In diesem Konfigurationsmenü müssen Sie die
Option <literal>APACHE</literal> auswählen, damit
<application>mod_php5</application> als ein vom
<application>Apache</application>-Webserver ladbares Modul
gebaut wird.</para>
<note>
<para>Viele Seiten verwenden nach wie vor (beispielsweise wegen
der benötigten Kompatibilität zu bereits
vorhandenen Web-Applikationen) <acronym>PHP</acronym>4.
Ist dies bei Ihnen der Fall, so müssen Sie statt
<application>mod_php5</application>
<application>mod_php4</application> über den Port
<package>lang/php4</package> installieren.
Der Port <package>lang/php4</package>
unterstützt viele der Konfigurations- und
Laufzeitoptionen von <package>lang/php5</package>.</para>
</note>
<para>Dieser Port installiert und konfiguriert die Module, die
für die Unterstützung von dynamischen
<acronym>PHP</acronym>-Anwendungen benötigt werden.
Stellen Sie danach sicher, dass Ihre
<filename>/usr/local/etc/apache22/httpd.conf</filename> die
folgenden Abschnitte enthält:</para>
<programlisting>LoadModule php5_module libexec/apache/libphp5.so</programlisting>
<programlisting>LoadModule php5_module libexec/apache24/libphp5.so</programlisting>
<!--
I don't think this is still needed
<programlisting>AddModule mod_php5.c
&lt;IfModule mod_php5.c&gt;
DirectoryIndex index.php index.html
@ -4793,34 +4762,28 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
&lt;/IfModule&gt;</programlisting>
-->
<para>Nachdem dies erledigt ist, rufen Sie
<para>Danach rufen Sie
<command>apachectl</command> auf, um das
<acronym>PHP</acronym>-Modul zu laden:</para>
<screen>&prompt.root; <userinput>apachectl graceful</userinput></screen>
<para>Bei künftigen Upgrades von <acronym>PHP</acronym>
wird <command>make config</command> nicht mehr benötigt,
da die von Ihnen ursprünglich ausgewählten
Optionen (<literal>OPTIONS</literal>) vom
&os;-Ports-Framework automatisch gespeichert werden.</para>
<para>Die <acronym>PHP</acronym>-Unterstützung von &os; ist
stark modular aufgebaut, daher verfügt eine
Basisinstallation nur über wenige Funktionen. Eine
Erweiterung um zusätzliche Funktionen ist allerdings sehr
einfach über den Port <package>lang/php5-extensions</package> möglich.
Der Port bietet Ihnen ein Auswahlmenü, über das Sie
verschiedene <acronym>PHP</acronym>-Erweiterungen installieren
können. Alternativ können Sie einzelne Erweiterungen
aber weiterhin direkt über den jeweiligen Port
installieren.</para>
<para>Um beispielsweise die Unterstützung des
Datenbankservers <application>MySQL</application> in
<acronym>PHP</acronym>5 zu aktivieren, installieren Sie
den Port <filename>databases/php5-mysql</filename>.</para>
<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>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>
<para>Nachdem Sie eine Erweiterung installiert haben,
müssen Sie den
@ -4842,17 +4805,12 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
<secondary>dynamisch</secondary>
</indexterm>
<para>In den vergangenen Jahren haben immer mehr Unternehmen
das Internet als Mittel für die Steigerung ihrer
Einnahmen sowie für die Erhöhung ihrer Reichweite
entdeckt. Dadurch stieg auch die Nachfrage nach interaktiven
Internetinhalten. Neben einigen Unternehmen, darunter
&microsoft;, die dafür proprietäre Produkte
entwickelt haben, hat auch die Open Source Community auf
diesen Umstand reagiert und unter anderem mit Django,
Ruby on Rails, <application>mod_perl2</application>, und
<application>mod_php</application> Möglichkeiten zur
Generierung dynamischer Internetseiten geschaffen.</para>
<para>Neben <application>mod_perl</application> und
<application>mod_php</application> stehen noch weitere
Sprachen zur Erstellung von dynamischen Inhalten zur
Verfügung. Dazu gehören auch
<application>Django</application> und
<application>Ruby on Rails</application>.</para>
<sect3>
<title>Django</title>
@ -4860,55 +4818,62 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
<indexterm><primary>Python</primary></indexterm>
<indexterm><primary>Django</primary></indexterm>
<para>Bei <foreignphrase>Django</foreignphrase> handelt es
<para>Bei <application>Django</application> handelt es
sich um ein unter der BSD-Lizenz verfügbares
Framework zur schnellen Erstellung von mächtigen
Internet-Applikationen. Es beinhaltet einen
objekt-relationalen Mapper (wodurch Datentypen als
Phyton-Objekte entwickelt werden können) sowie eine
API für den dynamischen Datenbankzugriff auf diese
Objekte, ohne dass Entwickler jemals SQL-Code schreiben
<application>Phyton</application>-Objekte entwickelt werden
können) sowie eine <acronym>API</acronym> für den
dynamischen Datenbankzugriff auf diese Objekte, ohne dass
Entwickler jemals <acronym>SQL</acronym>-Code schreiben
müssen. Zusätzlich existiert ein umfangreiches
Template-System, wodurch die Programmlogik von der
HTML-Präsentation getrennt werden kann.</para>
<acronym>HTML</acronym>-Präsentation getrennt werden
kann.</para>
<para>Django setzt das Modul
<application>mod_python</application>,
den <application>Apache</application>-Webserver sowie eine
SQL-Datenbank voraus. Der &os;-Port wird alle
Abhängigkeiten mit sinnvollen Optionen konfigurieren und
installieren.</para>
<para><application>Django</application> setzt das Modul
<application>mod_python</application> und eine
<acronym>SQL</acronym>-Datenbank voraus. In &os; wird
bei der Installation von <package>www/py-django</package>
automatisch <filename>mod_python</filename> installiert.
Als Datenbanken werden
<application>PostgreSQL</application>,
<application>MySQL</application> und
<application>SQLite</application> unterstützt, wobei
<application>SQLite</application> die Voreinstellung ist.
Wenn Sie die Datenbank ändern möchten, geben Sie in
<filename>/usr/ports/www/py-django</filename>
<command>make config</command> ein und installieren Sie den
Port neu.</para>
<example xml:id="network-www-django-install">
<title>Django mit <application>Apache2</application>,
<application>mod_python3</application>, und
<application>PostgreSQL</application> installieren</title>
<screen>&prompt.root; <userinput>cd /usr/ports/www/py-django; make all install clean -DWITH_MOD_PYTHON3 -DWITH_POSTGRESQL</userinput></screen>
</example>
<para>Nachdem Django und die abhängigen Pakete installiert
sind, benötigt die Anwendung ein Projektverzeichnis und die
Apache-Konfiguration, um den eingebetteten
Python-Interpreter zu nutzen. Dieser wird spezifische URLs
<para>Nachdem <application>Django</application> installiert
ist, benötigt die Anwendung ein Projektverzeichnis und die
<application>Apache</application>-Konfiguration, um den
eingebetteten <application>Python</application>-Interpreter
zu nutzen. Dieser Interpreter wird verwendet um die
Anwendung für spezifische <acronym>URL</acronym>s
der Seite aufrufen.</para>
<example xml:id="network-www-django-apache-config">
<title>Apache-Konfiguration für Django/mod_python</title>
<para>Damit <application>Apache</application> Anfragen für
bestimmte <acronym>URL</acronym>s an die Web-Applikation
übergeben kann, müssen Sie den vollständigen Pfad zum
Projektverzeichnis in <filename>httpd.conf</filename>
festlegen:</para>
<para>Sie müssen <filename>httpd.conf</filename> anpassen,
damit Apache Anfragen für bestimmte URLs an die
Internet-Applikation übergibt:</para>
<screen>&lt;Location "/"&gt;
<screen>&lt;Location "/"&gt;
SetHandler python-program
PythonPath "['/dir/to/the/django/packages/'] + sys.path"
PythonPath "['<replaceable>/pfad/zu/den/django/paketen/</replaceable>'] + sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonAutoReload On
PythonDebug On
&lt;/Location&gt;</screen>
</example>
<para>Weitere Informationen zur Verwendung von
<application>Django</application> finden Sie unter <uri
xlink:href="https://docs.djangoproject.com/en/1.6/">
https://docs.djangoproject.com/en/1.6/</uri>.</para>
</sect3>
<sect3>
@ -4916,15 +4881,19 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
<indexterm><primary>Ruby on Rails</primary></indexterm>
<para>Bei <foreignphrase>Ruby on Rails</foreignphrase> handelt
es sich um ein weiteres, als Open Source verfügbares
Webframework. Es bietet einen kompletten Entwicklungsstack
<para><application>Ruby on Rails</application> ist ein
weiteres, als Open Source verfügbares Webframework. Es
bietet einen kompletten Entwicklungsstack
und erlaubt es Webentwicklern, umfangreiche und mächtige
Applikationen in kurzer Zeit zu programmieren. Das
Framework kann über die Ports-Sammlung installiert
Applikationen in kurzer Zeit zu programmieren. Unter &os;
kann das Framework über den Port oder das Paket
<package>www/rubygem-rails</package> installiert
werden.</para>
<screen>&prompt.root; <userinput>cd /usr/ports/www/rubygem-rails; make all install clean</userinput></screen>
<para>Weitere Informationen zur Verwendung von
<application>Ruby on Rails</application> finden Sie unter
<uri xlink:href="http://rubyonrails.org/documentation">
http://rubyonrails.org/documentation</uri>.</para>
</sect3>
</sect2>
</sect1>