Return-Path: Delivered-To: apmail-httpd-cvs-archive@httpd.apache.org Received: (qmail 32204 invoked by uid 500); 16 Sep 2002 20:38:17 -0000 Mailing-List: contact cvs-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list cvs@httpd.apache.org Received: (qmail 32192 invoked by uid 500); 16 Sep 2002 20:38:16 -0000 Delivered-To: apmail-httpd-2.0-cvs@apache.org Date: 16 Sep 2002 20:38:16 -0000 Message-ID: <20020916203816.75793.qmail@icarus.apache.org> From: kess@apache.org To: httpd-2.0-cvs@apache.org Subject: cvs commit: httpd-2.0/docs/manual install.xml.de install.html.de X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N kess 2002/09/16 13:38:15 Added: docs/manual install.xml.de install.html.de Log: german translation based on install.xml r.1.4 Reviewed by: Irmund Thum Erik Abele Revision Changes Path 1.1 httpd-2.0/docs/manual/install.xml.de Index: install.xml.de =================================================================== Kompilieren und Installieren

Dieses Dokument umfaßt nur die Kompilierung und Installation des Apache auf Unix und Unix-ähnlichen Systemen. Für die Kompilierung und Installation unter Windows lesen Sie bitte Den Apache unter Microsoft Windows betreiben. Für andere Plattformen lesen Sie bitte die Dokumentation Plattformen.

Die Konfigurations- und Installationsumgebung des Apache 2.0 hat sich seit dem Apache 1.3 komplett verändert. Der Apache 1.3 benutzt einen speziellen Satz von Skripten, um eine einfache Installation zu ermöglichen. Der Apache 2.0 dagegen verwendet nun libtool und autoconf, um eine Umgebung zu schaffen, die der vieler anderer Open Source Projekte ähnlich sieht.

Überblick für die Ungeduldigen
Download $ lynx http://www.apache.org/dist/httpd/httpd-2_0_NN.tar.gz
Auspacken $ gzip -d httpd-2_0_NN.tar.gz
$ tar xvf httpd-2_0_NN.tar
Konfigurieren $ ./configure --prefix=PREFIX
Kompilieren $ make
Installieren $ make install
Anpassen $ vi PREFIX/conf/httpd.conf
Testen $ PREFIX/bin/apachectl start

NN muss durch die Nummer der Unterversion ersetzt werden, und PREFIX durch den Verzeichnispfad, in dem der Server installiert werden soll. Wenn PREFIX nicht angegeben ist, wird die Voreinstellung /usr/local/apache2 verwendet.

Beginnend mit den Anforderungen für die Kompilierung und Installation des Apache HTTPD ist weiter unten jeder Abschnitt des Kompilierungs- und Installationsvorganges genauer beschrieben.

Anforderungen

Folgende Anforderungen gelten für die Erstellung des Apache:

  • Plattenplatz

    Stellen Sie sicher, dass Sie kurzzeitig wenigstens 50 MB freien Festplattenplatz zur Verfügung haben. Nach der Installation belegt der Apache ungefähr 10 MB Plattenplatz. Der tatsächliche Platzbedarf variiert in Abhängigkeit von den gewählten Konfigurationseinstellungen und Modulen von Drittanbietern.

  • ANSI-C-Compiler und Generierungswerkzeuge

    Stellen Sie sicher, dass Sie einen ANSI-C Compiler installiert haben. Der GNU C Compiler (GCC) der Free Software Foundation (FSF) ist empf�hlenswert (Version 2.7.2 ist gut). Wenn Sie den GCC nicht besitzen, stellen Sie zumindest sicher, dass der Compiler Ihres Anbieters ANSI-kompatibel ist. Außerdem muss Ihr PATH wesentliche Generierungswerkzeuge wie make enthalten.

  • Zeitgenauigkeit bewahren

    Elemente des HTTP-Protokolls werden in Form einer Tageszeit ausgedrückt. Darum sollten Sie jetzt prüfen, ob Ihr System die Fähigkeit zur Zeitsynchronisation besitzt, und diese gegebenenfalls installieren. Üblicherweise werden hierfür die Programme ntpdate oder xntpd verwendet, die auf dem Network Time Protocol (NTP) basieren. Nähere Informationen über NTP Software und öffentliche Zeitserver finden Sie in der Usenet Newsgroup comp.protocols.time.ntp und auf der NTP Homepage.

  • Perl 5 [OPTIONAL]

    Für einige Pflegeprogramme wie apxs oder dbmmanage (die in Perl geschrieben sind) wird der Perl 5 Interpreter benötigt (die Versionen ab 5.003 sind ausreichend). Wenn kein derartiger Interpreter vom 'configure'-Skript gefunden werden kann, macht das jedoch nichts. Selbstverständlich können Sie den Apache 2.0 auch so generieren und installieren. Lediglich diese Pflegeskripte können dann nicht verwendet werden. Wenn Sie mehrere Perl Interpreter installiert haben (vielleicht Perl 4 durch Ihren Händler und Perl 5 durch Sie selbst), dann ist die Verwendung der --with-perl Option (siehe unten) empfehlenswert, um sicherzustellen, dass der richtige Interpreter von ./configure ausgewählt wird.

Download

Der Apache kann von der Apache Software Foundation Downloadseite oder von einem nahegelegenen Mirror heruntergeladen werden.

Versionsnummern, die auf alpha enden, zeigen frühe Entwicklungsversionen an, die möglicherweise nicht funktionieren. Versionsnummern, die auf beta enden, zeigen verläßlichere Ausgaben an, die jedoch noch weitere Tests oder Bugfixes benötigen. Wenn Sie die beste verfügbare Produktivversion des Apache HTTP Servers herunterladen wollen, sollten Sie die letzte Version wählen, die weder alpha, noch beta in ihrem Dateinamen enthält.

Nach dem Download, insbesondere, wenn ein Mirror benutzt wurde, ist es wichtig, zu prüfen, dass Sie eine vollständige, nicht modifizierte Version des Apache HTTP Servers erhalten haben. Dies kann durch Prüfen des heruntergeladenen Tarballs gegen die PGP-Signatur erreicht werden. Dies ist wiederum ein Zweischrittverfahren. Zuerst müssen Sie die KEYS-Datei von der Apache Distributionsseite beziehen. (Um sicherzustellen, dass die KEYS-Datei selbst nicht verändert wurde, ist es sinnvoll, eine Datei aus einer früheren Distribution des Apache zu verwenden, oder den Schlüssel von einem öffentlichen Schlüsselserver zu importieren.) Die Schlüssel werden mit einem der folgenden Befehle (abhängig von Ihrer PGP Version) zu Ihrem persönlichen Schlüsselring hinzugefügt:

$ pgp < KEYS

oder

$ gpg --import KEYS

Der nächste Schritt ist das Testen des Tarballs gegen die PGP-Signatur, die immer von der Apache Originalseite bezogen werden sollte. Die Signaturdatei hat den gleichen Dateinamen wie der Tarball, aber zusätzlich die Endung .asc. Nun können Sie die Distribution mit einem der folgenden Befehle (wiederum abhängig von Ihrer PGP Version) prüfen:

$ pgp httpd-2_0_NN.tar.gz.asc

oder

$ gpg --verify httpd-2_0_NN.tar.gz.asc

Sie sollten eine Meldung wie

Good signature from user "Martin Kraemer <martin@apache.org>".

erhalten.

Abhängig von den Vertrauensbeziehungen in Ihrem Schlüsselring können Sie auch eine Meldung erhalten, die besagt, dass die Beziehungen zwischen dem Schlüssel und dem Unterzeichner des Schlüssels nicht verifiziert werden können. Solange Sie der Authentizität der KEYS-Datei vertrauen, ist dies kein Problem.

Auspacken

Das Auspacken des Quellcodes aus dem Apache HTTPD Tarball besteht aus einem simplen Dekomprimieren und danach "Ent-tarren":

$ gzip -d httpd-2_0_NN.tar.gz
$ tar xvf httpd-2_0_NN.tar

Dies erstellt unterhalb des aktuellen Verzeichnisses ein neues Verzeichnis, das den Quellcode für die Distribution enthält. Sie sollten mit cd in dieses Verzeichnis wechseln, bevor Sie mit der Kompilierung des Servers weitermachen.

Den Codebaum konfigurieren

Der nächste Schritt ist die Konfiguration des Apache-Codebaumes für Ihre spezielle Plattform und Ihre persönlichen Bedürfnisse. Dies wird mit dem Skript configure durchgeführt, das im Wurzelverzeichnis der Distribution enthalten ist. (Entwickler, welche die CVS Version des Apache-Codebaumes herunterladen, müssen autoconf und libtool installiert haben und müssen buildconf ausführen, bevor sie mit den nächsten Schritten fortfahren können. Dies wird bei offiziellen Releases nicht notwendig sein.)

Um den Codebaum mit den Standardeinstellungen zu konfigurieren, geben Sie einfach ./configure ein. Zur Änderung dieser Voreinstellungen akzeptiert configure eine Reihe von Variablen und Kommandozeilenoptionen. Umgebungsvariablen werden üblicherweise vor den ./configure-Befehl gesetzt, während andere Optionen danach gesetzt werden. Die wichtigste Option hierbei ist der vorangestellte Ablageort, unter dem der Apache später installiert wird, denn der Apache muss auf diesen Ablageort eingestellt werden, um korrekt zu arbeiten. Es gibt jedoch noch eine Reihe weiterer Optionen für Ihre persönlichen Wünsche.

Um einen kurzen Eindruck zu gewinnen, welche Möglichkeiten Sie haben, folgt hier ein typisches Beispiel, das den Apache mit einem speziellen Compiler und Compilerflags für das Installationsverzeichnis /sk/pkg/apache kompiliert, sowie die beiden zusätzlichen Module mod_rewrite und mod_speling für späteres Laden durch den DSO-Mechanismus:

$ CC="pgcc" CFLAGS="-O2" \
./configure --prefix=/sw/pkg/apache \
--enable-rewrite=shared \
--enable-speling=shared

Wenn configure startet, benötigt es mehrere Minuten, um die Verfügbarkeit von Features auf Ihrem System zu prüfen und ein Makefile zu generieren, das später zur Kompilierung des Servers verwendet wird.

Die einfachste Art und Weise, alle Konfigurationsflags für den Apache herauszufinden, ist, ./configure --help aufzurufen. Hier folgt eine kurze Beschreibung der meisten Argumente und Umgebungsvariablen.

Umgebungsvariablen

Der autoconf-Generierungsvorgang verwendet verschiedene Umgebungsvariablen für die Konfiguration der Generierungsumgebung. Im allgemeinen verändern diese Variablen die Methode, die benutzt wird, um den Apache zu erstellen, nicht aber die letztendlichen Features des Servers. Diese Variablen können vor dem Aufruf von configure im Environment gesetzt werden, doch es ist üblicherweise einfacher, sie in der configure-Befehlszeile, wie im obigen Beispiel gezeigt, anzugeben.

CC=...
Der Name des C-Compiler-Kommandos.
CPPFLAGS=...
Verschiedene C-Präprozessor- und Compileroptionen.
CFLAGS=...
Debug- und Optimierungsoptionen für den C-Compiler.
LDFLAGS=...
Verschiedene Optionen, die an den Linker durchgereicht werden.
LIBS=...
Informationen über den Ablageort von Libraries ("-L" und "-l" Optionen), die an den Linker durchgereicht werden.
INCLUDES=...
Suchverzeichnisse für Header-Dateien ("-IVerzeichnis").
TARGET=... [Default: apache]
Name der lauffähigen Datei, die erstellt wird.
NOTEST_CPPFLAGS=...
NOTEST_CFLAGS=...
NOTEST_LDFLAGS=...
NOTEST_LIBS=...
Diese Variablen haben die gleiche Funktion wie ihre Namensvettern ohne NOTEST. Diese Variablen werden jedoch nur auf den Generierungsprozess angewendet, nachdem autoconf seine Featuretests durchgeführt hat. Dies erlaubt die Einbeziehung von Flags, die während des Featuretests Probleme bereiten würden, aber für die endgültige Kompilierung verwendet werden müssen.
SHLIB_PATH=...
Eine Option, die den Pfad zu Libraries angibt, welche sich Compiler und Linker teilen.
autoconf Ausgabeoptionen
--help
Gibt die Nutzungsinformationen einschließlich aller verfügbaren Optionen aus, ohne jedoch tatsächlich etwas zu konfigurieren.
--quiet
Verhindert die Ausgabe der üblichen "checking..." Nachrichten.
--verbose
Gibt während des Konfigurationsprozesses weitergehende Informationen aus, einschließlich der Namen aller untersuchter Dateien.
Pfadangaben

Gegenwärtig existieren zwei Möglichkeiten, die Pfade zu konfigurieren, in denen der Apache seine Dateien installiert. Bei der ersten können Sie ein Verzeichnis angeben und den Apache veranlassen, sich selbst unterhalb dieses Verzeichnisses in seinen voreingestellten Ablageorten zu installieren.

--prefix=PREFIX [Default: /usr/local/apache2]
Gibt das Verzeichnis an, in dem die Apache-Dateien installiert werden.

Es ist möglich, anzugeben, dass Architektur-abhängige Dateien in einem anderen Verzeichnis abgelegt werden sollen.

--exec-prefix=EPREFIX [Default: PREFIX]
Gibt das Verzeichnis an, in dem Architektur-abhängige Dateien abgelegt werden.

Die zweite und flexiblere Weise, den Installationspfad für den Apache einzustellen, ist die Verwendung der Datei config.layout. Wenn Sie diese Methode benutzen, können Sie den Ablageort für jeden Dateityp innerhalb der Apache-Installation separat angeben. Die Datei config.layout enthält verschiedene Konfigurationsbeispiele. Sie können auch anhand der Beispiele Ihre eigene individuelle Konfiguration erstellen. Die verschiedenen Layouts in dieser Datei sind gruppiert in <Layout FOO>...</Layout>-Abschnitte und werden mit Namen wie FOO bezeichnet.

--enable-layout=LAYOUT
Verwendet das genannte Layout aus der Datei config.layout, um die Installationspfade genau anzugeben.
Module

Der Apache ist ein modularer Server. Nur die grundlegendste Funktionalität ist im Kernserver enthalten. Erweiternde Features stehen in verschiedenen Modulen bereit. Während des Konfigurationsprozesses müssen Sie auswählen, welche Module für die Verwendung mit Ihrem Server kompiliert werden sollen. Eine Liste von Modulen ist in dieser Dokumentation enthalten. Module mit dem Status "Base" sind standardmäßig enthalten und müssen ausdrücklich deaktiviert werden, wenn Sie sie nicht verwenden möchten. Module mit einem anderen Status müssen ausdrücklich aktiviert werden, wenn Sie sie verwenden möchten.

Es gibt zwei Möglichkeiten, Module zu kompilieren und mit dem Apache zu benutzen. Module können statisch kompiliert werden, was bedeutet, dass sie permanent in dem Apache Binary eingebunden sind. Wenn Ihr Betriebssystem Dynamic Shared Objects (DSOs; Anm. d. Übersetzers: dynamisch eingebundene Bibliotheken) unterstützt und autoconf diese Unterstützung erkennen kann, dann können Module alternativ dynamisch kompiliert werden. DSO-Module werden von der Apache Binary getrennt gespeichert und können vom Server unter Verwendung der Direktiven zur Laufzeitkonfiguration, die von mod_so bereitgestellt werden, ein- oder ausgeschlossen werden. mod_so wird automatisch dem Server hinzugefügt, sobald ein dynamisches Modul in die Kompilierung einbezogen wird. Wenn Sie Ihren Server für das Laden von DSOs tauglich machen wollen, ohne jedoch ein dynamisches Modul zu kompilieren, können Sie dies explizit mit --enable-so angeben.

--enable-MODULE[=shared]
Kompiliert das Modul MODUL und bindet es ein. Das Kennzeichen MODUL ist der Modul-Bezeichner aus der Dokumentation zum jeweiligen Modul, jedoch ohne den Namensteil "_module". Um ein Modul als DSO zu kompilieren, fügen Sie die Option =shared hinzu.
--disable-MODULE
Entfernt das Modul MODUL, das andernfalls kompiliert und eingebunden werden würde.
--enable-modules=MODUL-LISTE
Kompiliert die durch Leerzeichen getrennte Liste MODUL-LISTE von Modulen und bindet sie ein.
--enable-mods-shared=MODUL-LISTE
Kompiliert die durch Leerzeichen getrennte Liste MODUL-LISTE von Modulen als dynamisch ladbare (DSO) Module und bindet sie ein.

Die MODUL-LISTE in den Optionen --enable-modules und --enable-mods-shared ist üblicherweise eine durch Leerzeichen getrennte Liste von Modul-Bezeichnern. Zum Beispiel können zum Aktivieren vom mod_dav und mod_info beide benutzt werden, sowohl

./configure --enable-dav --enable-info

oder äquivalent

./configure --enable-modules="dav info"

Zusätzlich können die speziellen Schlüsselwörter all oder most benutzt werden, um alle oder die meisten der Module in einem Schritt hinzuzufügen. Sie können Module, die Sie nicht benutzen möchten, mit der Option --disable-MODUL entfernen. Um beispielsweise alle Module mit Ausnahme von mod_info als DSOs einzubinden, können Sie

./configure --enable-mods-shared=all --disable-info

verwenden.

Zusätzlich zum Standard-Set von Modulen fügt der Apache 2.0 auch eine Auswahl von Multi-Processing Modulen (MPMs) ein. Ein, und nur ein einziges, MPM muss in den Kompilierungsprozess eingebunden werden. Das voreingestellte MPM jeder Plattform ist in der MPM Dokumentation aufgeführt, kann jedoch mit der configure-Kommandozeile überschrieben werden.

--with-mpm=NAME
Wählt das MPM NAME.
DBM

Verschiedene Apache-Features, darunter mod_auth_dbm und DBM RewriteMap aus mod_rewrite, verwenden einfache Schlüssel/Wert-Datenbanken für eine schnelle Suche nach Informationen. Der Apache-Quellcode enthält SDBM, so dass diese Datenbank immer verfügbar ist. Wenn Sie einen anderen Datenbanktyp benutzen möchten, können Sie die folgenden configure-Optionen dazu verwenden:

--with-gdbm[=Pfad]
--with-ndbm[=Pfad]
--with-berkeley-db[=Pfad]
Wenn kein Pfad angegeben ist, sucht der Apache in den normalen Suchpfaden nach den Include- und Bibliothek-Dateien. Eine explizite Pfad-Angabe veranlasst den Apache, in Pfad/lib und Pfad/include nach relevanten Dateien zu suchen. Letztlich kann Pfad auch die speziellen Include- und Bibliothek-Pfade durch Doppelpunkt getrennt auflisten.
Suexec

Der Apache enthält ein Hilfsprogramm namens suexec, das zur Isolation benutzereigener CGI-Programme verwendet werden kann. Wenn suexec jedoch unsachgemäß konfiguriert wurde, kann es schwere Sicherheitsprobleme verursachen. Deshalb sollten Sie die suexec Dokumentation sorgfältig lesen und beachten, bevor Sie dieses Feature implementieren.

Erstellen

Nun können Sie die verschiedenen Teile, die das Apache-Paket bilden, einfach durch Ausführen des folgenden Befehls erstellen:

$ make

Seien Sie hierbei bitte geduldig, denn eine Basiskonfiguration benötigt ungefähr 3 Minuten auf einem Pentium III/Linux 2.2. System. Dies kann aber abhängig von Ihrer Hardware und der Anzahl der Module, die Sie aktiviert haben, sehr stark variieren.

Installieren

Nun endlich installieren Sie das Package unter dem konfigurierten Installations-PREFIX (siehe oben: Option --prefix durch Aufrufen von:

$ make install

Wenn Sie upgraden, wird die Installation Ihre Konfigurationsdateien oder Dokumente nicht überschrieben.

Anpassen

Als nächstes können Sie Ihren Apache HTTP Server anpassen, indem Sie die Konfigurationsdateien unterhalb von PREFIX/conf/ editieren.

$ vi PREFIX/conf/httpd.conf

Im Apache Handbuch finden Sie unter docs/manual/ oder http://httpd.apache.org/docs/ eine komplette Referenz der verfügbaren Konfigurationsanweisungen.

Testen

Sie können nun Ihren Apache HTTP Server starten, indem Sie einfach

$ PREFIX/bin/apachectl start

ausführen.

Danach sollten Sie Ihr erstes Dokument unter dem URL http://localhost/ anfordern können. Die Webseite, die Sie sehen, ist im DocumentRoot abgelegt, welches üblicherweise PREFIX/htdocs/ ist. Den Server stoppen Sie wieder durch Ausführen von:

$ PREFIX/bin/apachectl stop
1.1 httpd-2.0/docs/manual/install.html.de Index: install.html.de =================================================================== Kompilieren und Installieren - Apache HTTP Server
<-

Kompilieren und Installieren

Dieses Dokument umfa�t nur die Kompilierung und Installation des Apache auf Unix und Unix-�hnlichen Systemen. F�r die Kompilierung und Installation unter Windows lesen Sie bitte Den Apache unter Microsoft Windows betreiben. F�r andere Plattformen lesen Sie bitte die Dokumentation Plattformen.

Die Konfigurations- und Installationsumgebung des Apache 2.0 hat sich seit dem Apache 1.3 komplett ver�ndert. Der Apache 1.3 benutzt einen speziellen Satz von Skripten, um eine einfache Installation zu erm�glichen. Der Apache 2.0 dagegen verwendet nun libtool und autoconf, um eine Umgebung zu schaffen, die der vieler anderer Open Source Projekte �hnlich sieht.

top

�berblick f�r die Ungeduldigen

Download $ lynx http://www.apache.org/dist/httpd/httpd-2_0_NN.tar.gz
Auspacken $ gzip -d httpd-2_0_NN.tar.gz
$ tar xvf httpd-2_0_NN.tar
Konfigurieren $ ./configure --prefix=PREFIX
Kompilieren $ make
Installieren $ make install
Anpassen $ vi PREFIX/conf/httpd.conf
Testen $ PREFIX/bin/apachectl start

NN muss durch die Nummer der Unterversion ersetzt werden, und PREFIX durch den Verzeichnispfad, in dem der Server installiert werden soll. Wenn PREFIX nicht angegeben ist, wird die Voreinstellung /usr/local/apache2 verwendet.

Beginnend mit den Anforderungen f�r die Kompilierung und Installation des Apache HTTPD ist weiter unten jeder Abschnitt des Kompilierungs- und Installationsvorganges genauer beschrieben.

top

Anforderungen

Folgende Anforderungen gelten f�r die Erstellung des Apache:

  • Plattenplatz

    Stellen Sie sicher, dass Sie kurzzeitig wenigstens 50 MB freien Festplattenplatz zur Verf�gung haben. Nach der Installation belegt der Apache ungef�hr 10 MB Plattenplatz. Der tats�chliche Platzbedarf variiert in Abh�ngigkeit von den gew�hlten Konfigurationseinstellungen und Modulen von Drittanbietern.

  • ANSI-C-Compiler und Generierungswerkzeuge

    Stellen Sie sicher, dass Sie einen ANSI-C Compiler installiert haben. Der GNU C Compiler (GCC) der Free Software Foundation (FSF) ist empf訬enswert (Version 2.7.2 ist gut). Wenn Sie den GCC nicht besitzen, stellen Sie zumindest sicher, dass der Compiler Ihres Anbieters ANSI-kompatibel ist. Au�erdem muss Ihr PATH wesentliche Generierungswerkzeuge wie make enthalten.

  • Zeitgenauigkeit bewahren

    Elemente des HTTP-Protokolls werden in Form einer Tageszeit ausgedr�ckt. Darum sollten Sie jetzt pr�fen, ob Ihr System die F�higkeit zur Zeitsynchronisation besitzt, und diese gegebenenfalls installieren. �blicherweise werden hierf�r die Programme ntpdate oder xntpd verwendet, die auf dem Network Time Protocol (NTP) basieren. N�here Informationen �ber NTP Software und �ffentliche Zeitserver finden Sie in der Usenet Newsgroup comp.protocols.time.ntp und auf der NTP Homepage.

  • Perl 5 [OPTIONAL]

    F�r einige Pflegeprogramme wie apxs oder dbmmanage (die in Perl geschrieben sind) wird der Perl 5 Interpreter ben�tigt (die Versionen ab 5.003 sind ausreichend). Wenn kein derartiger Interpreter vom 'configure'-Skript gefunden werden kann, macht das jedoch nichts. Selbstverst�ndlich k�nnen Sie den Apache 2.0 auch so generieren und installieren. Lediglich diese Pflegeskripte k�nnen dann nicht verwendet werden. Wenn Sie mehrere Perl Interpreter installiert haben (vielleicht Perl 4 durch Ihren H�ndler und Perl 5 durch Sie selbst), dann ist die Verwendung der --with-perl Option (siehe unten) empfehlenswert, um sicherzustellen, dass der richtige Interpreter von ./configure ausgew�hlt wird.

top

Download

Der Apache kann von der Apache Software Foundation Downloadseite oder von einem nahegelegenen Mirror heruntergeladen werden.

Versionsnummern, die auf alpha enden, zeigen fr�he Entwicklungsversionen an, die m�glicherweise nicht funktionieren. Versionsnummern, die auf beta enden, zeigen verl��lichere Ausgaben an, die jedoch noch weitere Tests oder Bugfixes ben�tigen. Wenn Sie die beste verf�gbare Produktivversion des Apache HTTP Servers herunterladen wollen, sollten Sie die letzte Version w�hlen, die weder alpha, noch beta in ihrem Dateinamen enth�lt.

Nach dem Download, insbesondere, wenn ein Mirror benutzt wurde, ist es wichtig, zu pr�fen, dass Sie eine vollst�ndige, nicht modifizierte Version des Apache HTTP Servers erhalten haben. Dies kann durch Pr�fen des heruntergeladenen Tarballs gegen die PGP-Signatur erreicht werden. Dies ist wiederum ein Zweischrittverfahren. Zuerst m�ssen Sie die KEYS-Datei von der Apache Distributionsseite beziehen. (Um sicherzustellen, dass die KEYS-Datei selbst nicht ver�ndert wurde, ist es sinnvoll, eine Datei aus einer fr�heren Distribution des Apache zu verwenden, oder den Schl�ssel von einem �ffentlichen Schl�sselserver zu importieren.) Die Schl�ssel werden mit einem der folgenden Befehle (abh�ngig von Ihrer PGP Version) zu Ihrem pers�nlichen Schl�sselring hinzugef�gt:

$ pgp < KEYS

oder

$ gpg --import KEYS

Der n�chste Schritt ist das Testen des Tarballs gegen die PGP-Signatur, die immer von der Apache Originalseite bezogen werden sollte. Die Signaturdatei hat den gleichen Dateinamen wie der Tarball, aber zus�tzlich die Endung .asc. Nun k�nnen Sie die Distribution mit einem der folgenden Befehle (wiederum abh�ngig von Ihrer PGP Version) pr�fen:

$ pgp httpd-2_0_NN.tar.gz.asc

oder

$ gpg --verify httpd-2_0_NN.tar.gz.asc

Sie sollten eine Meldung wie

Good signature from user "Martin Kraemer <martin@apache.org>".

erhalten.

Abh�ngig von den Vertrauensbeziehungen in Ihrem Schl�sselring k�nnen Sie auch eine Meldung erhalten, die besagt, dass die Beziehungen zwischen dem Schl�ssel und dem Unterzeichner des Schl�ssels nicht verifiziert werden k�nnen. Solange Sie der Authentizit�t der KEYS-Datei vertrauen, ist dies kein Problem.

top

Auspacken

Das Auspacken des Quellcodes aus dem Apache HTTPD Tarball besteht aus einem simplen Dekomprimieren und danach "Ent-tarren":

$ gzip -d httpd-2_0_NN.tar.gz
$ tar xvf httpd-2_0_NN.tar

Dies erstellt unterhalb des aktuellen Verzeichnisses ein neues Verzeichnis, das den Quellcode f�r die Distribution enth�lt. Sie sollten mit cd in dieses Verzeichnis wechseln, bevor Sie mit der Kompilierung des Servers weitermachen.

top

Den Codebaum konfigurieren

Der n�chste Schritt ist die Konfiguration des Apache-Codebaumes f�r Ihre spezielle Plattform und Ihre pers�nlichen Bed�rfnisse. Dies wird mit dem Skript configure durchgef�hrt, das im Wurzelverzeichnis der Distribution enthalten ist. (Entwickler, welche die CVS Version des Apache-Codebaumes herunterladen, m�ssen autoconf und libtool installiert haben und m�ssen buildconf ausf�hren, bevor sie mit den n�chsten Schritten fortfahren k�nnen. Dies wird bei offiziellen Releases nicht notwendig sein.)

Um den Codebaum mit den Standardeinstellungen zu konfigurieren, geben Sie einfach ./configure ein. Zur �nderung dieser Voreinstellungen akzeptiert configure eine Reihe von Variablen und Kommandozeilenoptionen. Umgebungsvariablen werden �blicherweise vor den ./configure-Befehl gesetzt, w�hrend andere Optionen danach gesetzt werden. Die wichtigste Option hierbei ist der vorangestellte Ablageort, unter dem der Apache sp�ter installiert wird, denn der Apache muss auf diesen Ablageort eingestellt werden, um korrekt zu arbeiten. Es gibt jedoch noch eine Reihe weiterer Optionen f�r Ihre pers�nlichen W�nsche.

Um einen kurzen Eindruck zu gewinnen, welche M�glichkeiten Sie haben, folgt hier ein typisches Beispiel, das den Apache mit einem speziellen Compiler und Compilerflags f�r das Installationsverzeichnis /sk/pkg/apache kompiliert, sowie die beiden zus�tzlichen Module mod_rewrite und mod_speling f�r sp�teres Laden durch den DSO-Mechanismus:

$ CC="pgcc" CFLAGS="-O2" \
./configure --prefix=/sw/pkg/apache \
--enable-rewrite=shared \
--enable-speling=shared

Wenn configure startet, ben�tigt es mehrere Minuten, um die Verf�gbarkeit von Features auf Ihrem System zu pr�fen und ein Makefile zu generieren, das sp�ter zur Kompilierung des Servers verwendet wird.

Die einfachste Art und Weise, alle Konfigurationsflags f�r den Apache herauszufinden, ist, ./configure --help aufzurufen. Hier folgt eine kurze Beschreibung der meisten Argumente und Umgebungsvariablen.

Umgebungsvariablen

Der autoconf-Generierungsvorgang verwendet verschiedene Umgebungsvariablen f�r die Konfiguration der Generierungsumgebung. Im allgemeinen ver�ndern diese Variablen die Methode, die benutzt wird, um den Apache zu erstellen, nicht aber die letztendlichen Features des Servers. Diese Variablen k�nnen vor dem Aufruf von configure im Environment gesetzt werden, doch es ist �blicherweise einfacher, sie in der configure-Befehlszeile, wie im obigen Beispiel gezeigt, anzugeben.

CC=...
Der Name des C-Compiler-Kommandos.
CPPFLAGS=...
Verschiedene C-Pr�prozessor- und Compileroptionen.
CFLAGS=...
Debug- und Optimierungsoptionen f�r den C-Compiler.
LDFLAGS=...
Verschiedene Optionen, die an den Linker durchgereicht werden.
LIBS=...
Informationen �ber den Ablageort von Libraries ("-L" und "-l" Optionen), die an den Linker durchgereicht werden.
INCLUDES=...
Suchverzeichnisse f�r Header-Dateien ("-IVerzeichnis").
TARGET=... [Default: apache]
Name der lauff�higen Datei, die erstellt wird.
NOTEST_CPPFLAGS=...
NOTEST_CFLAGS=...
NOTEST_LDFLAGS=...
NOTEST_LIBS=...
Diese Variablen haben die gleiche Funktion wie ihre Namensvettern ohne NOTEST. Diese Variablen werden jedoch nur auf den Generierungsprozess angewendet, nachdem autoconf seine Featuretests durchgef�hrt hat. Dies erlaubt die Einbeziehung von Flags, die w�hrend des Featuretests Probleme bereiten w�rden, aber f�r die endg�ltige Kompilierung verwendet werden m�ssen.
SHLIB_PATH=...
Eine Option, die den Pfad zu Libraries angibt, welche sich Compiler und Linker teilen.

autoconf Ausgabeoptionen

--help
Gibt die Nutzungsinformationen einschlie�lich aller verf�gbaren Optionen aus, ohne jedoch tats�chlich etwas zu konfigurieren.
--quiet
Verhindert die Ausgabe der �blichen "checking..." Nachrichten.
--verbose
Gibt w�hrend des Konfigurationsprozesses weitergehende Informationen aus, einschlie�lich der Namen aller untersuchter Dateien.

Pfadangaben

Gegenw�rtig existieren zwei M�glichkeiten, die Pfade zu konfigurieren, in denen der Apache seine Dateien installiert. Bei der ersten k�nnen Sie ein Verzeichnis angeben und den Apache veranlassen, sich selbst unterhalb dieses Verzeichnisses in seinen voreingestellten Ablageorten zu installieren.

--prefix=PREFIX [Default: /usr/local/apache2]
Gibt das Verzeichnis an, in dem die Apache-Dateien installiert werden.

Es ist m�glich, anzugeben, dass Architektur-abh�ngige Dateien in einem anderen Verzeichnis abgelegt werden sollen.

--exec-prefix=EPREFIX [Default: PREFIX]
Gibt das Verzeichnis an, in dem Architektur-abh�ngige Dateien abgelegt werden.

Die zweite und flexiblere Weise, den Installationspfad f�r den Apache einzustellen, ist die Verwendung der Datei config.layout. Wenn Sie diese Methode benutzen, k�nnen Sie den Ablageort f�r jeden Dateityp innerhalb der Apache-Installation separat angeben. Die Datei config.layout enth�lt verschiedene Konfigurationsbeispiele. Sie k�nnen auch anhand der Beispiele Ihre eigene individuelle Konfiguration erstellen. Die verschiedenen Layouts in dieser Datei sind gruppiert in <Layout FOO>...</Layout>-Abschnitte und werden mit Namen wie FOO bezeichnet.

--enable-layout=LAYOUT
Verwendet das genannte Layout aus der Datei config.layout, um die Installationspfade genau anzugeben.

Module

Der Apache ist ein modularer Server. Nur die grundlegendste Funktionalit�t ist im Kernserver enthalten. Erweiternde Features stehen in verschiedenen Modulen bereit. W�hrend des Konfigurationsprozesses m�ssen Sie ausw�hlen, welche Module f�r die Verwendung mit Ihrem Server kompiliert werden sollen. Eine Liste von Modulen ist in dieser Dokumentation enthalten. Module mit dem Status "Base" sind standardm��ig enthalten und m�ssen ausdr�cklich deaktiviert werden, wenn Sie sie nicht verwenden m�chten. Module mit einem anderen Status m�ssen ausdr�cklich aktiviert werden, wenn Sie sie verwenden m�chten.

Es gibt zwei M�glichkeiten, Module zu kompilieren und mit dem Apache zu benutzen. Module k�nnen statisch kompiliert werden, was bedeutet, dass sie permanent in dem Apache Binary eingebunden sind. Wenn Ihr Betriebssystem Dynamic Shared Objects (DSOs; Anm. d. �bersetzers: dynamisch eingebundene Bibliotheken) unterst�tzt und autoconf diese Unterst�tzung erkennen kann, dann k�nnen Module alternativ dynamisch kompiliert werden. DSO-Module werden von der Apache Binary getrennt gespeichert und k�nnen vom Server unter Verwendung der Direktiven zur Laufzeitkonfiguration, die von mod_so bereitgestellt werden, ein- oder ausgeschlossen werden. mod_so wird automatisch dem Server hinzugef�gt, sobald ein dynamisches Modul in die Kompilierung einbezogen wird. Wenn Sie Ihren Server f�r das Laden von DSOs tauglich machen wollen, ohne jedoch ein dynamisches Modul zu kompilieren, k�nnen Sie dies explizit mit --enable-so angeben.

--enable-MODULE[=shared]
Kompiliert das Modul MODUL und bindet es ein. Das Kennzeichen MODUL ist der Modul-Bezeichner aus der Dokumentation zum jeweiligen Modul, jedoch ohne den Namensteil "_module". Um ein Modul als DSO zu kompilieren, f�gen Sie die Option =shared hinzu.
--disable-MODULE
Entfernt das Modul MODUL, das andernfalls kompiliert und eingebunden werden w�rde.
--enable-modules=MODUL-LISTE
Kompiliert die durch Leerzeichen getrennte Liste MODUL-LISTE von Modulen und bindet sie ein.
--enable-mods-shared=MODUL-LISTE
Kompiliert die durch Leerzeichen getrennte Liste MODUL-LISTE von Modulen als dynamisch ladbare (DSO) Module und bindet sie ein.

Die MODUL-LISTE in den Optionen --enable-modules und --enable-mods-shared ist �blicherweise eine durch Leerzeichen getrennte Liste von Modul-Bezeichnern. Zum Beispiel k�nnen zum Aktivieren vom mod_dav und mod_info beide benutzt werden, sowohl

./configure --enable-dav --enable-info

oder �quivalent

./configure --enable-modules="dav info"

Zus�tzlich k�nnen die speziellen Schl�sselw�rter all oder most benutzt werden, um alle oder die meisten der Module in einem Schritt hinzuzuf�gen. Sie k�nnen Module, die Sie nicht benutzen m�chten, mit der Option --disable-MODUL entfernen. Um beispielsweise alle Module mit Ausnahme von mod_info als DSOs einzubinden, k�nnen Sie

./configure --enable-mods-shared=all --disable-info

verwenden.

Zus�tzlich zum Standard-Set von Modulen f�gt der Apache 2.0 auch eine Auswahl von Multi-Processing Modulen (MPMs) ein. Ein, und nur ein einziges, MPM muss in den Kompilierungsprozess eingebunden werden. Das voreingestellte MPM jeder Plattform ist in der MPM Dokumentation aufgef�hrt, kann jedoch mit der configure-Kommandozeile �berschrieben werden.

--with-mpm=NAME
W�hlt das MPM NAME.

DBM

Verschiedene Apache-Features, darunter mod_auth_dbm und DBM RewriteMap aus mod_rewrite, verwenden einfache Schl�ssel/Wert-Datenbanken f�r eine schnelle Suche nach Informationen. Der Apache-Quellcode enth�lt SDBM, so dass diese Datenbank immer verf�gbar ist. Wenn Sie einen anderen Datenbanktyp benutzen m�chten, k�nnen Sie die folgenden configure-Optionen dazu verwenden:

--with-gdbm[=Pfad]
--with-ndbm[=Pfad]
--with-berkeley-db[=Pfad]
Wenn kein Pfad angegeben ist, sucht der Apache in den normalen Suchpfaden nach den Include- und Bibliothek-Dateien. Eine explizite Pfad-Angabe veranlasst den Apache, in Pfad/lib und Pfad/include nach relevanten Dateien zu suchen. Letztlich kann Pfad auch die speziellen Include- und Bibliothek-Pfade durch Doppelpunkt getrennt auflisten.

Suexec

Der Apache enth�lt ein Hilfsprogramm namens suexec, das zur Isolation benutzereigener CGI-Programme verwendet werden kann. Wenn suexec jedoch unsachgem�� konfiguriert wurde, kann es schwere Sicherheitsprobleme verursachen. Deshalb sollten Sie die suexec Dokumentation sorgf�ltig lesen und beachten, bevor Sie dieses Feature implementieren.

top

Erstellen

Nun k�nnen Sie die verschiedenen Teile, die das Apache-Paket bilden, einfach durch Ausf�hren des folgenden Befehls erstellen:

$ make

Seien Sie hierbei bitte geduldig, denn eine Basiskonfiguration ben�tigt ungef�hr 3 Minuten auf einem Pentium III/Linux 2.2. System. Dies kann aber abh�ngig von Ihrer Hardware und der Anzahl der Module, die Sie aktiviert haben, sehr stark variieren.

top

Installieren

Nun endlich installieren Sie das Package unter dem konfigurierten Installations-PREFIX (siehe oben: Option --prefix durch Aufrufen von:

$ make install

Wenn Sie upgraden, wird die Installation Ihre Konfigurationsdateien oder Dokumente nicht �berschrieben.

top

Anpassen

Als n�chstes k�nnen Sie Ihren Apache HTTP Server anpassen, indem Sie die Konfigurationsdateien unterhalb von PREFIX/conf/ editieren.

$ vi PREFIX/conf/httpd.conf

Im Apache Handbuch finden Sie unter docs/manual/ oder http://httpd.apache.org/docs/ eine komplette Referenz der verf�gbaren Konfigurationsanweisungen.

top

Testen

Sie k�nnen nun Ihren Apache HTTP Server starten, indem Sie einfach

$ PREFIX/bin/apachectl start

ausf�hren.

Danach sollten Sie Ihr erstes Dokument unter dem URL http://localhost/ anfordern k�nnen. Die Webseite, die Sie sehen, ist im DocumentRoot abgelegt, welches �blicherweise PREFIX/htdocs/ ist. Den Server stoppen Sie wieder durch Ausf�hren von:

$ PREFIX/bin/apachectl stop