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: 106851 -->
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 Hilfsskripte wie <program>apxs</program>
154 oder <program>dbmmanage</program> (die in Perl
155 geschrieben sind) wird der Perl 5 Interpreter benötigt (die
156 Versionen ab 5.003 sind ausreichend). Wenn kein derartiger Interpreter
157 vom <program>configure</program>-Skript gefunden werden kann, macht das
158 jedoch nichts. Selbstverständlich können Sie den Apache 2.0
159 auch so generieren und installieren. Lediglich diese Pflegeskripte
160 können dann nicht verwendet werden. Wenn Sie mehrere Perl
161 Interpreter installiert haben (vielleicht Perl 4 durch Ihren
162 Händler und Perl 5 durch Sie selbst), dann ist die Verwendung der
163 <code>--with-perl</code> Option (siehe unten) empfehlenswert, um
164 sicherzustellen, dass der richtige Interpreter von
165 <program>configure</program> ausgewählt wird.</dd>
169 <section id="download"><title>Download</title>
171 <p>Der Apache kann von der <a
172 href="http://httpd.apache.org/download.cgi">Apache HTTP Server
173 Downloadseite</a> heruntergeladen werden, auf der verschiedene Spiegelserver
174 angegeben sind. Für die meisten Benutzer des Apache ist es auf
175 Unix-ähnlichen Systemen am Besten, die Quellcodeversion herunterzuladen
176 und zu kompilieren. Der Erstellungsprozess (weiter unten beschrieben) ist
177 einfach und erlaubt es Ihnen, den Server Ihren Bedürfnissen anzupassen.
178 Dazu kommt, dass Binärdistributionen gegenüber der aktuellen
179 Quellcodeversion oft veraltet sind. Wenn Sie tatsächlich ein
180 Binärpaket herunterladen, folgen Sie bitte den Anweisungen in der Datei
181 <code>INSTALL.bindist</code>, die der Distribution beiliegt.</p>
183 <p>Es ist wichtig, dass Sie nach dem Herunterladen überprüfen,
184 dass es sich um einer vollständige und unveränderte Version des
185 Apache HTTP Servers handelt. Das können Sie erreichen, indem Sie das
186 heruntergeladene Paket gegen die PGP-Signatur prüfen. Einzelheiten dazu
187 erfahren Sie auf der <a
188 href="http://httpd.apache.org/download.cgi#verify">Download-Seite</a>. Es
189 ist auch ein erweitertes Beispiel verfügbar, dass die <a
190 href="http://httpd.apache.org/dev/verification.html">Anwendung von PGP</a>
195 <section id="extract"><title>Auspacken</title>
197 <p>Das Auspacken des Quellcodes aus dem Apache HTTPD Tarball besteht
198 aus einem simplen Dekomprimieren und danach "Ent-tarren":</p>
201 $ gzip -d httpd-2_1_<em>NN</em>.tar.gz<br />
202 $ tar xvf httpd-2_1_<em>NN</em>.tar
205 <p>Dies erstellt unterhalb des aktuellen Verzeichnisses ein neues
206 Verzeichnis, das den Quellcode für die Distribution enthält.
207 Sie sollten mit <code>cd</code> in dieses Verzeichnis wechseln,
208 bevor Sie mit der Kompilierung des Servers weitermachen. </p>
212 <section id="configure"><title>Den Codebaum konfigurieren</title>
214 <p>Der nächste Schritt ist die Konfiguration des
215 Apache-Codebaumes für Ihre spezielle Plattform und Ihre
216 persönlichen Bedürfnisse. Dies wird mit dem Skript
217 <program>configure</program> durchgeführt, das im Wurzelverzeichnis
218 der Distribution enthalten ist. (Entwickler, welche die CVS Version
219 des Apache-Codebaumes herunterladen, müssen <code>autoconf</code>
220 und <code>libtool</code> installiert haben und müssen
221 <code>buildconf</code> ausführen, bevor sie mit den
222 nächsten Schritten fortfahren können. Dies wird bei
223 offiziellen Releases nicht notwendig sein.)</p>
225 <p>Um den Codebaum mit den Standardeinstellungen zu konfigurieren,
226 geben Sie einfach <code>./configure</code> ein. Zur Änderung
227 dieser Voreinstellungen akzeptiert <program>configure</program> eine
228 Reihe von Variablen und Kommandozeilenoptionen.</p>
230 <p>Die wichtigste Option ist <code>--prefix</code>, der Ablageort, an dem
231 der Apache später installiert wird, da er für diesen Ort
232 konfiguriert werden muss, um korrekt zu arbeiten. Eine feinere Einstellung
233 der Dateiablagen ist mit weiteren <a
234 href="programs/configure.html#installationdirectories">configure-Optionen</a>
237 <p>Weiterhin können Sie zu diesem Zeitpunkt festlegen, welche <a
238 href="programs/configure.html#optionalfeatures">Funktionalität</a> Sie
239 in den Apache aufnehmen möchten, indem Sie <a href="mod/">Module</a>
240 aktivieren oder deaktivieren. Der Apache bindet standardmäßig
241 einen Satz von <a href="mod/module-dict.html#Status">Basismodulen</a> ein.
242 Andere Module werden mit Hilfe der Option
243 <code>--enable-<var>module</var></code> aktiviert, wobei <var>module</var>
244 den Namen des Moduls ohne das Präfix <code>mod_</code> darstellt.
245 Ausserdem sind alle Unterstriche durch Bindestriche zu ersetzen. Sie
246 können sich auch entscheiden, Module als "<a href="dso.html">Shared
247 Objects (DSOs)</a>" zu kompilieren, welche zur Laufzeit ge- und entladen
248 werden können. Dazu verwenden Sie die Option
249 <code>--enable-<var>module</var>=shared</code>. Entsprechend können Sie
250 Basismodule mit der Option <code>--disable-<var>module</var></code>
251 deaktivieren. Lassen Sie Vorsicht walten. wenn Sie diese Optionen verwenden,
252 da <program>configure</program> Sie nicht warnen kann, wenn die von Ihnen
253 angegebenen Module nicht existieren; die Option wird dann einfach
256 <p>Zusätzlich ist es zuweilen notwendig, das
257 <program>configure</program>-Skript mit Extrainformationen zum Ablageort
258 Ihres Compilers, Ihrer Bibliotheken oder Header-Dateien zu versorgen. Das
259 tun Sie, indem Sie entweder Umgebungsvariablen oder Kommandozeilenoptionen
260 an <program>configure</program> übergeben. Für mehr Informationen
261 lesen Sie bitte die Hilfeseite zu <program>configure</program>.</p>
263 <p>Um einen kurzen Eindruck zu gewinnen, welche Möglichkeiten Sie
264 haben, folgt hier ein typisches Beispiel, das den Apache mit einem
265 speziellen Compiler und Compilerflags für das
266 Installationsverzeichnis <code>/sk/pkg/apache</code> kompiliert, sowie
267 die beiden zusätzlichen Module <module>mod_rewrite</module> und
268 <module>mod_speling</module> für späteres Laden durch den
272 $ CC="pgcc" CFLAGS="-O2" \<br />
273 ./configure --prefix=/sw/pkg/apache \<br />
274 --enable-rewrite=shared \<br />
275 --enable-speling=shared
278 <p>Wenn <program>configure</program> startet, benötigt es mehrere
279 Minuten, um die Verfügbarkeit von Features auf Ihrem System zu
280 prüfen und ein Makefile zu generieren, das später zur
281 Kompilierung des Servers verwendet wird.</p>
283 <p>Einzelheiten zu den vielen verschiedenen <program>configure
284 </program>-Optionen finden Sie auf der Hilfeseite zu
285 <program>configure</program>.</p>
289 <section id="compile"><title>Erstellen</title>
291 <p>Nun können Sie die verschiedenen Teile, die das Apache-Paket
292 bilden, einfach durch Ausführen des folgenden Befehls erstellen:</p>
294 <example>$ make</example>
296 <p>Seien Sie hierbei bitte geduldig, denn eine Basiskonfiguration
297 benötigt ungefähr 3 Minuten auf einem Pentium III/Linux 2.2.
298 System. Dies kann aber abhängig von Ihrer Hardware und der Anzahl
299 der Module, die Sie aktiviert haben, sehr stark variieren.</p>
302 <section id="install"><title>Installieren</title>
304 <p>Nun endlich installieren Sie das Package unter dem konfigurierten
305 Installations-<em>PREFIX</em> (siehe oben: Option <code>--prefix</code>
306 durch Aufrufen von:</p>
308 <example>$ make install</example>
310 <p>Wenn Sie upgraden, wird die Installation Ihre Konfigurationsdateien
311 oder Dokumente nicht überschrieben.</p>
314 <section id="customize"><title>Anpassen</title>
316 <p>Als nächstes können Sie Ihren Apache HTTP Server anpassen,
317 indem Sie die <a href="configuring.html">Konfigurationsdateien</a>
318 unterhalb von <code><em>PREFIX</em>/conf/</code> editieren.</p>
320 <example>$ vi <em>PREFIX</em>/conf/httpd.conf</example>
322 <p>Werfen Sie auch einen Blick in das Apache-Handbuch unter <a
323 href="./">docs/manual/</a>. Die aktuellste Version dieses Handbuchs
324 sowie eine komplette Referenz der verfügbaren <a
325 href="mod/directives.html">Konfigurationsanweisungen</a> finden
326 Sie unter <a href="http://httpd.apache.org/docs-2.1/"
327 >http://httpd.apache.org/docs-2.1/</a>.</p>
330 <section id="test"><title>Testen</title>
332 <p>Sie können nun Ihren Apache HTTP Server <a
333 href="invoking.html">starten</a>, indem Sie einfach</p>
335 <example>$ <em>PREFIX</em>/bin/apachectl start</example>
337 <p>ausführen.</p>
339 <p>Danach sollten Sie Ihr erstes Dokument unter dem URL
340 <code>http://localhost/</code> anfordern können. Die Webseite,
341 die Sie sehen, ist im <directive module="core">DocumentRoot</directive>
342 abgelegt, welches üblicherweise <code><em>PREFIX</em>/htdocs/</code>
343 ist. Den Server <a href="stopping.html">stoppen</a> Sie wieder durch
344 Ausführen von:</p>
346 <example>$ <em>PREFIX</em>/bin/apachectl stop</example>
349 <section id="upgrading"><title>Upgrade</title>
351 <p>Der erste Schritt beim Aktualisieren besteht darin, die
352 Versionsankündigung sowie die <code>CHANGES</code>-Datei in der
353 Quelltextdistribution zu lesen, um Änderungen zu finden, die Ihr
354 System möglicherweise betreffen. Wenn Sie einen größeren
355 Versionssprung durchführen (z.B. vom 1.3 auf 2.0 oder von 2.0 auf
356 2.2), wird es wahrscheinlich auch größere Unterschiede in der
357 Kompilier- und Laufzeitkonfiguration geben, die manuelle Nacharbeiten
358 erfordern. Außerdem müssen alle Module aktualisiert
359 werden, um den Änderungen der Modul-API gerecht zu werden.</p>
361 <p>Die Aktualisierung einer Unterversion auf eine andere (z.B. von 2.0.55
362 auf 2.0.57) ist einfacher. <code>make install</code> überschreibt
363 keine der bereits existierenden Dokumente, Log- und Konfigurationsdateien.
364 Ausserdem bemühen sich die Entwickler, inkompatible Änderungen
365 der <program>configure</program>-Optionen, der Laufzeitkonfiguration sowie
366 der Modul-API zu vermeiden. In den meisten Fällen sollten Sie in der
367 Lage sein, den gleichen <program>configure</program>-Befehl, die gleiche
368 Konfiguration und die gleichen Module wieder zu verwenden. (Das gilt erst
369 seit Version 2.0.41 -- frühere Versionen enthielten noch inkompatible
370 Änderungen).</p>
372 <p>Wenn Sie den Quellcode von Ihrer letzten Installation aufgehoben haben,
373 ist ein Upgrade sogar noch einfacher. Die Datei <code>config.nice</code> im
374 Wurzelverzeichnis des alten Quelltextbaums enthält den genauen
375 <program>configure</program>-Befehl, der verwendet wurde, um den Quellcode
376 zu konfigurieren. Um jetzt von einer Version auf die nächste zu
377 aktualisieren, kopieren Sie einfach die <code>config.nice</code> in das
378 Verzeichnis der neuen Version, passen sie bei Bedarf an, und
379 führen Sie sie aus:</p>
382 $ ./config.nice<br />
385 $ <var>PREFIX</var>/bin/apachectl stop<br />
386 $ <var>PREFIX</var>/bin/apachectl start<br />
389 <note type="warning">Sie sollten jede neue Version immer in Ihrer Umgebung
390 testen, bevor Sie sie produktiv schalten. Beispielsweise können Sie
391 die neue Version neben der alten installieren, indem Sie ein anderes
392 <code>--prefix</code> und einen anderen Port wählen (durch Anpassen der
393 <directive module="mpm_common">Listen</directive>-Direktive). So
394 können Sie auf eventuelle Inkompatibilitäten testen, bevor Sie
395 endgültig die neue Version verwenden.</note>