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: 239255:1296735 (outdated) -->
7 Licensed to the Apache Software Foundation (ASF) under one or more
8 contributor license agreements. See the NOTICE file distributed with
9 this work for additional information regarding copyright ownership.
10 The ASF licenses this file to You under the Apache License, Version 2.0
11 (the "License"); you may not use this file except in compliance with
12 the License. You may obtain a copy of the License at
14 http://www.apache.org/licenses/LICENSE-2.0
16 Unless required by applicable law or agreed to in writing, software
17 distributed under the License is distributed on an "AS IS" BASIS,
18 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 See the License for the specific language governing permissions and
20 limitations under the License.
23 <manualpage metafile="install.xml.meta">
25 <title>Kompilieren und Installieren</title>
28 <p>Dieses Dokument umfaßt nur die Kompilierung und Installation des
29 Apache auf Unix und Unix-ähnlichen Systemen. Für die
30 Kompilierung und Installation unter Windows lesen Sie bitte <a
31 href="platform/windows.html">Den Apache unter Microsoft Windows
32 betreiben</a>. Für andere Plattformen lesen Sie bitte die
33 Dokumentation <a href="platform/">Plattformen</a>.</p>
35 <p>Die Konfigurations- und Installationsumgebung des Apache 2.0 hat sich
36 seit dem Apache 1.3 komplett verändert. Der Apache 1.3 benutzt einen
37 speziellen Satz von Skripten, um eine einfache Installation zu
38 ermöglichen. Der Apache 2.0 dagegen verwendet nun
39 <code>libtool</code> und <code>autoconf</code>, um eine Umgebung zu
40 schaffen, die der vieler anderer Open Source Projekte ähnlich
43 <p>Wenn Sie von einer Unterversion auf die nächste aktualisieren (z.B.
44 von 2.0.50 auf 2.0.51), springen Sie bitte zum Abschnitt <a
45 href="#upgrading">Upgrade</a>.</p>
48 <seealso><a href="programs/configure.html">Den Quellcode konfigurieren</a></seealso>
49 <seealso><a href="invoking.html">Apache starten</a></seealso>
50 <seealso><a href="stopping.html">Beenden und Neustarten</a></seealso>
52 <section id="overview"><title>Überblick für die Ungeduldigen</title>
55 <columnspec><column width=".13"/><column width=".80"/></columnspec>
57 <td><a href="#download">Download</a></td>
59 <td><code>$ lynx http://httpd.apache.org/download.cgi</code>
64 <td><a href="#extract">Auspacken</a></td>
66 <td><code>$ gzip -d httpd-2_1_<em>NN</em>.tar.gz<br />
67 $ tar xvf httpd-2_1_<em>NN</em>.tar</code> </td>
71 <td><a href="#configure">Konfigurieren</a></td>
73 <td><code>$ ./configure --prefix=<em>PREFIX</em></code>
78 <td><a href="#compile">Kompilieren</a></td>
80 <td><code>$ make</code> </td>
84 <td><a href="#install">Installieren</a></td>
86 <td><code>$ make install</code> </td>
90 <td><a href="#customize">Anpassen</a></td>
92 <td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td>
96 <td><a href="#test">Testen</a></td>
98 <td><code>$ <em>PREFIX</em>/bin/apachectl start</code>
103 <p><em>NN</em> muss durch die Nummer der Unterversion ersetzt werden,
104 und <em>PREFIX</em> durch den Verzeichnispfad,
105 in dem der Server installiert werden soll. Wenn <em>PREFIX</em> nicht
106 angegeben ist, wird die Voreinstellung <code>/usr/local/apache2</code>
109 <p>Beginnend mit den Anforderungen
110 für die Kompilierung und Installation des Apache HTTPD ist
111 weiter unten jeder Abschnitt des Kompilierungs- und
112 Installationsvorganges genauer beschrieben.</p>
115 <section id="requirements"><title>Anforderungen</title>
117 <p>Folgende Anforderungen gelten für die Erstellung des
121 <dt>Plattenplatz</dt>
122 <dd>Stellen Sie sicher, dass Sie kurzzeitig wenigstens 50 MB freien
123 Festplattenplatz zur Verfügung haben. Nach der Installation
124 belegt der Apache ungefähr 10 MB Plattenplatz. Der
125 tatsächliche Platzbedarf variiert in Abhängigkeit von den
126 gewählten Konfigurationseinstellungen und
127 Modulen von Drittanbietern.</dd>
129 <dt>ANSI-C-Compiler und Generierungswerkzeuge</dt>
130 <dd>Stellen Sie sicher, dass Sie einen ANSI-C Compiler installiert
131 haben. Der <a href="http://www.gnu.org/software/gcc/gcc.html">GNU C
132 Compiler (GCC)</a> der <a href="http://www.gnu.org/">Free Software
133 Foundation (FSF)</a> ist empfehlenswert (Version 2.7.2 ist gut). Wenn
134 Sie den GCC nicht besitzen, stellen Sie zumindest sicher, dass der
135 Compiler Ihres Anbieters ANSI-kompatibel ist. Außerdem muss Ihr
136 <code>PATH</code> wesentliche Generierungswerkzeuge wie
137 <code>make</code> enthalten.</dd>
139 <dt>Zeitgenauigkeit bewahren</dt>
140 <dd>Elemente des HTTP-Protokolls werden in Form einer Tageszeit
141 ausgedrückt. Darum sollten Sie jetzt prüfen, ob Ihr System
142 die Fähigkeit zur Zeitsynchronisation besitzt, und diese
143 gegebenenfalls installieren. Üblicherweise werden hierfür
144 die Programme <code>ntpdate</code> oder <code>xntpd</code> verwendet,
145 die auf dem Network Time Protocol (NTP) basieren. Nähere
146 Informationen über NTP Software und öffentliche Zeitserver
147 finden Sie in der Usenet Newsgroup <a
148 href="news:comp.protocols.time.ntp">comp.protocols.time.ntp</a>
149 und auf der <a href="http://www.ntp.org">NTP
152 <dt><a href="http://www.perl.org/">Perl 5</a>
154 <dd>Für einige Hilfsskripte wie <program>apxs</program>
155 oder <program>dbmmanage</program> (die in Perl
156 geschrieben sind) wird der Perl 5 Interpreter benötigt (die
157 Versionen ab 5.003 sind ausreichend). Wenn Sie mehrere Perl
158 Interpreter haben (beispielsweise eine systemweite Installation von
159 Perl 4 und Ihre eigene Perl 5-Installation), dann sollten Sie die
160 <code>--with-perl</code>-Option (siehe unten) verwenden, um
161 sicherzustellen, dass der richtige Interpreter von
162 <program>configure</program> ausgewählt wird.
163 Wenn kein Perl 5-Interpreter vom <program>configure</program>-Skript
164 gefunden werden kann, können Sie die betroffenen Hilfsskripte nicht
165 verwenden, sind jedoch selbstverständlich nach wie vor in der Lage,
166 den Apache 2.0 zu bauen und zu installieren.</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 <program>configure</program> durchgeführt, das im Wurzelverzeichnis
219 der Distribution enthalten ist. (Entwickler, welche die CVS Version
220 des Apache-Codebaumes herunterladen, müssen <code>autoconf</code>
221 und <code>libtool</code> installiert haben und müssen
222 <code>buildconf</code> ausführen, bevor sie mit den
223 nächsten Schritten fortfahren können. Dies wird bei
224 offiziellen Releases nicht notwendig sein.)</p>
226 <p>Um den Codebaum mit den Standardeinstellungen zu konfigurieren,
227 geben Sie einfach <code>./configure</code> ein. Zur Änderung
228 dieser Voreinstellungen akzeptiert <program>configure</program> eine
229 Reihe von Variablen und Kommandozeilenoptionen.</p>
231 <p>Die wichtigste Option ist <code>--prefix</code>, der Ablageort, an dem
232 der Apache später installiert wird, da er für diesen Ort
233 konfiguriert werden muss, um korrekt zu arbeiten. Eine feinere Einstellung
234 der Dateiablagen ist mit weiteren <a
235 href="programs/configure.html#installationdirectories">configure-Optionen</a>
238 <p>Weiterhin können Sie zu diesem Zeitpunkt festlegen, welche <a
239 href="programs/configure.html#optionalfeatures">Funktionalität</a> Sie
240 in den Apache aufnehmen möchten, indem Sie <a href="mod/">Module</a>
241 aktivieren oder deaktivieren. Der Apache bindet standardmäßig
242 einen Satz von <a href="mod/module-dict.html#Status">Basismodulen</a> ein.
243 Andere Module werden mit Hilfe der Option
244 <code>--enable-<var>module</var></code> aktiviert, wobei <var>module</var>
245 den Namen des Moduls ohne das Präfix <code>mod_</code> darstellt.
246 Ausserdem sind alle Unterstriche durch Bindestriche zu ersetzen. Sie
247 können sich auch entscheiden, Module als "<a href="dso.html">Shared
248 Objects (DSOs)</a>" zu kompilieren, welche zur Laufzeit ge- und entladen
249 werden können. Dazu verwenden Sie die Option
250 <code>--enable-<var>module</var>=shared</code>. Entsprechend können Sie
251 Basismodule mit der Option <code>--disable-<var>module</var></code>
252 deaktivieren. Lassen Sie Vorsicht walten. wenn Sie diese Optionen verwenden,
253 da <program>configure</program> Sie nicht warnen kann, wenn die von Ihnen
254 angegebenen Module nicht existieren; die Option wird dann einfach
257 <p>Zusätzlich ist es zuweilen notwendig, das
258 <program>configure</program>-Skript mit Extrainformationen zum Ablageort
259 Ihres Compilers, Ihrer Bibliotheken oder Header-Dateien zu versorgen. Das
260 tun Sie, indem Sie entweder Umgebungsvariablen oder Kommandozeilenoptionen
261 an <program>configure</program> übergeben. Für mehr Informationen
262 lesen Sie bitte die Hilfeseite zu <program>configure</program>.</p>
264 <p>Um einen kurzen Eindruck zu gewinnen, welche Möglichkeiten Sie
265 haben, folgt hier ein typisches Beispiel, das den Apache mit einem
266 speziellen Compiler und Compilerflags für das
267 Installationsverzeichnis <code>/sk/pkg/apache</code> kompiliert, sowie
268 die beiden zusätzlichen Module <module>mod_rewrite</module> und
269 <module>mod_speling</module> für späteres Laden durch den
273 $ CC="pgcc" CFLAGS="-O2" \<br />
274 ./configure --prefix=/sw/pkg/apache \<br />
275 --enable-rewrite=shared \<br />
276 --enable-speling=shared
279 <p>Wenn <program>configure</program> startet, benötigt es mehrere
280 Minuten, um die Verfügbarkeit von Features auf Ihrem System zu
281 prüfen und ein Makefile zu generieren, das später zur
282 Kompilierung des Servers verwendet wird.</p>
284 <p>Einzelheiten zu den vielen verschiedenen <program>configure
285 </program>-Optionen finden Sie auf der Hilfeseite zu
286 <program>configure</program>.</p>
290 <section id="compile"><title>Erstellen</title>
292 <p>Nun können Sie die verschiedenen Teile, die das Apache-Paket
293 bilden, einfach durch Ausführen des folgenden Befehls erstellen:</p>
295 <example>$ make</example>
297 <p>Seien Sie hierbei bitte geduldig, denn eine Basiskonfiguration
298 benötigt ungefähr 3 Minuten auf einem Pentium III/Linux 2.2.
299 System. Dies kann aber abhängig von Ihrer Hardware und der Anzahl
300 der Module, die Sie aktiviert haben, sehr stark variieren.</p>
303 <section id="install"><title>Installieren</title>
305 <p>Nun endlich installieren Sie das Package unter dem konfigurierten
306 Installations-<em>PREFIX</em> (siehe oben: Option <code>--prefix</code>
307 durch Aufrufen von:</p>
309 <example>$ make install</example>
311 <p>Wenn Sie upgraden, wird die Installation Ihre Konfigurationsdateien
312 oder Dokumente nicht überschrieben.</p>
315 <section id="customize"><title>Anpassen</title>
317 <p>Als nächstes können Sie Ihren Apache HTTP Server anpassen,
318 indem Sie die <a href="configuring.html">Konfigurationsdateien</a>
319 unterhalb von <code><em>PREFIX</em>/conf/</code> editieren.</p>
321 <example>$ vi <em>PREFIX</em>/conf/httpd.conf</example>
323 <p>Werfen Sie auch einen Blick in das Apache-Handbuch unter <a
324 href="./">docs/manual/</a>. Die aktuellste Version dieses Handbuchs
325 sowie eine komplette Referenz der verfügbaren <a
326 href="mod/directives.html">Konfigurationsanweisungen</a> finden
327 Sie unter <a href="http://httpd.apache.org/docs/&httpd.docs;/"
328 >http://httpd.apache.org/docs/&httpd.docs;/</a>.</p>
331 <section id="test"><title>Testen</title>
333 <p>Sie können nun Ihren Apache HTTP Server <a
334 href="invoking.html">starten</a>, indem Sie einfach</p>
336 <example>$ <em>PREFIX</em>/bin/apachectl start</example>
338 <p>ausführen.</p>
340 <p>Danach sollten Sie Ihr erstes Dokument unter dem URL
341 <code>http://localhost/</code> anfordern können. Die Webseite,
342 die Sie sehen, ist im <directive module="core">DocumentRoot</directive>
343 abgelegt, welches üblicherweise <code><em>PREFIX</em>/htdocs/</code>
344 ist. Den Server <a href="stopping.html">stoppen</a> Sie wieder durch
345 Ausführen von:</p>
347 <example>$ <em>PREFIX</em>/bin/apachectl stop</example>
350 <section id="upgrading"><title>Upgrade</title>
352 <p>Der erste Schritt beim Aktualisieren besteht darin, die
353 Versionsankündigung sowie die <code>CHANGES</code>-Datei in der
354 Quelltextdistribution zu lesen, um Änderungen zu finden, die Ihr
355 System möglicherweise betreffen. Wenn Sie einen größeren
356 Versionssprung durchführen (z.B. vom 1.3 auf 2.0 oder von 2.0 auf
357 2.2), wird es wahrscheinlich auch größere Unterschiede in der
358 Kompilier- und Laufzeitkonfiguration geben, die manuelle Nacharbeiten
359 erfordern. Außerdem müssen alle Module aktualisiert
360 werden, um den Änderungen der Modul-API gerecht zu werden.</p>
362 <p>Die Aktualisierung einer Unterversion auf eine andere (z.B. von 2.0.55
363 auf 2.0.57) ist einfacher. <code>make install</code> überschreibt
364 keine der bereits existierenden Dokumente, Log- und Konfigurationsdateien.
365 Ausserdem bemühen sich die Entwickler, inkompatible Änderungen
366 der <program>configure</program>-Optionen, der Laufzeitkonfiguration sowie
367 der Modul-API zu vermeiden. In den meisten Fällen sollten Sie in der
368 Lage sein, den gleichen <program>configure</program>-Befehl, die gleiche
369 Konfiguration und die gleichen Module wieder zu verwenden. (Das gilt erst
370 seit Version 2.0.41 -- frühere Versionen enthielten noch inkompatible
371 Änderungen).</p>
373 <p>Um auf eine neue Unterversion zu aktualisieren, suchen Sie zunächst
374 die Datei <code>config.nice</code> im <code>build</code>-Verzeichnis
375 Ihrer Serverinstallation oder im Wurzelverzeichnis des Quelltextbaums
376 der alten Installation. Die Datei enthält den genauen
377 <program>configure</program>-Befehl, der verwendet wurde, um den
378 Quellcode zu konfigurieren. Um jetzt von einer Version auf die
379 nächste zu aktualisieren, kopieren Sie einfach die
380 <code>config.nice</code> in das Verzeichnis der neuen Version,
381 passen sie bei Bedarf an, und führen Sie sie aus:</p>
384 $ ./config.nice<br />
387 $ <var>PREFIX</var>/bin/apachectl stop<br />
388 $ <var>PREFIX</var>/bin/apachectl start<br />
391 <note type="warning">Sie sollten jede neue Version immer in Ihrer Umgebung
392 testen, bevor Sie sie produktiv schalten. Beispielsweise können Sie
393 die neue Version neben der alten installieren, indem Sie ein anderes
394 <code>--prefix</code> und einen anderen Port wählen (durch Anpassen der
395 <directive module="mpm_common">Listen</directive>-Direktive). So
396 können Sie auf eventuelle Inkompatibilitäten testen, bevor Sie
397 endgültig die neue Version verwenden.</note>