1 <?xml version='1.0' encoding='UTF-8' ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.de.xsl"?>
4 <!-- English Revision: 105989 (outdated: 106803) -->
7 Copyright 2002-2004 The Apache Software Foundation
9 Licensed under the Apache License, Version 2.0 (the "License");
10 you may not use this file except in compliance with the License.
11 You may obtain a copy of the License at
13 http://www.apache.org/licenses/LICENSE-2.0
15 Unless required by applicable law or agreed to in writing, software
16 distributed under the License is distributed on an "AS IS" BASIS,
17 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 See the License for the specific language governing permissions and
19 limitations under the License.
22 <manualpage metafile="install.xml.meta">
24 <title>Kompilieren und Installieren</title>
27 <p>Dieses Dokument umfaßt nur die Kompilierung und Installation des
28 Apache auf Unix und Unix-ähnlichen Systemen. Für die
29 Kompilierung und Installation unter Windows lesen Sie bitte <a
30 href="platform/windows.html">Den Apache unter Microsoft Windows
31 betreiben</a>. Für andere Plattformen lesen Sie bitte die
32 Dokumentation <a href="platform/">Plattformen</a>.</p>
34 <p>Die Konfigurations- und Installationsumgebung des Apache 2.0 hat sich
35 seit dem Apache 1.3 komplett verändert. Der Apache 1.3 benutzt einen
36 speziellen Satz von Skripten, um eine einfache Installation zu
37 ermöglichen. Der Apache 2.0 dagegen verwendet nun
38 <code>libtool</code> und <code>autoconf</code>, um eine Umgebung zu
39 schaffen, die der vieler anderer Open Source Projekte ähnlich
42 <p>Wenn Sie von einer Unterversion auf die nächste aktualisieren (z.B.
43 von 2.0.50 auf 2.0.51), springen Sie bitte zum Abschnitt <a
44 href="#upgrading">Upgrade</a>.</p>
47 <seealso><a href="programs/configure.html">Den Quellcode konfigurieren</a></seealso>
48 <seealso><a href="invoking.html">Apache starten</a></seealso>
49 <seealso><a href="stopping.html">Beenden und Neustarten</a></seealso>
51 <section id="overview"><title>Überblick für die Ungeduldigen</title>
54 <columnspec><column width=".13"/><column width=".80"/></columnspec>
56 <td><a href="#download">Download</a></td>
58 <td><code>$ lynx http://httpd.apache.org/download.cgi</code>
63 <td><a href="#extract">Auspacken</a></td>
65 <td><code>$ gzip -d httpd-2_1_<em>NN</em>.tar.gz<br />
66 $ tar xvf httpd-2_1_<em>NN</em>.tar</code> </td>
70 <td><a href="#configure">Konfigurieren</a></td>
72 <td><code>$ ./configure --prefix=<em>PREFIX</em></code>
77 <td><a href="#compile">Kompilieren</a></td>
79 <td><code>$ make</code> </td>
83 <td><a href="#install">Installieren</a></td>
85 <td><code>$ make install</code> </td>
89 <td><a href="#customize">Anpassen</a></td>
91 <td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td>
95 <td><a href="#test">Testen</a></td>
97 <td><code>$ <em>PREFIX</em>/bin/apachectl start</code>
102 <p><em>NN</em> muss durch die Nummer der Unterversion ersetzt werden,
103 und <em>PREFIX</em> durch den Verzeichnispfad,
104 in dem der Server installiert werden soll. Wenn <em>PREFIX</em> nicht
105 angegeben ist, wird die Voreinstellung <code>/usr/local/apache2</code>
108 <p>Beginnend mit den Anforderungen
109 für die Kompilierung und Installation des Apache HTTPD ist
110 weiter unten jeder Abschnitt des Kompilierungs- und
111 Installationsvorganges genauer beschrieben.</p>
114 <section id="requirements"><title>Anforderungen</title>
116 <p>Folgende Anforderungen gelten für die Erstellung des
120 <dt>Plattenplatz</dt>
121 <dd>Stellen Sie sicher, dass Sie kurzzeitig wenigstens 50 MB freien
122 Festplattenplatz zur Verfügung haben. Nach der Installation
123 belegt der Apache ungefähr 10 MB Plattenplatz. Der
124 tatsächliche Platzbedarf variiert in Abhängigkeit von den
125 gewählten Konfigurationseinstellungen und
126 Modulen von Drittanbietern.</dd>
128 <dt>ANSI-C-Compiler und Generierungswerkzeuge</dt>
129 <dd>Stellen Sie sicher, dass Sie einen ANSI-C Compiler installiert
130 haben. Der <a href="http://www.gnu.org/software/gcc/gcc.html">GNU C
131 Compiler (GCC)</a> der <a href="http://www.gnu.org/">Free Software
132 Foundation (FSF)</a> ist empfehlenswert (Version 2.7.2 ist gut). Wenn
133 Sie den GCC nicht besitzen, stellen Sie zumindest sicher, dass der
134 Compiler Ihres Anbieters ANSI-kompatibel ist. Außerdem muss Ihr
135 <code>PATH</code> wesentliche Generierungswerkzeuge wie
136 <code>make</code> enthalten.</dd>
138 <dt>Zeitgenauigkeit bewahren</dt>
139 <dd>Elemente des HTTP-Protokolls werden in Form einer Tageszeit
140 ausgedrückt. Darum sollten Sie jetzt prüfen, ob Ihr System
141 die Fähigkeit zur Zeitsynchronisation besitzt, und diese
142 gegebenenfalls installieren. Üblicherweise werden hierfür
143 die Programme <code>ntpdate</code> oder <code>xntpd</code> verwendet,
144 die auf dem Network Time Protocol (NTP) basieren. Nähere
145 Informationen über NTP Software und öffentliche Zeitserver
146 finden Sie in der Usenet Newsgroup <a
147 href="news:comp.protocols.time.ntp">comp.protocols.time.ntp</a>
148 und auf der <a href="http://www.ntp.org">NTP
151 <dt><a href="http://www.perl.org/">Perl 5</a>
153 <dd>Für einige Pflegeprogramme wie <a
154 href="programs/apxs.html">apxs</a>
155 oder <a href="programs/dbmmanage.html">dbmmanage</a> (die in Perl
156 geschrieben sind) wird der Perl 5 Interpreter benötigt (die
157 Versionen ab 5.003 sind ausreichend). Wenn kein derartiger Interpreter
158 vom '<code>configure</code>'-Skript gefunden werden kann, macht das
159 jedoch nichts. Selbstverständlich können Sie den Apache 2.0
160 auch so generieren und installieren. Lediglich diese Pflegeskripte
161 können dann nicht verwendet werden. Wenn Sie mehrere Perl
162 Interpreter installiert haben (vielleicht Perl 4 durch Ihren
163 Händler und Perl 5 durch Sie selbst), dann ist die Verwendung der
164 <code>--with-perl</code> Option (siehe unten) empfehlenswert, um
165 sicherzustellen, dass der richtige Interpreter von
166 <code>./configure</code> ausgewählt wird.</dd>
170 <section id="download"><title>Download</title>
172 <p>Der Apache kann von der <a
173 href="http://httpd.apache.org/download.cgi">Apache HTTP Server
174 Downloadseite</a> heruntergeladen werden, auf der verschiedene Spiegelserver
175 angegeben sind. Für die meisten Benutzer des Apache ist es auf
176 Unix-ähnlichen Systemen am Besten, die Quellcodeversion herunterzuladen
177 und zu kompilieren. Der Erstellungsprozess (weiter unten beschrieben) ist
178 einfach und erlaubt es Ihnen, den Server Ihren Bedürfnissen anzupassen.
179 Dazu kommt, dass Binärdistributionen gegenüber der aktuellen
180 Quellcodeversion oft veraltet sind. Wenn Sie tatsächlich ein
181 Binärpaket herunterladen, folgen Sie bitte den Anweisungen in der Datei
182 <code>INSTALL.bindist</code>, die der Distribution beiliegt.</p>
184 <p>Es ist wichtig, dass Sie nach dem Herunterladen überprüfen,
185 dass es sich um einer vollständige und unveränderte Version des
186 Apache HTTP Servers handelt. Das können Sie erreichen, indem Sie das
187 heruntergeladene Paket gegen die PGP-Signatur prüfen. Einzelheiten dazu
188 erfahren Sie auf der <a
189 href="http://httpd.apache.org/download.cgi#verify">Download-Seite</a>. Es
190 ist auch ein erweitertes Beispiel verfügbar, dass die <a
191 href="http://httpd.apache.org/dev/verification.html">Anwendung von PGP</a>
196 <section id="extract"><title>Auspacken</title>
198 <p>Das Auspacken des Quellcodes aus dem Apache HTTPD Tarball besteht
199 aus einem simplen Dekomprimieren und danach "Ent-tarren":</p>
202 $ gzip -d httpd-2_1_<em>NN</em>.tar.gz<br />
203 $ tar xvf httpd-2_1_<em>NN</em>.tar
206 <p>Dies erstellt unterhalb des aktuellen Verzeichnisses ein neues
207 Verzeichnis, das den Quellcode für die Distribution enthält.
208 Sie sollten mit <code>cd</code> in dieses Verzeichnis wechseln,
209 bevor Sie mit der Kompilierung des Servers weitermachen. </p>
213 <section id="configure"><title>Den Codebaum konfigurieren</title>
215 <p>Der nächste Schritt ist die Konfiguration des
216 Apache-Codebaumes für Ihre spezielle Plattform und Ihre
217 persönlichen Bedürfnisse. Dies wird mit dem Skript
218 <code><a href="programs/configure.html">configure</a></code>
219 durchgeführt, das im Wurzelverzeichnis
220 der Distribution enthalten ist. (Entwickler, welche die CVS Version
221 des Apache-Codebaumes herunterladen, müssen <code>autoconf</code>
222 und <code>libtool</code> installiert haben und müssen
223 <code>buildconf</code> ausführen, bevor sie mit den
224 nächsten Schritten fortfahren können. Dies wird bei
225 offiziellen Releases nicht notwendig sein.)</p>
227 <p>Um den Codebaum mit den Standardeinstellungen zu konfigurieren,
228 geben Sie einfach <code>./configure</code> ein. Zur Änderung
229 dieser Voreinstellungen akzeptiert <code>configure</code> eine
230 Reihe von Variablen und Kommandozeilenoptionen.</p>
232 <p>Die wichtigste Option ist <code>--prefix</code>, der Ablageort, an dem
233 der Apache später installiert wird, da er für diesen Ort
234 konfiguriert werden muss, um korrekt zu arbeiten. Eine feinere Einstellung
235 der Dateiablagen ist mit weiteren <a
236 href="programs/configure.html#installationdirectories">configure-Optionen</a>
239 <p>Weiterhin können Sie zu diesem Zeitpunkt festlegen, welche <a
240 href="programs/configure.html#optionalfeatures">Funktionalität</a> Sie
241 in den Apache aufnehmen möchten, indem Sie <a href="mod/">Module</a>
242 aktivieren oder deaktivieren. Der Apache bindet standardmäßig
243 einen Satz von <a href="mod/module-dict.html#Status">Basismodulen</a> ein.
244 Andere Module werden mit Hilfe der Option
245 <code>--enable-<var>module</var></code> aktiviert, wobei <var>module</var>
246 den Namen des Moduls ohne das Präfix <code>mod_</code> darstellt.
247 Ausserdem sind alle Unterstriche durch Bindestriche zu ersetzen. Sie
248 können sich auch entscheiden, Module als "<a href="dso.html">Shared
249 Objects (DSOs)</a>" zu kompilieren, welche zur Laufzeit ge- und entladen
250 werden können. Dazu verwenden Sie die Option
251 <code>--enable-<var>module</var>=shared</code>. Entsprechend können Sie
252 Basismodule mit der Option <code>--disable-<var>module</var></code>
253 deaktivieren. Lassen Sie Vorsicht walten. wenn Sie diese Optionen verwenden,
254 da <code>configure</code> Sie nicht warnen kann, wenn die von Ihnen
255 angegebenen Module nicht existieren; die Option wird dann einfach
258 <p>Zusätzlich ist es zuweilen notwendig, das
259 <code>configure</code>-Skript mit Extrainformationen zum Ablageort
260 Ihres Compilers, Ihrer Bibliotheken oder Header-Dateien zu versorgen. Das
261 tun Sie, indem Sie entweder Umgebungsvariablen oder Kommandozeilenoptionen
262 an <code>configure</code> übergeben. Für mehr Informationen
263 lesen Sie bitte die <a href="programs/configure.html">Hilfeseite zu
266 <p>Um einen kurzen Eindruck zu gewinnen, welche Möglichkeiten Sie
267 haben, folgt hier ein typisches Beispiel, das den Apache mit einem
268 speziellen Compiler und Compilerflags für das
269 Installationsverzeichnis <code>/sk/pkg/apache</code> kompiliert, sowie
270 die beiden zusätzlichen Module <module>mod_rewrite</module> und
271 <module>mod_speling</module> für späteres Laden durch den
275 $ CC="pgcc" CFLAGS="-O2" \<br />
276 ./configure --prefix=/sw/pkg/apache \<br />
277 --enable-rewrite=shared \<br />
278 --enable-speling=shared
281 <p>Wenn <code>configure</code> startet, benötigt es mehrere Minuten,
282 um die Verfügbarkeit von Features auf Ihrem System zu prüfen
283 und ein Makefile zu generieren, das später zur Kompilierung des
284 Servers verwendet wird.</p>
286 <p>Einzelheiten zu den vielen verschiedenen Konfigurationsoptionen finden
287 Sie auf der <a href="programs/configure.html">Hilfeseite zu
292 <section id="compile"><title>Erstellen</title>
294 <p>Nun können Sie die verschiedenen Teile, die das Apache-Paket
295 bilden, einfach durch Ausführen des folgenden Befehls erstellen:</p>
297 <example>$ make</example>
299 <p>Seien Sie hierbei bitte geduldig, denn eine Basiskonfiguration
300 benötigt ungefähr 3 Minuten auf einem Pentium III/Linux 2.2.
301 System. Dies kann aber abhängig von Ihrer Hardware und der Anzahl
302 der Module, die Sie aktiviert haben, sehr stark variieren.</p>
305 <section id="install"><title>Installieren</title>
307 <p>Nun endlich installieren Sie das Package unter dem konfigurierten
308 Installations-<em>PREFIX</em> (siehe oben: Option <code>--prefix</code>
309 durch Aufrufen von:</p>
311 <example>$ make install</example>
313 <p>Wenn Sie upgraden, wird die Installation Ihre Konfigurationsdateien
314 oder Dokumente nicht überschrieben.</p>
317 <section id="customize"><title>Anpassen</title>
319 <p>Als nächstes können Sie Ihren Apache HTTP Server anpassen,
320 indem Sie die <a href="configuring.html">Konfigurationsdateien</a>
321 unterhalb von <code><em>PREFIX</em>/conf/</code> editieren.</p>
323 <example>$ vi <em>PREFIX</em>/conf/httpd.conf</example>
325 <p>Werfen Sie auch einen Blick in das Apache-Handbuch unter <a
326 href="./">docs/manual/</a>. Die aktuellste Version dieses Handbuchs
327 sowie eine komplette Referenz der verfügbaren <a
328 href="mod/directives.html">Konfigurationsanweisungen</a> finden
329 Sie unter <a href="http://httpd.apache.org/docs-2.1/"
330 >http://httpd.apache.org/docs-2.1/</a>.</p>
333 <section id="test"><title>Testen</title>
335 <p>Sie können nun Ihren Apache HTTP Server <a
336 href="invoking.html">starten</a>, indem Sie einfach</p>
338 <example>$ <em>PREFIX</em>/bin/apachectl start</example>
340 <p>ausführen.</p>
342 <p>Danach sollten Sie Ihr erstes Dokument unter dem URL
343 <code>http://localhost/</code> anfordern können. Die Webseite,
344 die Sie sehen, ist im <directive module="core">DocumentRoot</directive>
345 abgelegt, welches üblicherweise <code><em>PREFIX</em>/htdocs/</code>
346 ist. Den Server <a href="stopping.html">stoppen</a> Sie wieder durch
347 Ausführen von:</p>
349 <example>$ <em>PREFIX</em>/bin/apachectl stop</example>
352 <section id="upgrading"><title>Upgrade</title>
354 <p>Der erste Schritt beim Aktualisieren besteht darin, die
355 Versionsankündigung sowie die <code>CHANGES</code>-Datei in der
356 Quelltextdistribution zu lesen, um Änderungen zu finden, die Ihr
357 System möglicherweise betreffen. Wenn Sie einen größeren
358 Versionssprung durchführen (z.B. vom 1.3 auf 2.0 oder von 2.0 auf
359 2.2), wird es wahrscheinlich auch größere Unterschiede in der
360 Kompilier- und Laufzeitkonfiguration geben, die manuelle Nacharbeiten
361 erfordern. Außerdem müssen alle Module aktualisiert
362 werden, um den Änderungen der Modul-API gerecht zu werden.</p>
364 <p>Die Aktualisierung einer Unterversion auf eine andere (z.B. von 2.0.55
365 auf 2.0.57) ist einfacher. <code>make install</code> überschreibt
366 keine der bereits existierenden Dokumente, Log- und Konfigurationsdateien.
367 Ausserdem bemühen sich die Entwickler, inkompatible Änderungen
368 der <code>configure</code>-Optionen, der Laufzeitkonfiguration sowie der
369 Modul-API zu vermeiden. In den meisten Fällen sollten Sie in der
370 Lage sein, den gleichen <code>configure</code>-Befehl, die gleiche
371 Konfiguration und die gleichen Module wieder zu verwenden. (Das gilt erst
372 seit Version 2.0.41 -- frühere Versionen enthielten noch inkompatible
373 Änderungen).</p>
375 <p>Wenn Sie den Quellcode von Ihrer letzten Installation aufgehoben haben,
376 ist ein Upgrade sogar noch einfacher. Die Datei <code>config.nice</code> im
377 Wurzelverzeichnis des alten Quelltextbaums enthält den genauen
378 <code>configure</code>-Befehl, der verwendet wurde, um den Quellcode
379 zu konfigurieren. Um jetzt von einer Version auf die nächste zu
380 aktualisieren, kopieren Sie einfach die <code>config.nice</code> in das
381 Verzeichnis der neuen Version, passen sie bei Bedarf an, und
382 führen Sie sie aus:</p>
385 $ ./config.nice<br />
388 $ <var>PREFIX</var>/bin/apachectl stop<br />
389 $ <var>PREFIX</var>/bin/apachectl start<br />
392 <note type="warning">Sie sollten jede neue Version immer in Ihrer Umgebung
393 testen, bevor Sie sie produktiv schalten. Beispielsweise können Sie
394 die neue Version neben der alten installieren, indem Sie ein anderes
395 <code>--prefix</code> und einen anderen Port wählen (durch Anpassen der
396 <directive module="mpm_common">Listen</directive>-Direktive). So
397 können Sie auf eventuelle Inkompatibilitäten testen, bevor Sie
398 endgültig die neue Version verwenden.</note>