Apache HTTP Server Version 2.4
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_1_NN.tar.gz |
Konfigurieren | $ ./configure --prefix=PREFIX
|
Kompilieren | $ make |
Installieren | $ make install |
Anpassen | $ vi PREFIX/conf/apache2.conf |
Testen | $ PREFIX/bin/apache2ctl 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 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 2.0 zu bauen und zu installieren.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_1_NN.tar.gz
$ tar xvf httpd-2_1_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/apache2.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.4/.
Sie k�nnen nun Ihren Apache HTTP Server starten, indem Sie einfach
$ PREFIX/bin/apache2ctl 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 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).
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 stop
$ PREFIX/bin/apache2ctl 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.