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:
parent
060ff7feef
commit
764e24619c
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48896
1 changed files with 92 additions and 123 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: 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
|
||||
<IfModule mod_php5.c>
|
||||
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
|
||||
</IfModule></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
|
||||
µsoft;, 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><Location "/">
|
||||
<screen><Location "/">
|
||||
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
|
||||
</Location></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>
|
||||
|
|
Loading…
Reference in a new issue