Einige der weltgrößten Internetauftritte laufen
unter FreeBSD. Die Mehrzahl der Webserver im Internet nutzt
den Apache HTTP-Server. Die
Installationspakete für den
Apache sollten auf Ihrem
Installationsmedium vorhanden sein. Wenn Sie den
Apache noch nicht installiert haben,
können Sie dies jederzeit über den Port
www/apache13
oder
www/apache22
nachholen.
Nachdem der Apache erfolgreich installiert wurde, muss er noch konfiguriert werden.
Dieser Abschnitt beschreibt die Version 1.3.X des Apache HTTP-Servers, da diese Version unter FreeBSD am häufigsten verwendet wird. Apache 2.X bringt zwar viele Verbesserungen mit sich, wird hier aber nicht beschrieben. Sollten Sie an Apache 2.X interessiert sein, informieren Sie sich bitte auf http://httpd.apache.org/.
Der Apache HTTP-Server wird unter
FreeBSD primär über die Datei
/usr/local/etc/apache/httpd.conf
konfiguriert. Bei dieser Datei handelt es sich um eine typische
UNIX®-Konfigurationsdatei, in der Kommentarzeilen mit einem
#
-Zeichen beginnen. Eine komplette
Beschreibung aller Optionen würde den Rahmen dieses
Handbuchs sprengen, daher beschreiben wir hier nur die am
häufigsten verwendeten Optionen.
ServerRoot "/usr/local"
Legt das Standardwurzelverzeichnis für die
Apache-Installation fest.
Binärdateien werden in die Verzeichnisse
bin
und
sbin
unterhalb des
Serverwurzelverzeichnisses installiert, während sich
Konfigurationsdateien im Verzeichnis
etc/apache
befinden.
ServerAdmin you@your.address
Die E-Mail-Adresse, an die Mitteilungen über Serverprobleme geschickt werden sollen. Diese Adresse erscheint auf vom Server erzeugten Seiten, beispielsweise auf Fehlerseiten.
ServerName www.example.com
Über die Option ServerName
können Sie einen Rechnernamen festlegen, den Ihr
Server an die Clients sendet, wenn sich dieser von
tatsächlichen Rechnernamen unterscheidet (sie
könnten etwa www
statt des richtigen
Rechnernamens verwenden).
DocumentRoot "/usr/local/www/data"
DocumentRoot
: Das Verzeichnis, in
dem Sie Ihre Dokumente ablegen. In der Voreinstellung
befinden sich alle Seiten in diesem Verzeichnis, durch
symbolische Links oder Aliase lassen sich aber auch andere
Orte festlegen.
Es ist empfehlenswert, eine Sicherungskopie Ihrer Konfigurationsdatei anzulegen, bevor Sie Änderungen durchführen. Nachdem Sie die Konfiguration beendet haben, können Sie den Apache starten.
Der Apache wird, im Gegensatz zu vielen anderen Netzwerkservern, nicht vom inetd-Super-Server verwaltet, sondern wird als eigenständiger Server betrieben, um die Leistung für eintreffende HTTP-Anfragen von den Clients (also von Internetbrowsern) zu verbessern. Gestartet, beendet oder neu gestartet wird der Server über einen Shellskript-Wrapper. Um den Apache erstmals zu starten, geben Sie einfach Folgendes ein:
#
/usr/local/sbin/apachectl start
Wenn Sie den Server beenden wollen, geben Sie Folgendes ein:
#
/usr/local/sbin/apachectl stop
Wenn Sie die Konfigurationsdatei verändern, müssen Sie den Server neu starten:
#
/usr/local/sbin/apachectl restart
Um den Apache ohne den Abbruch bestehender Verbindungen neu zu starten, geben Sie Folgendes ein:
#
/usr/local/sbin/apachectl graceful
Diese und weitere Optionen werden in apachectl(8) beschrieben.
Um den Apache beim Systemstart
zu starten, fügen Sie folgende Zeile in
/etc/rc.conf
ein:
Um Apache 2.2 zu starten, fügen Sie hingegen folgende Zeile ein:
Wenn Sie während des Systemstarts weitere Parameter an
den
Apache-httpd
-Daemon
übergeben wollen, können Sie diese durch eine
zusätzliche Zeile in rc.conf
angeben:
Nachdem der Webserver gestartet ist, können Sie sich
Ihre Internetseite ansehen, indem Sie in Ihren Browser die
Adresse http://localhost/
eingeben. Die
vordefinierte Standardstartseite ist
/usr/local/www/data/index.html
.
Der Apache unterstützt zwei Formen des Virtual Hostings. 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 IP-Adresse zu betreiben.
Damit der Apache namenbasierte
virtuelle Domains verwalten kann, fügen Sie die folgende
Zeile in httpd.conf
ein:
Wenn Ihr Webserver
www.domain.tld
heißt und Sie die
virtuelle Domain
www.someotherdomain.tld
einrichten
wollen, ergänzen Sie httpd.conf
um
folgende Einträge:
Ersetzen Sie dabei die Adressen sowie den Pfad zu den Dokumenten durch Ihre eigenen Einstellungen.
Ausführliche Informationen zum Einrichten von virtuellen Domains finden Sie in der offiziellen Apache-Dokumentation unter http://httpd.apache.org/docs/vhosts/.
Es gibt viele verschiedene Apache-Module, die den Server um zusätzliche Funktionen erweitern. Die FreeBSD-Ports-Sammlung ermöglicht es Ihnen, den Apache gemeinsam mit einigen der beliebtesten Zusatzmodule zu installieren.
Das Modul mod_ssl 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 FreeBSD betreiben können.
Wenn Sie den Apache 1.3.X noch
nicht installiert haben, können Sie über den
Port www/apache13-modssl
eine
Apache-Version installieren, in die
mod_ssl als Modul einkompiliert
wurde. Bevorzugen Sie den
Apache 2.X, installieren Sie
stattdessen den Port
www/apache22
, bei dem die
SSL-Unterstützung bereits in der Voreinstellung aktiviert
ist.
Für die wichtigsten Skriptsprachen existieren Module, die es erlauben, Apache-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.
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, mod_perl, und mod_php Möglichkeiten zur Generierung dynamischer Internetseiten geschaffen.
Bei Django 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.
Django setzt das Modul mod_python, den Apache-Webserver sowie eine SQL-Datenbank voraus. Für FreeBSD gibt es einen Port, der alle Abhängigkeiten mit sinnvollen Optionen konfiguriert und installiert.
#
cd /usr/ports/www/py-django; make all install clean -DWITH_MOD_PYTHON3 -DWITH_POSTGRESQL
Nachdem Django (sowie die abhängigen Pakete) installiert ist, müssen Sie ein Projektverzeichnis erstellen. Danach konfigurieren Sie Apache so, dass der eingebettete Python-Interpreter spezifische URLs Ihrer Seiten aufruft.
Sie müssen die Apache-Konfigurationsdatei
httpd.conf
anpassen, damit Apache
Anfragen für bestimmte URLs an Ihre
Internet-Applikation übergibt:
Bei Ruby on Rails 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.
#
cd /usr/ports/www/rubygem-rails; make all install clean
Die Kombination Apache/Perl vereinigt die Vorteile der Programmiersprache Perl und des Apache HTTP-Servers. Durch das Modul mod_perl ist es möglich, vollständig in Perl geschriebene Apache-Module zu erzeugen. Da der Perl-Interpreter in den Server eingebettet wird, müssen Sie weder einen externen Interpreter noch Perl zusätzlich aufrufen.
mod_perl ist in verschiedenen
Versionen erhältlich. Bevor Sie
mod_perl einsetzen,denken Sie
bitte daran, dass mod_perl 1.0
nur mit Apache 1.3 und
mod_perl 2.0 nur mit
Apache 2.X zusammenarbeitet.
mod_perl 1.0 kann über
den Port www/mod_perl
,
eine statisch kompilierte Version hingegen über den
Port www/apache13-modperl
installiert werden. Für die Installation von
mod_perl 2.0 schließlich
verwenden Sie den Port www/mod_perl2
.
Bei PHP, dem „Hypertext Preprocessor“, handelt es sich um eine vielseitig verwendbare Skriptsprache, die besonders für die Internetprogrammierung geeignet ist. PHP kann in HTML eingebettet werden und ähnelt von der Syntax her Sprachen wie C, Java™ und Perl. Das Hauptanliegen von PHP ist es, Internetprogrammierern die rasche Erstellung von dynamisch erzeugten Internetseiten zu ermöglichen.
Damit Ihr System PHP5 unterstützt,
müssen Sie als Erstes den Apache
Webserver über den Port
lang/php5
installieren.
Wenn Sie den Port lang/php5
das erste Mal installieren, werden die verfügbaren Optionen
(OPTIONS
) automatisch angezeigt. Erscheint das
Konfigurationsmenü bei Ihnen nicht, so liegt dies daran,
dass Sie den Port lang/php5
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:
#
make config
In diesem Konfigurationsmenü müssen Sie die
Option APACHE
auswählen, damit
mod_php5 als ein vom
Apache-Webserver ladbares Modul
gebaut wird.
Viele Seiten verwenden nach wie vor (beispielsweise wegen
der benötigten Kompatibilität zu bereits
vorhandenen Web-Applikationen) PHP4.
Ist dies bei Ihnen der Fall, so müssen Sie statt
mod_php5
mod_php4 über den Port
lang/php4
installieren.
Der Port lang/php4
unterstützt viele der Konfigurations- und
Laufzeitoptionen von lang/php5
.
Dieser Port installiert und konfiguriert die Module, die
für die Unterstützung von dynamischen
PHP-Anwendungen benötigt werden.
Stellen Sie danach sicher, dass Ihre
/usr/local/etc/apache/httpd.conf
die
folgenden Abschnitte enthält:
Nachdem dies erledigt ist, rufen Sie
apachectl
auf, um das
PHP-Modul zu laden:
#
apachectl graceful
Bei künftigen Upgrades von PHP
wird make config
nicht mehr benötigt,
da die von Ihnen ursprünglich ausgewählten
Optionen (OPTIONS
) vom
FreeBSD-Ports-Framework automatisch gespeichert werden.
Die PHP-Unterstützung von FreeBSD 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 lang/php5-extensions
möglich.
Der Port bietet Ihnen ein Auswahlmenü, über das Sie
verschiedene PHP-Erweiterungen installieren
können. Alternativ können Sie einzelne Erweiterungen
aber weiterhin direkt über den jeweiligen Port
installieren.
Um beispielsweise die Unterstützung des
Datenbankservers MySQL in
PHP5 zu aktivieren, installieren Sie
den Port databases/php5-mysql
.
Nachdem Sie eine Erweiterung installiert haben, müssen Sie den Apache-Server neu starten, damit die Erweiterung auch erkannt wird:
#
apachectl graceful
Ab nun wird MySQL von PHP unterstützt.
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.