Apache HTTP Server Version 2.2

Dieses Dokument umfaßt nur die Kompilierung und Installation des Apache HTTP Servers auf Unix und Unix-ähnlichen Systemen. Für die Kompilierung und Installation unter Windows lesen Sie bitte Den Apache HTTPd unter Microsoft Windows betreiben. Für andere Plattformen lesen Sie bitte die Dokumentation Plattformen.
Der Apache HTTPd verwendet libtool und
    autoconf, um eine Erstellungsumgebung zu schaffen, die der
    vieler anderer Open Source Projekte ähnlich sieht.
Wenn Sie von einer Unterversion auf die nächste aktualisieren (z.B. von 2.2.50 auf 2.2.51), springen Sie bitte zum Abschnitt Upgrade.
 Überblick für die Ungeduldigen
 Überblick für die Ungeduldigen Anforderungen
 Anforderungen Download
 Download Auspacken
 Auspacken Den Codebaum konfigurieren
 Den Codebaum konfigurieren Erstellen
 Erstellen Installieren
 Installieren Anpassen
 Anpassen Testen
 Testen Upgrade
 Upgrade| Download | $ lynx http://httpd.apache.org/download.cgi | 
| Auspacken | $ gzip -d httpd-NN.tar.gz | 
| Konfigurieren | $ ./configure --prefix=PREFIX | 
| Kompilieren | $ make | 
| Installieren | $ make install | 
| Anpassen | $ vi PREFIX/conf/apache2.conf | 
| Testen | $ PREFIX/bin/apache2ctl -k start | 
NN muss durch die entsprechende Versionsnummer 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 HTTP Servers ist weiter unten jeder Abschnitt des Kompilierungs- und Installationsvorganges genauer beschrieben.
Folgende Anforderungen gelten für die Erstellung des Apache HTTPd:
PATH wesentliche Generierungswerkzeuge wie
      make enthalten.ntpdate oder xntpd verwendet,
      die auf dem Network Time Protocol (NTP) basieren. Nähere
      Informationen über NTP Software und öffentliche Zeitserver
      finden Sie auf der NTP-Homepage.apxs
      oder dbmmanage (die in Perl
      geschrieben sind) wird der Perl 5 Interpreter benötigt (die
      Versionen ab 5.003 sind ausreichend). Wenn Sie mehrere Perl
      Interpreter haben (beispielsweise eine systemweite Installation von
      Perl 4 und Ihre eigene Perl 5-Installation), dann sollten Sie die
      --with-perl-Option (siehe unten) verwenden, um
      sicherzustellen, dass der richtige Interpreter von
      configure ausgewählt wird.
      Wenn kein Perl 5-Interpreter vom configure-Skript
      gefunden werden kann, können Sie die betroffenen Hilfsskripte nicht
      verwenden, sind jedoch selbstverständlich nach wie vor in der Lage,
      den Apache HTTPd zu bauen und zu installieren.apr und apr-util werden mit den
      Quelltext-Veröffentlichungen des Apache HTTPd gebündelt und in
      nahezu allen Fällen ohne Probleme verwendet. Sind jedoch die
      apr- oder apr-util-Versionen 1.0 oder 1.1 auf
      Ihrem System installiert, dann müssen Sie diese
      apr-/apr-util-Installationen entweder
      aktualisieren oder httpd separate Kompilate verwenden lassen. Um
      hierfür die mitgelieferten
      apr-/apr-util-Quellen zu verwenden,
      müssen Sie diese manuell installieren:
      
        # apr 1.2 bauen und installieren
        cd srclib/apr
        ./configure --prefix=/usr/local/apr-httpd/
        make
        make install
        
        # apr-util 1.2 bauen und installieren
        cd ../apr-util
        ./configure --prefix=/usr/local/apr-util-httpd/
          --with-apr=/usr/local/apr-httpd/
        make
        make install
        
        # httpd konfigurieren
        cd ../../
        ./configure --with-apr=/usr/local/apr-httpd/
          --with-apr-util=/usr/local/apr-util-httpd/
      
Der Apache HTTP Server kann von der Apache-HTTP-Server-Downloadseite heruntergeladen werden, auf der 
    verschiedene Spiegelserver angegeben sind. Für die meisten Benutzer
    des Apache HTTPd ist es auf Unix-ähnlichen Systemen am Besten, die
    Quellcodeversion herunterzuladen und zu kompilieren. Der
    Erstellungsprozess (weiter unten beschrieben) ist einfach und erlaubt es
    Ihnen, den Server Ihren Bedürfnissen anzupassen.  Dazu kommt, dass
    Binärdistributionen gegenüber der aktuellen Quellcodeversion oft
    veraltet sind. Wenn Sie tatsächlich ein Binärpaket
    herunterladen, folgen Sie bitte den Anweisungen in der Datei
    INSTALL.bindist, die der Distribution beiliegt.
Es ist wichtig, dass Sie nach dem Herunterladen überprüfen, dass es sich um einer vollständige und unveränderte Version des Apache HTTP Servers handelt. Das können Sie erreichen, indem Sie das heruntergeladene Paket gegen die PGP-Signatur prüfen. Einzelheiten dazu erfahren Sie auf der Download-Seite. Es ist auch ein erweitertes Beispiel verfügbar, dass die Anwendung von PGP beschreibt.
Das Auspacken des Quellcodes aus dem Apache-HTTPd-Tarball besteht aus einem simplen Dekomprimieren und danach "Ent-tarren":
      $ gzip -d httpd-NN.tar.gz
      $ tar xvf httpd-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. 
Der nächste Schritt ist die Konfiguration des
    Apache-HTTPd-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 eine nicht
    freigegebene Version des Apache-HTTPd-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.
Die wichtigste Option ist --prefix, der Ablageort, an dem
    der Apache HTTP Server später installiert wird, da er für diesen Ort
    konfiguriert werden muss, um korrekt zu arbeiten. Eine feinere Einstellung
    der Dateiablagen ist mit weiteren configure-Optionen
    möglich.
Weiterhin können Sie zu diesem Zeitpunkt festlegen, welche Funktionalität
    Sie in den Apache HTTPd aufnehmen möchten, indem Sie Module aktivieren oder deaktivieren. Der Apache HTTP
    Server bindet standardmäßig einen Satz von Basismodulen ein.  Andere Module
    werden mit Hilfe der Option --enable-module
    aktiviert, wobei module den Namen des Moduls ohne das
    Präfix mod_ darstellt.  Ausserdem sind alle Unterstriche
    durch Bindestriche zu ersetzen. Sie können sich auch entscheiden,
    Module als "Shared Objects (DSOs)" zu kompilieren,
    welche zur Laufzeit ge- und entladen werden können. Dazu verwenden
    Sie die Option --enable-module=shared.
    Entsprechend können Sie Basismodule mit der Option
    --disable-module deaktivieren. Lassen Sie Vorsicht
    walten. wenn Sie diese Optionen verwenden, da configure
    Sie nicht warnen kann, wenn die von Ihnen angegebenen Module nicht
    existieren; die Option wird dann einfach ignoriert.
Zusätzlich ist es zuweilen notwendig, das
    configure-Skript mit Extrainformationen zum Ablageort
    Ihres Compilers, Ihrer Bibliotheken oder Header-Dateien zu versorgen. Das
    tun Sie, indem Sie entweder Umgebungsvariablen oder Kommandozeilenoptionen
    an configure übergeben. Für mehr Informationen
    lesen Sie bitte die Hilfeseite zu configure.
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.
Einzelheiten zu den vielen verschiedenen configure-Optionen finden Sie auf der Hilfeseite zu
    configure.
Nun können Sie die verschiedenen Teile, die das Apache-HTTPd-Paket bilden, einfach durch Ausführen des folgenden Befehls erstellen:
$ make
Seien Sie hierbei bitte geduldig, denn eine Basiskonfiguration benötigt mehrere Minuten zum Kompilieren. Die Zeit kann jedoch abhängig von Ihrer Hardware und der Anzahl der Module, die Sie aktiviert haben, sehr stark variieren.
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.
Als nächstes können Sie Ihren Apache HTTP Server anpassen,
    indem Sie die Konfigurationsdateien
    unterhalb von PREFIX/conf/ editieren.
$ vi PREFIX/conf/apache2.conf
Werfen Sie auch einen Blick in das Apache-HTTP-Server-Handbuch unter docs/manual/. Die aktuellste Version dieses Handbuchs sowie eine komplette Referenz der verfügbaren Konfigurationsanweisungen finden Sie unter http://httpd.apache.org/docs/2.2/.
Sie können nun Ihren Apache HTTP Server starten, indem Sie einfach
$ PREFIX/bin/apache2ctl -k 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/apache2ctl -k stop
Der erste Schritt beim Aktualisieren besteht darin, die
    Versionsankündigung sowie die CHANGES-Datei in der
    Quelltextdistribution zu lesen, um Änderungen zu finden, die Ihr
    System möglicherweise betreffen. Wenn Sie einen größeren
    Versionssprung durchführen (z.B. vom 1.3 auf 2.0 oder von 2.0 auf
    2.2), wird es wahrscheinlich auch größere Unterschiede in der
    Kompilier- und Laufzeitkonfiguration geben, die manuelle Nacharbeiten
    erfordern. Außerdem müssen alle Module aktualisiert
    werden, um den Änderungen der Modul-API gerecht zu werden.
Die Aktualisierung einer Unterversion auf eine andere (z.B. von 2.2.55
    auf 2.2.57) ist einfacher. make install überschreibt
    keine der bereits existierenden Dokumente, Log- und Konfigurationsdateien.
    Ausserdem bemühen sich die Entwickler, inkompatible Änderungen
    der configure-Optionen, der Laufzeitkonfiguration sowie
    der Modul-API zu vermeiden. In den meisten Fällen sollten Sie in der
    Lage sein, den gleichen configure-Befehl, die gleiche
    Konfiguration und die gleichen Module wieder zu verwenden.
Um auf eine neue Unterversion zu aktualisieren, suchen Sie zunächst
    die Datei config.nice im build-Verzeichnis
    Ihrer Serverinstallation oder im Wurzelverzeichnis des Quelltextbaums
    der alten Installation. Die Datei enthält den genauen
    configure-Befehl, der verwendet wurde, um den
    Quellcode zu konfigurieren. Um jetzt von einer Version auf die
    nächste zu aktualisieren, kopieren Sie einfach die
    config.nice in das Verzeichnis der neuen Version,
    passen sie bei Bedarf an, und führen Sie sie aus:
      $ ./config.nice
      $ make
      $ make install
      $ PREFIX/bin/apache2ctl -k graceful-stop
      $ PREFIX/bin/apache2ctl -k start
    
--prefix und einen anderen Port wählen (durch Anpassen der
    Listen-Direktive). So
    können Sie auf eventuelle Inkompatibilitäten testen, bevor Sie
    endgültig die neue Version verwenden.