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$
|
$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: 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">
|
<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>
|
||||||
|
|
||||||
<sect1 xml:id="network-apache">
|
<sect1 xml:id="network-apache">
|
||||||
<!--
|
|
||||||
<info>
|
<info>
|
||||||
|
<title>Apache HTTP-Server</title>
|
||||||
|
|
||||||
<authorgroup>
|
<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>
|
</authorgroup>
|
||||||
</info>
|
</info>
|
||||||
-->
|
|
||||||
<title>Der Apache HTTP-Server</title>
|
|
||||||
|
|
||||||
<indexterm>
|
<indexterm>
|
||||||
<primary>Webserver</primary>
|
<primary>Webserver</primary>
|
||||||
|
@ -4476,14 +4481,14 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
|
||||||
<filename>bin</filename> und
|
<filename>bin</filename> und
|
||||||
<filename>sbin</filename> unterhalb des
|
<filename>sbin</filename> unterhalb des
|
||||||
Serverwurzelverzeichnisses installiert, während sich
|
Serverwurzelverzeichnisses installiert, während sich
|
||||||
Konfigurationsdateien im Verzeichnis
|
Konfigurationsdateien im Unterverzeichnis
|
||||||
<filename>etc/apache2<replaceable>x</replaceable></filename>
|
<filename>etc/apache2<replaceable>x</replaceable></filename>
|
||||||
befinden.</para>
|
befinden.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><literal>ServerAdmin you@your.address</literal></term>
|
<term><literal>ServerAdmin you@example.com</literal></term>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Die E-Mail-Adresse, an die Mitteilungen über
|
<para>Die E-Mail-Adresse, an die Mitteilungen über
|
||||||
|
@ -4494,13 +4499,18 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><literal>ServerName www.example.com</literal></term>
|
<term><literal>ServerName www.example.com:80</literal></term>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Erlaubt dem Administrator, einen Rechnernamen
|
<para>Erlaubt dem Administrator, einen Rechnernamen
|
||||||
festzulegen, den der Server an die Clients sendet.
|
festzulegen, den der Server an die Clients sendet.
|
||||||
Beispielsweise könnte <systemitem>www</systemitem> statt
|
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>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
@ -4522,41 +4532,48 @@ $include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
|
||||||
anzulegen, bevor Änderungen durchgeführt werden. Wenn die
|
anzulegen, bevor Änderungen durchgeführt werden. Wenn die
|
||||||
Konfiguration von <application>Apache</application>
|
Konfiguration von <application>Apache</application>
|
||||||
abgeschlossen ist, speichern Sie die Datei und überprüfen Sie
|
abgeschlossen ist, speichern Sie die Datei und überprüfen Sie
|
||||||
die Konfiguration mit <command>apachectl</command>. Geben Sie dazu
|
die Konfiguration mit <command>apachectl</command>. Der
|
||||||
<command>apachectl configtest</command> ein. Dieser Befehl
|
Befehl <command>apachectl configtest</command> sollte
|
||||||
sollte <literal>Syntax OK</literal> zurückgeben.</para>
|
<literal>Syntax OK</literal> zurückgeben.</para>
|
||||||
|
|
||||||
<indexterm><primary>Apache</primary>
|
<indexterm><primary>Apache</primary>
|
||||||
<secondary>Starten oder Beenden</secondary></indexterm>
|
<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
|
<para>Um den <application>Apache</application> beim Systemstart
|
||||||
zu starten, fügen Sie folgende Zeile in
|
zu starten, fügen Sie folgende Zeile in
|
||||||
<filename>/etc/rc.conf</filename> ein:</para>
|
<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
|
<para>Wenn Sie während des Systemstarts weitere Parameter an den
|
||||||
<application>Apache</application> übergeben wollen, können Sie
|
<application>Apache</application> übergeben wollen, können Sie
|
||||||
diese durch eine zusätzliche Zeile in
|
diese durch eine zusätzliche Zeile in
|
||||||
<filename>rc.conf</filename> angeben:</para>
|
<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>
|
<para>Die Konfiguration von <application>Apache</application>
|
||||||
kann bei nachfolgenden Änderungen an der Konfigurationsdatei
|
kann bei nachfolgenden Änderungen an der Konfigurationsdatei
|
||||||
bei laufendem <command>httpd</command>, auf Fehler überprüft
|
bei laufendem <command>httpd</command>, auf Fehler überprüft
|
||||||
werden. Dies kann durch das &man.rc.8;-Skript direkt , oder
|
werden. Geben Sie dazu folgendes Kommando ein:</para>
|
||||||
über das Dienstprogramm &man.service.8; geschehen, indem Sie
|
|
||||||
eines der folgenden Kommandos ausführen:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>service apache24 configtest</userinput></screen>
|
<screen>&prompt.root; <userinput>service apache<replaceable>24</replaceable> configtest</userinput></screen>
|
||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>Es ist wichitg zu beachten, dass
|
<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
|
und somit nicht zwingend mit anderen
|
||||||
&man.rc.8;-Startskripten funktioniert.</para>
|
&man.rc.8;-Startskripten funktioniert.</para>
|
||||||
</note>
|
</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>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Virtual Hosting</title>
|
<title>Virtual Hosting</title>
|
||||||
|
|
||||||
<para>Der <application>Apache</application> unterstützt zwei
|
<para><foreignphrase>Virtual Hosting</foreignphrase> ermöglicht
|
||||||
Formen des <foreignphrase>Virtual Hostings</foreignphrase>. Die
|
es, mehrere Webseiten auf einem
|
||||||
erste Möglichkeit bezeichnet man als namenbasiertes
|
<application>Apache</application>-Server laufen zu lassen.
|
||||||
virtuelles Hosting. Dabei wird der HTTP/1.1-Header der Clients
|
Die virtuellen Hosts können <firstterm>IP-basiert</firstterm>
|
||||||
dazu verwendet, den Rechnernamen zu bestimmen. Dadurch wird es
|
oder <firstterm>namensbasiert</firstterm> sein.
|
||||||
möglich, mehrere Domains unter der gleichen
|
<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>
|
<acronym>IP</acronym>-Adresse zu betreiben.</para>
|
||||||
|
|
||||||
<para>Damit der <application>Apache</application> namenbasierte
|
<para>Damit der <application>Apache</application> namenbasierte
|
||||||
virtuelle Domains verwalten kann, fügen Sie die folgende
|
virtuelle Domains verwalten kann, fügen Sie für jede Webseite
|
||||||
Zeile in <filename>httpd.conf</filename> ein:</para>
|
einen separaten <literal>VirtualHost</literal>-Block ein.
|
||||||
|
Wenn der Webserver beispielsweise <systemitem
|
||||||
<programlisting>NameVirtualHost *</programlisting>
|
class="fqdomainname">www.domain.tld</systemitem> heißt und
|
||||||
|
die virtuelle Domain <systemitem
|
||||||
<para>Wenn der Webserver
|
|
||||||
<systemitem class="fqdomainname">www.domain.tld</systemitem>
|
|
||||||
heißt und die virtuelle Domain
|
|
||||||
<systemitem
|
|
||||||
class="fqdomainname">www.someotherdomain.tld</systemitem>
|
class="fqdomainname">www.someotherdomain.tld</systemitem>
|
||||||
einrichtet werden soll, ergänzen Sie
|
einrichtet werden soll, ergänzen Sie
|
||||||
<filename>httpd.conf</filename> um folgende Einträge:</para>
|
<filename>httpd.conf</filename> um folgende Einträge:</para>
|
||||||
|
|
||||||
<screen><VirtualHost *>
|
<programlisting><VirtualHost *>
|
||||||
ServerName www.domain.tld
|
ServerName <replaceable>www.domain.tld</replaceable>
|
||||||
DocumentRoot /www/domain.tld
|
DocumentRoot <replaceable>/www/domain.tld</replaceable>
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
|
|
||||||
<VirtualHost *>
|
<VirtualHost *>
|
||||||
ServerName www.someotherdomain.tld
|
ServerName <replaceable>www.someotherdomain.tld</replaceable>
|
||||||
DocumentRoot /www/someotherdomain.tld
|
DocumentRoot <replaceable>/www/someotherdomain.tld</replaceable>
|
||||||
</VirtualHost></screen>
|
</VirtualHost></programlisting>
|
||||||
|
|
||||||
<para>Ersetzen Sie dabei die Adressen sowie den Pfad zu den
|
<para>Setzen Sie für jeden virtuellen Host die entsprechenden
|
||||||
Dokumenten durch Ihre eigenen Einstellungen.</para>
|
Werte für <literal>ServerName</literal> und
|
||||||
|
<literal>DocumentRoot</literal>.</para>
|
||||||
|
|
||||||
<para>Ausführliche Informationen zum Einrichten von
|
<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
|
<application>Apache</application>-Dokumentation unter
|
||||||
<uri xlink:href="http://httpd.apache.org/docs/vhosts/">http://httpd.apache.org/docs/vhosts/</uri>.</para>
|
<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>
|
<indexterm><primary>Apache</primary>
|
||||||
<secondary>Module</secondary></indexterm>
|
<secondary>Module</secondary></indexterm>
|
||||||
|
|
||||||
<para>Es gibt viele verschiedene
|
<para><application>Apache</application> verwendet Module, die
|
||||||
<application>Apache</application>-Module, die den Server
|
den Server um zusätzliche Funktionen erweitern. Eine
|
||||||
um zusätzliche Funktionen erweitern. Die
|
vollständige Auflistung der zur Verfügung stehenden Module
|
||||||
&os; Ports-Sammlung ermöglicht es Ihnen, den
|
und Konfigurationsdetails finden Sie unter <uri
|
||||||
<application>Apache</application> gemeinsam mit einigen der
|
xlink:href="http://httpd.apache.org/docs/current/mod/">
|
||||||
beliebtesten Zusatzmodule zu installieren.</para>
|
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>
|
<sect3>
|
||||||
<title><application>mod_ssl</application></title>
|
<title><filename>mod_ssl</filename></title>
|
||||||
|
|
||||||
<indexterm>
|
<indexterm>
|
||||||
<primary>Webserver</primary>
|
<primary>Webserver</primary>
|
||||||
|
@ -4657,157 +4668,61 @@ DocumentRoot /www/someotherdomain.tld
|
||||||
<primary>Verschlüsselung</primary>
|
<primary>Verschlüsselung</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
|
||||||
<para>Das Modul <application>mod_ssl</application> verwendet die
|
<para>Das Modul <filename>mod_ssl</filename> verwendet die
|
||||||
OpenSSL-Bibliothek, um, unter Nutzung der Protokolle Secure
|
<application>OpenSSL</application>-Bibliothek, um über die
|
||||||
Sockets Layer (SSL v2/v3) sowie Transport Layer Security
|
Protokolle Secure Sockets Layer (<acronym>SSLv3</acronym>)
|
||||||
(TLS v1) starke Verschlüsselung zu ermöglichen.
|
sowie Transport Layer Security (<acronym>TLSv1</acronym>)
|
||||||
Durch dieses Modul können Sie ein signiertes Zertifikat
|
eine starke Verschlüsselung zu ermöglichen. Mit diesem
|
||||||
von einer Zertifizierungsstelle anfordern, damit Sie einen
|
Modul können Sie ein signiertes Zertifikat von einer
|
||||||
sicheren Webserver unter &os; betreiben können.</para>
|
Zertifizierungsstelle anfordern, damit Sie einen sicheren
|
||||||
|
Webserver unter &os; betreiben können.</para>
|
||||||
|
|
||||||
<para>Das Modul <application>mod_ssl</application> wird
|
<para>Unter &os; wird das Modul <filename>mod_ssl</filename>
|
||||||
standardmäßig kompiliert, kann aber auch noch
|
standardmäßig im Port und auch im Paket aktiviert. Die
|
||||||
nachträglich durch die Angabe von
|
verfügbaren Konfigurationsanweisungen werden in <uri
|
||||||
<literal>-DWITH_SSL</literal> zur Kompilierzeit aktiviert
|
xlink:href="http://httpd.apache.org/docs/current/mod/mod_ssl.html">
|
||||||
werden.</para>
|
http://httpd.apache.org/docs/current/mod/mod_ssl.html</uri>
|
||||||
|
beschrieben.</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>Skriptsprachen</title>
|
<title><filename>mod_perl2</filename></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>
|
|
||||||
|
|
||||||
<indexterm>
|
<indexterm>
|
||||||
<primary>mod_perl2</primary>
|
<primary>mod_perl2</primary>
|
||||||
<secondary>Perl</secondary>
|
<secondary>Perl</secondary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
|
||||||
<para>Die Kombination <application>Apache</application>/Perl
|
<para><application>mod_perl2</application> macht es
|
||||||
vereinigt die Vorteile der Programmiersprache Perl und des
|
möglich, vollständig in <application>Perl</application>
|
||||||
<application>Apache</application> HTTP-Servers. Durch
|
geschriebene <application>Apache</application>-Module zu
|
||||||
das Modul <application>mod_perl2</application> ist es
|
erzeugen. Da der
|
||||||
möglich, vollständig in Perl geschriebene
|
<application>Perl</application>-Interpreter in den Server
|
||||||
<application>Apache</application>-Module zu erzeugen.
|
eingebettet wird, muss weder ein externer Interpreter noch
|
||||||
Da der Perl-Interpreter in den Server eingebettet wird,
|
<application>Perl</application> zusätzlich aufgerufen
|
||||||
müssen Sie weder einen externen Interpreter noch
|
werden.</para>
|
||||||
Perl zusätzlich aufrufen.</para>
|
|
||||||
|
|
||||||
<para><application>mod_perl2</application> ist über den Port
|
<para><application>mod_perl2</application> wird über den Port
|
||||||
<filename role="package">www/mod_perl2</filename>
|
oder das Paket <package>www/mod_perl2</package> installiert.
|
||||||
erhältlich.</para>
|
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>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
<!--
|
|
||||||
<info>
|
<info>
|
||||||
|
<title><filename>mod_php</filename></title>
|
||||||
|
|
||||||
<authorgroup>
|
<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>
|
</authorgroup>
|
||||||
</info>
|
</info>
|
||||||
-->
|
|
||||||
<title><application>mod_php</application></title>
|
|
||||||
|
|
||||||
<indexterm>
|
<indexterm>
|
||||||
<primary>mod_php</primary>
|
<primary>mod_php</primary>
|
||||||
|
@ -4918,6 +4833,100 @@ DocumentRoot /www/someotherdomain.tld
|
||||||
<application>PHP</application> unterstützt.</para>
|
<application>PHP</application> unterstützt.</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
</sect2>
|
</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>
|
||||||
|
|
||||||
<sect1 xml:id="network-ftp">
|
<sect1 xml:id="network-ftp">
|
||||||
|
|
Loading…
Reference in a new issue