Update to r44578:
Editorial review of first half of Apache chapter. Some reshuffling to improve flow. Add descriptions for virtual hosting and modules. Add URLs to module config docs. Reviewed by: bcr Differential Revision: https://reviews.freebsd.org/D6724
This commit is contained in:
parent
4ead68984b
commit
ac5a179400
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48894
1 changed files with 217 additions and 208 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: r44567
|
||||
basiert auf: r44578
|
||||
-->
|
||||
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="network-servers">
|
||||
<!--
|
||||
|
@ -4422,14 +4422,19 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
|
|||
</sect1>
|
||||
|
||||
<sect1 xml:id="network-apache">
|
||||
<!--
|
||||
<info>
|
||||
<title>Apache HTTP-Server</title>
|
||||
|
||||
<authorgroup>
|
||||
<author><personname><firstname>Murray</firstname><surname>Stokely</surname></personname><contrib>Beigetragen von </contrib></author>
|
||||
<author>
|
||||
<personname>
|
||||
<firstname>Murray</firstname>
|
||||
<surname>Stokely</surname>
|
||||
</personname>
|
||||
<contrib>Beigetragen von </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</info>
|
||||
-->
|
||||
<title>Der Apache HTTP-Server</title>
|
||||
|
||||
<indexterm>
|
||||
<primary>Webserver</primary>
|
||||
|
@ -4476,14 +4481,14 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
|
|||
<filename>bin</filename> und
|
||||
<filename>sbin</filename> unterhalb des
|
||||
Serverwurzelverzeichnisses installiert, während sich
|
||||
Konfigurationsdateien im Verzeichnis
|
||||
Konfigurationsdateien im Unterverzeichnis
|
||||
<filename>etc/apache2<replaceable>x</replaceable></filename>
|
||||
befinden.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><literal>ServerAdmin you@your.address</literal></term>
|
||||
<term><literal>ServerAdmin you@example.com</literal></term>
|
||||
|
||||
<listitem>
|
||||
<para>Die E-Mail-Adresse, an die Mitteilungen über
|
||||
|
@ -4494,13 +4499,18 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
|
|||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><literal>ServerName www.example.com</literal></term>
|
||||
<term><literal>ServerName www.example.com:80</literal></term>
|
||||
|
||||
<listitem>
|
||||
<para>Erlaubt dem Administrator, einen Rechnernamen
|
||||
festzulegen, den der Server an die Clients sendet.
|
||||
Beispielsweise könnte <systemitem>www</systemitem> statt
|
||||
des richtigen Rechnernamens verwendet werden.</para>
|
||||
des richtigen Rechnernamens verwendet werden. Wenn das
|
||||
System keinen eingetragenen <acronym>DNS</acronym>-Namen
|
||||
hat, kann stattdessen die <acronym>IP</acronym>-Adresse
|
||||
eingetragen werden. Lauscht der Server auf einem
|
||||
anderen Port, tauschen Sie die <literal>80</literal>
|
||||
gegen eine entsprechende Portnummer.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
@ -4522,41 +4532,48 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
|
|||
anzulegen, bevor Änderungen durchgeführt werden. Wenn die
|
||||
Konfiguration von <application>Apache</application>
|
||||
abgeschlossen ist, speichern Sie die Datei und überprüfen Sie
|
||||
die Konfiguration mit <command>apachectl</command>. Geben Sie dazu
|
||||
<command>apachectl configtest</command> ein. Dieser Befehl
|
||||
sollte <literal>Syntax OK</literal> zurückgeben.</para>
|
||||
die Konfiguration mit <command>apachectl</command>. Der
|
||||
Befehl <command>apachectl configtest</command> sollte
|
||||
<literal>Syntax OK</literal> zurückgeben.</para>
|
||||
|
||||
<indexterm><primary>Apache</primary>
|
||||
<secondary>Starten oder Beenden</secondary></indexterm>
|
||||
|
||||
<para>Der <package>www/apache24</package> Port
|
||||
installiert ein &man.rc.8; Skript, welches zum
|
||||
starten, stoppen und neustarten von
|
||||
<application>Apache</application> benutzt werden kann.
|
||||
Das Skript befindet sich in
|
||||
<filename>/usr/local/etc/rc.d/</filename>.</para>
|
||||
|
||||
<para>Um den <application>Apache</application> beim Systemstart
|
||||
zu starten, fügen Sie folgende Zeile in
|
||||
<filename>/etc/rc.conf</filename> ein:</para>
|
||||
|
||||
<programlisting>apache24_enable="YES"</programlisting>
|
||||
<programlisting>apache<replaceable>24</replaceable>_enable="YES"</programlisting>
|
||||
|
||||
<para>Wenn Sie während des Systemstarts weitere Parameter an den
|
||||
<application>Apache</application> übergeben wollen, können Sie
|
||||
diese durch eine zusätzliche Zeile in
|
||||
<filename>rc.conf</filename> angeben:</para>
|
||||
|
||||
<programlisting>apache24_flags=""</programlisting>
|
||||
<programlisting>apache<replaceable>24</replaceable>_flags=""</programlisting>
|
||||
|
||||
<para>Wenn <application>apachectl</application> keine
|
||||
Konfigurationsfehler meldet, starten Sie
|
||||
<command>httpd</command>:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>service apache<replaceable>24</replaceable> start</userinput></screen>
|
||||
|
||||
<para>Sie können den <command>httpd</command>-Dienst testen,
|
||||
indem Sie
|
||||
<literal>http://<replaceable>localhost</replaceable></literal>
|
||||
in einen Browser eingeben, wobei Sie
|
||||
<replaceable>localhost</replaceable> durch den
|
||||
vollqualifizierten Domainnamen der Maschine ersetzen, auf dem
|
||||
der <command>httpd</command> läuft. Die Standard Webseite,
|
||||
die angezeigt wird, ist
|
||||
<filename>/usr/local/www/apache<replaceable>24</replaceable>/data/index.html</filename>.</para>
|
||||
|
||||
<para>Die Konfiguration von <application>Apache</application>
|
||||
kann bei nachfolgenden Änderungen an der Konfigurationsdatei
|
||||
bei laufendem <command>httpd</command>, auf Fehler überprüft
|
||||
werden. Dies kann durch das &man.rc.8;-Skript direkt , oder
|
||||
über das Dienstprogramm &man.service.8; geschehen, indem Sie
|
||||
eines der folgenden Kommandos ausführen:</para>
|
||||
werden. Geben Sie dazu folgendes Kommando ein:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>service apache24 configtest</userinput></screen>
|
||||
<screen>&prompt.root; <userinput>service apache<replaceable>24</replaceable> configtest</userinput></screen>
|
||||
|
||||
<note>
|
||||
<para>Es ist wichitg zu beachten, dass
|
||||
|
@ -4564,65 +4581,49 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
|
|||
und somit nicht zwingend mit anderen
|
||||
&man.rc.8;-Startskripten funktioniert.</para>
|
||||
</note>
|
||||
|
||||
<para>Wenn der <application>Apache</application> keine Fehler in
|
||||
der Konfiguration meldet, starten Sie <command>httpd</command>
|
||||
mithilfe von &man.service.8;:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>service apache24 start</userinput></screen>
|
||||
|
||||
<para>Sie können den <command>httpd</command>-Dienst testen,
|
||||
indem Sie
|
||||
<literal>http://<replaceable>localhost</replaceable></literal>
|
||||
in einen Browser eingeben, wobei Sie
|
||||
<replaceable>localhost</replaceable> durch den
|
||||
vollqualifizierten Domainnamen der Machine ersetzen, auf dem
|
||||
der <command>httpd</command> läuft. Die Standard Webseite,
|
||||
die angezeigt wird, ist
|
||||
<filename>/usr/local/www/apache24/data/index.html</filename>.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Virtual Hosting</title>
|
||||
|
||||
<para>Der <application>Apache</application> unterstützt zwei
|
||||
Formen des <foreignphrase>Virtual Hostings</foreignphrase>. Die
|
||||
erste Möglichkeit bezeichnet man als namenbasiertes
|
||||
virtuelles Hosting. Dabei wird der HTTP/1.1-Header der Clients
|
||||
dazu verwendet, den Rechnernamen zu bestimmen. Dadurch wird es
|
||||
möglich, mehrere Domains unter der gleichen
|
||||
<acronym>IP</acronym>-Adresse zu betreiben.</para>
|
||||
<para><foreignphrase>Virtual Hosting</foreignphrase> ermöglicht
|
||||
es, mehrere Webseiten auf einem
|
||||
<application>Apache</application>-Server laufen zu lassen.
|
||||
Die virtuellen Hosts können <firstterm>IP-basiert</firstterm>
|
||||
oder <firstterm>namensbasiert</firstterm> sein.
|
||||
<acronym>IP</acronym>-basiertes virtual Hosting verwendet
|
||||
eine <acronym>IP</acronym>-Adresse für jede Webseite. Beim
|
||||
namensbasierten virtual Hosting wird der HTTP/1.1-Header der
|
||||
Clients dazu verwendet, den Rechnernamen zu bestimmen.
|
||||
Dadurch wird es möglich, mehrere Domains unter der gleichen
|
||||
<acronym>IP</acronym>-Adresse zu betreiben.</para>
|
||||
|
||||
<para>Damit der <application>Apache</application> namenbasierte
|
||||
virtuelle Domains verwalten kann, fügen Sie die folgende
|
||||
Zeile in <filename>httpd.conf</filename> ein:</para>
|
||||
|
||||
<programlisting>NameVirtualHost *</programlisting>
|
||||
|
||||
<para>Wenn der Webserver
|
||||
<systemitem class="fqdomainname">www.domain.tld</systemitem>
|
||||
heißt und die virtuelle Domain
|
||||
<systemitem
|
||||
<para>Damit der <application>Apache</application> namenbasierte
|
||||
virtuelle Domains verwalten kann, fügen Sie für jede Webseite
|
||||
einen separaten <literal>VirtualHost</literal>-Block ein.
|
||||
Wenn der Webserver beispielsweise <systemitem
|
||||
class="fqdomainname">www.domain.tld</systemitem> heißt und
|
||||
die virtuelle Domain <systemitem
|
||||
class="fqdomainname">www.someotherdomain.tld</systemitem>
|
||||
einrichtet werden soll, ergänzen Sie
|
||||
<filename>httpd.conf</filename> um folgende Einträge:</para>
|
||||
|
||||
<screen><VirtualHost *>
|
||||
ServerName www.domain.tld
|
||||
DocumentRoot /www/domain.tld
|
||||
<programlisting><VirtualHost *>
|
||||
ServerName <replaceable>www.domain.tld</replaceable>
|
||||
DocumentRoot <replaceable>/www/domain.tld</replaceable>
|
||||
</VirtualHost>
|
||||
|
||||
<VirtualHost *>
|
||||
ServerName www.someotherdomain.tld
|
||||
DocumentRoot /www/someotherdomain.tld
|
||||
</VirtualHost></screen>
|
||||
ServerName <replaceable>www.someotherdomain.tld</replaceable>
|
||||
DocumentRoot <replaceable>/www/someotherdomain.tld</replaceable>
|
||||
</VirtualHost></programlisting>
|
||||
|
||||
<para>Ersetzen Sie dabei die Adressen sowie den Pfad zu den
|
||||
Dokumenten durch Ihre eigenen Einstellungen.</para>
|
||||
<para>Setzen Sie für jeden virtuellen Host die entsprechenden
|
||||
Werte für <literal>ServerName</literal> und
|
||||
<literal>DocumentRoot</literal>.</para>
|
||||
|
||||
<para>Ausführliche Informationen zum Einrichten von
|
||||
virtuellen Domains finden Sie in der offiziellen
|
||||
virtuellen Hosts finden Sie in der offiziellen
|
||||
<application>Apache</application>-Dokumentation unter
|
||||
<uri xlink:href="http://httpd.apache.org/docs/vhosts/">http://httpd.apache.org/docs/vhosts/</uri>.</para>
|
||||
|
||||
|
@ -4634,15 +4635,25 @@ DocumentRoot /www/someotherdomain.tld
|
|||
<indexterm><primary>Apache</primary>
|
||||
<secondary>Module</secondary></indexterm>
|
||||
|
||||
<para>Es gibt viele verschiedene
|
||||
<application>Apache</application>-Module, die den Server
|
||||
um zusätzliche Funktionen erweitern. Die
|
||||
&os; Ports-Sammlung ermöglicht es Ihnen, den
|
||||
<application>Apache</application> gemeinsam mit einigen der
|
||||
beliebtesten Zusatzmodule zu installieren.</para>
|
||||
<para><application>Apache</application> verwendet Module, die
|
||||
den Server um zusätzliche Funktionen erweitern. Eine
|
||||
vollständige Auflistung der zur Verfügung stehenden Module
|
||||
und Konfigurationsdetails finden Sie unter <uri
|
||||
xlink:href="http://httpd.apache.org/docs/current/mod/">
|
||||
http://httpd.apache.org/docs/current/mod/</uri>.</para>
|
||||
|
||||
<para>In &os; können einige Module mit dem Port
|
||||
<package>www/apache24</package> kompiliert werden. Geben Sie
|
||||
in <filename>/usr/ports/www/apache24</filename>
|
||||
<command>make config</command> ein, um zu sehen, welche Module
|
||||
zur Verfügung stehen und welche Module in der Voreinstellung
|
||||
aktiviert sind. Wenn ein Modul nicht zusammen mit dem Port
|
||||
kompiliert wird, bietet die Ports-Sammlung die Möglichkeit
|
||||
viele Module zu installieren. Dieser Abschnitt beschreibt
|
||||
drei der am häufigsten verwendeten Module.</para>
|
||||
|
||||
<sect3>
|
||||
<title><application>mod_ssl</application></title>
|
||||
<title><filename>mod_ssl</filename></title>
|
||||
|
||||
<indexterm>
|
||||
<primary>Webserver</primary>
|
||||
|
@ -4657,157 +4668,61 @@ DocumentRoot /www/someotherdomain.tld
|
|||
<primary>Verschlüsselung</primary>
|
||||
</indexterm>
|
||||
|
||||
<para>Das Modul <application>mod_ssl</application> verwendet die
|
||||
OpenSSL-Bibliothek, um, unter Nutzung der Protokolle Secure
|
||||
Sockets Layer (SSL v2/v3) sowie Transport Layer Security
|
||||
(TLS v1) starke Verschlüsselung zu ermöglichen.
|
||||
Durch dieses Modul können Sie ein signiertes Zertifikat
|
||||
von einer Zertifizierungsstelle anfordern, damit Sie einen
|
||||
sicheren Webserver unter &os; betreiben können.</para>
|
||||
<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>Das Modul <application>mod_ssl</application> wird
|
||||
standardmäßig kompiliert, kann aber auch noch
|
||||
nachträglich durch die Angabe von
|
||||
<literal>-DWITH_SSL</literal> zur Kompilierzeit aktiviert
|
||||
werden.</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>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Skriptsprachen</title>
|
||||
|
||||
<para>Für die wichtigsten Skriptsprachen existieren Module,
|
||||
die es erlauben, <application>Apache</application>-Module
|
||||
nahezu vollständig in einer Skriptsprache zu programmieren.
|
||||
Derartige Module dienen oft dazu, einen Sprach-Interpreter in
|
||||
den Webserver einzubetten. Dadurch wird ein zusätzlicher
|
||||
externer Interpreter überflüssig, was die Startzeit
|
||||
von dynamischen Internetseiten deutlich verringert.</para>
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Dynamische Webseiten</title>
|
||||
|
||||
<indexterm><primary>Webserver</primary>
|
||||
<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>
|
||||
|
||||
<sect3>
|
||||
<title>Django</title>
|
||||
|
||||
<indexterm><primary>Python</primary></indexterm>
|
||||
<indexterm><primary>Django</primary></indexterm>
|
||||
|
||||
<para>Bei <foreignphrase>Django</foreignphrase> 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
|
||||
müssen. Zusätzlich existiert ein umfangreiches
|
||||
Template-System, wodurch die Programmlogik von der
|
||||
HTML-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>
|
||||
|
||||
<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
|
||||
der Seite aufrufen.</para>
|
||||
|
||||
<example xml:id="network-www-django-apache-config">
|
||||
<title>Apache-Konfiguration für Django/mod_python</title>
|
||||
|
||||
<para>Sie müssen <filename>httpd.conf</filename> anpassen,
|
||||
damit Apache Anfragen für bestimmte URLs an die
|
||||
Internet-Applikation übergibt:</para>
|
||||
|
||||
<screen><Location "/">
|
||||
SetHandler python-program
|
||||
PythonPath "['/dir/to/the/django/packages/'] + sys.path"
|
||||
PythonHandler django.core.handlers.modpython
|
||||
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
|
||||
PythonAutoReload On
|
||||
PythonDebug On
|
||||
</Location></screen>
|
||||
</example>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Ruby on Rails</title>
|
||||
|
||||
<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
|
||||
und erlaubt es Webentwicklern, umfangreiche und mächtige
|
||||
Applikationen in kurzer Zeit zu programmieren. Das
|
||||
Framework kann über die Ports-Sammlung installiert
|
||||
werden.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/ports/www/rubygem-rails; make all install clean</userinput></screen>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title><application>mod_perl2</application></title>
|
||||
<title><filename>mod_perl2</filename></title>
|
||||
|
||||
<indexterm>
|
||||
<primary>mod_perl2</primary>
|
||||
<secondary>Perl</secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>Die Kombination <application>Apache</application>/Perl
|
||||
vereinigt die Vorteile der Programmiersprache Perl und des
|
||||
<application>Apache</application> HTTP-Servers. Durch
|
||||
das Modul <application>mod_perl2</application> ist es
|
||||
möglich, vollständig in Perl geschriebene
|
||||
<application>Apache</application>-Module zu erzeugen.
|
||||
Da der Perl-Interpreter in den Server eingebettet wird,
|
||||
müssen Sie weder einen externen Interpreter noch
|
||||
Perl zusätzlich aufrufen.</para>
|
||||
<para><application>mod_perl2</application> macht es
|
||||
möglich, vollständig in <application>Perl</application>
|
||||
geschriebene <application>Apache</application>-Module zu
|
||||
erzeugen. Da der
|
||||
<application>Perl</application>-Interpreter in den Server
|
||||
eingebettet wird, muss weder ein externer Interpreter noch
|
||||
<application>Perl</application> zusätzlich aufgerufen
|
||||
werden.</para>
|
||||
|
||||
<para><application>mod_perl2</application> ist über den Port
|
||||
<filename role="package">www/mod_perl2</filename>
|
||||
erhältlich.</para>
|
||||
<para><application>mod_perl2</application> 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">
|
||||
http://perl.apache.org/docs/2.0/index.html</uri>.</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<!--
|
||||
<info>
|
||||
<title><filename>mod_php</filename></title>
|
||||
|
||||
<authorgroup>
|
||||
<author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Geschrieben von </contrib></author>
|
||||
<author>
|
||||
<personname>
|
||||
<firstname>Tom</firstname>
|
||||
<surname>Rhodes</surname>
|
||||
</personname>
|
||||
<contrib>Geschrieben von </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</info>
|
||||
-->
|
||||
<title><application>mod_php</application></title>
|
||||
|
||||
<indexterm>
|
||||
<primary>mod_php</primary>
|
||||
|
@ -4918,6 +4833,100 @@ DocumentRoot /www/someotherdomain.tld
|
|||
<application>PHP</application> unterstützt.</para>
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Dynamische Webseiten</title>
|
||||
|
||||
<indexterm>
|
||||
<primary>Webserver</primary>
|
||||
<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>
|
||||
|
||||
<sect3>
|
||||
<title>Django</title>
|
||||
|
||||
<indexterm><primary>Python</primary></indexterm>
|
||||
<indexterm><primary>Django</primary></indexterm>
|
||||
|
||||
<para>Bei <foreignphrase>Django</foreignphrase> 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
|
||||
müssen. Zusätzlich existiert ein umfangreiches
|
||||
Template-System, wodurch die Programmlogik von der
|
||||
HTML-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>
|
||||
|
||||
<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
|
||||
der Seite aufrufen.</para>
|
||||
|
||||
<example xml:id="network-www-django-apache-config">
|
||||
<title>Apache-Konfiguration für Django/mod_python</title>
|
||||
|
||||
<para>Sie müssen <filename>httpd.conf</filename> anpassen,
|
||||
damit Apache Anfragen für bestimmte URLs an die
|
||||
Internet-Applikation übergibt:</para>
|
||||
|
||||
<screen><Location "/">
|
||||
SetHandler python-program
|
||||
PythonPath "['/dir/to/the/django/packages/'] + sys.path"
|
||||
PythonHandler django.core.handlers.modpython
|
||||
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
|
||||
PythonAutoReload On
|
||||
PythonDebug On
|
||||
</Location></screen>
|
||||
</example>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Ruby on Rails</title>
|
||||
|
||||
<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
|
||||
und erlaubt es Webentwicklern, umfangreiche und mächtige
|
||||
Applikationen in kurzer Zeit zu programmieren. Das
|
||||
Framework kann über die Ports-Sammlung installiert
|
||||
werden.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/ports/www/rubygem-rails; make all install clean</userinput></screen>
|
||||
</sect3>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="network-ftp">
|
||||
|
|
Loading…
Reference in a new issue