23.8. Der Apache HTTP-Server

Beigetragen von Murray Stokely.

23.8.1. Überblick

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/apache2 nachholen.

Nachdem der Apache erfolgreich installiert wurde, muss er noch konfiguriert werden.

Anmerkung: 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/.

23.8.2. Konfiguration

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.

23.8.3. Den Apache betreiben

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:

apache_enable="YES"

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:

apache_flags=""

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.

23.8.4. Virtual Hosting

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:

NameVirtualHost *

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:

<VirtualHost *>
ServerName www.domain.tld
DocumentRoot /www/domain.tld
<VirtualHost>

<VirtualHost *>
ServerName www.someotherdomain.tld
DocumentRoot /www/someotherdomain.tld
</VirtualHost>

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/.

23.8.5. Häufig verwendete Apache-Module

Es gibt viele verschiedene Apache-Module, die den Server um zusätzliche Funktionen erweitern. Die FreeBSD-Portssammlung ermöglicht es Ihnen, den Apache gemeinsam mit einigen der beliebtesten Zusatzmodule zu installieren.

23.8.5.1. mod_ssl

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/apache2, bei dem die SSL-Unterstützung bereits in der Voreinstellung aktiviert ist.

23.8.5.2. mod_perl

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.

Wenn Sie den Apache noch nicht installiert haben, können Sie über den Port www/apache13-modperl eine Apacheversion installieren, in die mod_perl als Modul einkompiliert wurde.

23.8.5.3. PHP

PHP steht für “PHP: Hypertext Preprocessor” und ist eine häufig verwendete und als Open Source veröffentlichte Skriptsprache, die besonders für die Internetprogrammierung geeignet ist und in HTML eingebunden werden kann. Die Syntax ähnelt der von C, Java™ und Perl und ist einfach zu erlernen. Das Hauptanliegen von PHP ist es, Internetprogrammierern die rasche Erstellung von dynamisch erzeugten Internetseiten zu ermöglichen. Die Fähigkeiten von PHP gehen aber weit darüber hinaus.

PHP kann über den Port lang/php5 installiert werden.

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>.

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 17:56:55