Apache HTTP Server Version 2.0
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.
Wenn Sie von einer Unterversion auf die n�chste aktualisieren (z.B. von 2.0.50 auf 2.0.51), springen Sie bitte zum Abschnitt Upgrade.
Download | $ lynx http://httpd.apache.org/download.cgi |
Auspacken | $ gzip -d httpd-2_0_NN.tar.gz |
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.
Folgende Anforderungen gelten f�r die Erstellung des Apache:
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 in der Usenet Newsgroup comp.protocols.time.ntp
und 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 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.Der Apache kann von der Apache HTTP Server
Downloadseite heruntergeladen werden, auf der verschiedene Spiegelserver
angegeben sind. F�r die meisten Benutzer des Apache 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-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.
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.
Die wichtigste Option ist --prefix
, der Ablageort, an dem
der Apache 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 aufnehmen m�chten, indem Sie Module
aktivieren oder deaktivieren. Der Apache 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-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.
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-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.0/.
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
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.0.55
auf 2.0.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. (Das gilt erst
seit Version 2.0.41 -- fr�here Versionen enthielten noch inkompatible
�nderungen).
Wenn Sie den Quellcode von Ihrer letzten Installation aufgehoben haben,
ist ein Upgrade sogar noch einfacher. Die Datei config.nice
im
Wurzelverzeichnis des alten Quelltextbaums 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 stop
$ PREFIX/bin/apachectl 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.