| <?xml version='1.0' encoding='UTF-8' ?> |
| <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd"> |
| <?xml-stylesheet type="text/xsl" href="./style/manual.de.xsl"?> |
| <!-- English Revision: 421100:1772232 (outdated) --> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <manualpage metafile="install.xml.meta"> |
| |
| <title>Kompilieren und Installieren</title> |
| |
| <summary> |
| <p>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 <a |
| href="platform/windows.html">Den Apache HTTPd unter Microsoft Windows |
| betreiben</a>. Für andere Plattformen lesen Sie bitte die |
| Dokumentation <a href="platform/">Plattformen</a>.</p> |
| |
| <p>Der Apache HTTPd verwendet <code>libtool</code> und |
| <code>autoconf</code>, um eine Erstellungsumgebung zu schaffen, die der |
| vieler anderer Open Source Projekte ähnlich sieht.</p> |
| |
| <p>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 <a |
| href="#upgrading">Upgrade</a>.</p> |
| </summary> |
| |
| <seealso><a href="programs/configure.html">Den Quellcode konfigurieren</a></seealso> |
| <seealso><a href="invoking.html">Den Apache HTTP Server starten</a></seealso> |
| <seealso><a href="stopping.html">Beenden und Neustarten</a></seealso> |
| |
| <section id="overview"><title>Überblick für die Ungeduldigen</title> |
| |
| <table> |
| <columnspec><column width=".13"/><column width=".80"/></columnspec> |
| <tr> |
| <td><a href="#download">Download</a></td> |
| |
| <td><code>$ lynx http://httpd.apache.org/download.cgi</code> |
| </td> |
| </tr> |
| |
| <tr> |
| <td><a href="#extract">Auspacken</a></td> |
| |
| <td><code>$ gzip -d httpd-<em>NN</em>.tar.gz<br /> |
| $ tar xvf httpd-<em>NN</em>.tar |
| $ cd httpd-<em>NN</em></code></td> |
| </tr> |
| |
| <tr> |
| <td><a href="#configure">Konfigurieren</a></td> |
| |
| <td><code>$ ./configure --prefix=<em>PREFIX</em></code> |
| </td> |
| </tr> |
| |
| <tr> |
| <td><a href="#compile">Kompilieren</a></td> |
| |
| <td><code>$ make</code> </td> |
| </tr> |
| |
| <tr> |
| <td><a href="#install">Installieren</a></td> |
| |
| <td><code>$ make install</code> </td> |
| </tr> |
| |
| <tr> |
| <td><a href="#customize">Anpassen</a></td> |
| |
| <td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td> |
| </tr> |
| |
| <tr> |
| <td><a href="#test">Testen</a></td> |
| |
| <td><code>$ <em>PREFIX</em>/bin/apachectl -k start</code> |
| </td> |
| </tr> |
| </table> |
| |
| <p><em>NN</em> muss durch die entsprechende Versionsnummer ersetzt |
| werden und <em>PREFIX</em> durch den Verzeichnispfad, |
| in dem der Server installiert werden soll. Wenn <em>PREFIX</em> nicht |
| angegeben ist, wird die Voreinstellung <code>/usr/local/apache2</code> |
| verwendet.</p> |
| |
| <p>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.</p> |
| </section> |
| |
| <section id="requirements"><title>Anforderungen</title> |
| |
| <p>Folgende Anforderungen gelten für die Erstellung des |
| Apache HTTPd:</p> |
| |
| <dl> |
| <dt>Plattenplatz</dt> |
| <dd>Stellen Sie sicher, dass Sie kurzzeitig wenigstens 50 MB freien |
| Festplattenplatz zur Verfügung haben. Nach der Installation |
| belegt der Apache ungefähr 10 MB Plattenplatz. Der |
| tatsächliche Platzbedarf variiert in Abhängigkeit von den |
| gewählten Konfigurationseinstellungen und |
| Modulen von Drittanbietern.</dd> |
| |
| <dt>ANSI-C-Compiler und Generierungswerkzeuge</dt> |
| <dd>Stellen Sie sicher, dass Sie einen ANSI-C Compiler installiert |
| haben. Der <a href="http://www.gnu.org/software/gcc/gcc.html">GNU C |
| Compiler (GCC)</a> der <a href="http://www.gnu.org/">Free Software |
| Foundation (FSF)</a> ist empfehlenswert. Wenn |
| Sie den GCC nicht besitzen, stellen Sie zumindest sicher, dass der |
| Compiler Ihres Anbieters ANSI-kompatibel ist. Außerdem muss Ihr |
| <code>PATH</code> wesentliche Generierungswerkzeuge wie |
| <code>make</code> enthalten.</dd> |
| |
| <dt>Zeitgenauigkeit bewahren</dt> |
| <dd>Elemente des HTTP-Protokolls werden in Form einer Tageszeit |
| ausgedrückt. Darum sollten Sie jetzt prüfen, ob Ihr System |
| die Fähigkeit zur Zeitsynchronisation besitzt, und diese |
| gegebenenfalls installieren. Üblicherweise werden hierfür |
| die Programme <code>ntpdate</code> oder <code>xntpd</code> verwendet, |
| die auf dem Network Time Protocol (NTP) basieren. Nähere |
| Informationen über NTP Software und öffentliche Zeitserver |
| finden Sie auf der <a href="http://www.ntp.org">NTP-Homepage</a>.</dd> |
| |
| <dt><a href="http://www.perl.org/">Perl 5</a> |
| [OPTIONAL]</dt> |
| <dd>Für einige Hilfsskripte wie <program>apxs</program> |
| oder <program>dbmmanage</program> (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 |
| <code>--with-perl</code>-Option (siehe unten) verwenden, um |
| sicherzustellen, dass der richtige Interpreter von |
| <program>configure</program> ausgewählt wird. |
| Wenn kein Perl 5-Interpreter vom <program>configure</program>-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.</dd> |
| |
| <dt><a href="http://apr.apache.org">apr/apr-util >= 1.2</a></dt> |
| <dd><code>apr</code> und <code>apr-util</code> werden mit den |
| Quelltext-Veröffentlichungen des Apache HTTPd gebündelt und in |
| nahezu allen Fällen ohne Probleme verwendet. Sind jedoch die |
| <code>apr</code>- oder <code>apr-util</code>-Versionen 1.0 oder 1.1 auf |
| Ihrem System installiert, dann müssen Sie diese |
| <code>apr</code>-/<code>apr-util</code>-Installationen entweder |
| aktualisieren oder httpd separate Kompilate verwenden lassen. Um |
| hierfür die mitgelieferten |
| <code>apr</code>-/<code>apr-util</code>-Quellen zu verwenden, |
| müssen Sie diese manuell installieren: |
| <example> |
| # apr 1.2 bauen und installieren<br /> |
| cd srclib/apr<br/> |
| ./configure --prefix=/usr/local/apr-httpd/<br/> |
| make<br/> |
| make install<br /> |
| <br /> |
| # apr-util 1.2 bauen und installieren<br /> |
| cd ../apr-util<br /> |
| ./configure --prefix=/usr/local/apr-util-httpd/ |
| --with-apr=/usr/local/apr-httpd/<br /> |
| make<br/> |
| make install<br /> |
| <br /> |
| # httpd konfigurieren<br /> |
| cd ../../<br /> |
| ./configure --with-apr=/usr/local/apr-httpd/ |
| --with-apr-util=/usr/local/apr-util-httpd/ |
| </example> |
| </dd> |
| </dl> |
| </section> |
| |
| <section id="download"><title>Download</title> |
| |
| <p>Der Apache HTTP Server kann von der <a |
| href="http://httpd.apache.org/download.cgi" |
| >Apache-HTTP-Server-Downloadseite</a> 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 |
| <code>INSTALL.bindist</code>, die der Distribution beiliegt.</p> |
| |
| <p>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 <a |
| href="http://httpd.apache.org/download.cgi#verify">Download-Seite</a>. Es |
| ist auch ein erweitertes Beispiel verfügbar, dass die <a |
| href="http://httpd.apache.org/dev/verification.html">Anwendung von PGP</a> |
| beschreibt.</p> |
| |
| </section> |
| |
| <section id="extract"><title>Auspacken</title> |
| |
| <p>Das Auspacken des Quellcodes aus dem Apache-HTTPd-Tarball besteht |
| aus einem simplen Dekomprimieren und danach "Ent-tarren":</p> |
| |
| <example> |
| $ gzip -d httpd-<em>NN</em>.tar.gz<br /> |
| $ tar xvf httpd-<em>NN</em>.tar |
| </example> |
| |
| <p>Dies erstellt unterhalb des aktuellen Verzeichnisses ein neues |
| Verzeichnis, das den Quellcode für die Distribution enthält. |
| Sie sollten mit <code>cd</code> in dieses Verzeichnis wechseln, |
| bevor Sie mit der Kompilierung des Servers weitermachen. </p> |
| |
| </section> |
| |
| <section id="configure"><title>Den Codebaum konfigurieren</title> |
| |
| <p>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 |
| <program>configure</program> durchgeführt, das im Wurzelverzeichnis |
| der Distribution enthalten ist. (Entwickler, welche eine nicht |
| freigegebene Version des Apache-HTTPd-Codebaumes herunterladen, müssen |
| <code>autoconf</code> und <code>libtool</code> installiert haben und müssen |
| <code>buildconf</code> ausführen, bevor sie mit den |
| nächsten Schritten fortfahren können. Dies wird bei |
| offiziellen Releases nicht notwendig sein.)</p> |
| |
| <p>Um den Codebaum mit den Standardeinstellungen zu konfigurieren, |
| geben Sie einfach <code>./configure</code> ein. Zur Änderung |
| dieser Voreinstellungen akzeptiert <program>configure</program> eine |
| Reihe von Variablen und Kommandozeilenoptionen.</p> |
| |
| <p>Die wichtigste Option ist <code>--prefix</code>, 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 <a |
| href="programs/configure.html#installationdirectories">configure-Optionen</a> |
| möglich.</p> |
| |
| <p>Weiterhin können Sie zu diesem Zeitpunkt festlegen, welche <a |
| href="programs/configure.html#optionalfeatures">Funktionalität</a> |
| Sie in den Apache HTTPd aufnehmen möchten, indem Sie <a |
| href="mod/">Module</a> aktivieren oder deaktivieren. Der Apache HTTP |
| Server bindet standardmäßig einen Satz von <a |
| href="mod/module-dict.html#Status">Basismodulen</a> ein. Andere Module |
| werden mit Hilfe der Option <code>--enable-<var>module</var></code> |
| aktiviert, wobei <var>module</var> den Namen des Moduls ohne das |
| Präfix <code>mod_</code> darstellt. Ausserdem sind alle Unterstriche |
| durch Bindestriche zu ersetzen. Sie können sich auch entscheiden, |
| Module als "<a href="dso.html">Shared Objects (DSOs)</a>" zu kompilieren, |
| welche zur Laufzeit ge- und entladen werden können. Dazu verwenden |
| Sie die Option <code>--enable-<var>module</var>=shared</code>. |
| Entsprechend können Sie Basismodule mit der Option |
| <code>--disable-<var>module</var></code> deaktivieren. Lassen Sie Vorsicht |
| walten. wenn Sie diese Optionen verwenden, da <program>configure</program> |
| Sie nicht warnen kann, wenn die von Ihnen angegebenen Module nicht |
| existieren; die Option wird dann einfach ignoriert.</p> |
| |
| <p>Zusätzlich ist es zuweilen notwendig, das |
| <program>configure</program>-Skript mit Extrainformationen zum Ablageort |
| Ihres Compilers, Ihrer Bibliotheken oder Header-Dateien zu versorgen. Das |
| tun Sie, indem Sie entweder Umgebungsvariablen oder Kommandozeilenoptionen |
| an <program>configure</program> übergeben. Für mehr Informationen |
| lesen Sie bitte die Hilfeseite zu <program>configure</program>.</p> |
| |
| <p>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 <code>/sk/pkg/apache</code> kompiliert, sowie |
| die beiden zusätzlichen Module <module>mod_rewrite</module> und |
| <module>mod_speling</module> für späteres Laden durch den |
| DSO-Mechanismus:</p> |
| |
| <example> |
| $ CC="pgcc" CFLAGS="-O2" \<br /> |
| ./configure --prefix=/sw/pkg/apache \<br /> |
| --enable-rewrite=shared \<br /> |
| --enable-speling=shared |
| </example> |
| |
| <p>Wenn <program>configure</program> 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.</p> |
| |
| <p>Einzelheiten zu den vielen verschiedenen <program>configure |
| </program>-Optionen finden Sie auf der Hilfeseite zu |
| <program>configure</program>.</p> |
| |
| </section> |
| |
| <section id="compile"><title>Erstellen</title> |
| |
| <p>Nun können Sie die verschiedenen Teile, die das Apache-HTTPd-Paket |
| bilden, einfach durch Ausführen des folgenden Befehls erstellen:</p> |
| |
| <example>$ make</example> |
| |
| <p>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.</p> |
| </section> |
| |
| <section id="install"><title>Installieren</title> |
| |
| <p>Nun endlich installieren Sie das Package unter dem konfigurierten |
| Installations-<em>PREFIX</em> (siehe oben: Option <code>--prefix</code> |
| durch Aufrufen von:</p> |
| |
| <example>$ make install</example> |
| |
| <p>Wenn Sie upgraden, wird die Installation Ihre Konfigurationsdateien |
| oder Dokumente nicht überschrieben.</p> |
| </section> |
| |
| <section id="customize"><title>Anpassen</title> |
| |
| <p>Als nächstes können Sie Ihren Apache HTTP Server anpassen, |
| indem Sie die <a href="configuring.html">Konfigurationsdateien</a> |
| unterhalb von <code><em>PREFIX</em>/conf/</code> editieren.</p> |
| |
| <example>$ vi <em>PREFIX</em>/conf/httpd.conf</example> |
| |
| <p>Werfen Sie auch einen Blick in das Apache-HTTP-Server-Handbuch unter <a |
| href="./">docs/manual/</a>. Die aktuellste Version dieses Handbuchs |
| sowie eine komplette Referenz der verfügbaren <a |
| href="mod/directives.html">Konfigurationsanweisungen</a> finden |
| Sie unter <a href="http://httpd.apache.org/docs/&httpd.docs;/" |
| >http://httpd.apache.org/docs/&httpd.docs;/</a>.</p> |
| </section> |
| |
| <section id="test"><title>Testen</title> |
| |
| <p>Sie können nun Ihren Apache HTTP Server <a |
| href="invoking.html">starten</a>, indem Sie einfach</p> |
| |
| <example>$ <em>PREFIX</em>/bin/apachectl -k start</example> |
| |
| <p>ausführen.</p> |
| |
| <p>Danach sollten Sie Ihr erstes Dokument unter dem URL |
| <code>http://localhost/</code> anfordern können. Die Webseite, |
| die Sie sehen, ist im <directive module="core">DocumentRoot</directive> |
| abgelegt, welches üblicherweise <code><em>PREFIX</em>/htdocs/</code> |
| ist. Den Server <a href="stopping.html">stoppen</a> Sie wieder durch |
| Ausführen von:</p> |
| |
| <example>$ <em>PREFIX</em>/bin/apachectl -k stop</example> |
| </section> |
| |
| <section id="upgrading"><title>Upgrade</title> |
| |
| <p>Der erste Schritt beim Aktualisieren besteht darin, die |
| Versionsankündigung sowie die <code>CHANGES</code>-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.</p> |
| |
| <p>Die Aktualisierung einer Unterversion auf eine andere (z.B. von 2.2.55 |
| auf 2.2.57) ist einfacher. <code>make install</code> überschreibt |
| keine der bereits existierenden Dokumente, Log- und Konfigurationsdateien. |
| Ausserdem bemühen sich die Entwickler, inkompatible Änderungen |
| der <program>configure</program>-Optionen, der Laufzeitkonfiguration sowie |
| der Modul-API zu vermeiden. In den meisten Fällen sollten Sie in der |
| Lage sein, den gleichen <program>configure</program>-Befehl, die gleiche |
| Konfiguration und die gleichen Module wieder zu verwenden.</p> |
| |
| <p>Um auf eine neue Unterversion zu aktualisieren, suchen Sie zunächst |
| die Datei <code>config.nice</code> im <code>build</code>-Verzeichnis |
| Ihrer Serverinstallation oder im Wurzelverzeichnis des Quelltextbaums |
| der alten Installation. Die Datei enthält den genauen |
| <program>configure</program>-Befehl, der verwendet wurde, um den |
| Quellcode zu konfigurieren. Um jetzt von einer Version auf die |
| nächste zu aktualisieren, kopieren Sie einfach die |
| <code>config.nice</code> in das Verzeichnis der neuen Version, |
| passen sie bei Bedarf an, und führen Sie sie aus:</p> |
| |
| <example> |
| $ ./config.nice<br /> |
| $ make<br /> |
| $ make install<br /> |
| $ <var>PREFIX</var>/bin/apachectl -k graceful-stop<br /> |
| $ <var>PREFIX</var>/bin/apachectl -k start<br /> |
| </example> |
| |
| <note type="warning">Sie sollten jede neue Version immer in Ihrer Umgebung |
| testen, bevor Sie sie produktiv schalten. Beispielsweise können Sie |
| die neue Version neben der alten installieren, indem Sie ein anderes |
| <code>--prefix</code> und einen anderen Port wählen (durch Anpassen der |
| <directive module="mpm_common">Listen</directive>-Direktive). So |
| können Sie auf eventuelle Inkompatibilitäten testen, bevor Sie |
| endgültig die neue Version verwenden.</note> |
| </section> |
| |
| </manualpage> |