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.
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/httpd.conf |
Testen | $ PREFIX/bin/apachectl -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/httpd.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/apachectl -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/apachectl -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/apachectl -k graceful-stop
$ PREFIX/bin/apachectl -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.