From: André Malo
Dieses Dokument umfaßt nur die Kompilierung und Installation des Apache auf Unix und Unix-ähnlichen Systemen. Für die @@ -54,7 +51,7 @@
Der Apache kann von der Apache HTTP Server - Downloadseite heruntergeladen werden, auf der verschiedene - Spiegelserver angegeben sind. Sie finden hier die jeweils aktuelle - stabile Version.
- -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 ebenfalls 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. Den Link zur Signaturdatei finden Sie hinter
- dem jeweiligen Download-Link oder im entsprechenden Verzeichnis auf der
- Apache-Distributionsseite
- Sie 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_1_NN.tar.gz.asc
oder
- -$ gpg --verify httpd-2_1_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.
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.
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
+ 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
@@ -267,13 +228,39 @@
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.
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 @@ -295,292 +282,9 @@ 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.
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=...
CPPFLAGS=...
CFLAGS=...
LDFLAGS=...
LIBS=...
-L
" und "-l
" Optionen), die
- an den Linker durchgereicht werden.INCLUDES=...
-IVerzeichnis
").TARGET=...
[Default: httpd
]NOTEST_CPPFLAGS=...
NOTEST_CFLAGS=...
NOTEST_LDFLAGS=...
NOTEST_LIBS=...
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=...
--help
--quiet
checking...
"
- Nachrichten.--verbose
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
]Es ist möglich, anzugeben, dass Architektur-abhängige - Dateien in einem anderen Verzeichnis abgelegt werden sollen.
- ---exec-prefix=EPREFIX
[Default:
- PREFIX
]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
config.layout
, um die Installationspfade genau
- anzugeben.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 (z.B. mod_userdir
), wenn Sie sie
- nicht verwenden möchten. Module mit einem anderen Status (z.B.
- mod_expires
) 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]
=shared
hinzu.--disable-MODULE
--enable-modules=MODUL-LISTE
--enable-mods-shared=MODUL-LISTE
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 von
- 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
Um ein MPM mit dem Namen mpm_name zu aktivieren, verwenden - Sie
- -
- ./configure --with-mpm=mpm_name
-
Verschiedene Apache-Features, darunter mod_authn_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]
/lib
und Pfad/include
- nach relevanten Dateien zu suchen. Letztlich kann Pfad
- auch die speziellen Include- und Bibliothek-Pfade durch Doppelpunkt
- getrennt auflisten.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. -
+Einzelheiten zu den vielen verschiedenen Konfigurationsoptionen finden + Sie auf der Hilfeseite zu + configure.