1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--><title>Kompilieren und Installieren - Apache HTTP Server</title><link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /><link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /><link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link href="./images/favicon.ico" rel="shortcut icon" /></head><body id="manual-page"><div id="page-header"><p class="menu"><a href="./mod/">Module</a> | <a href="./mod/directives.html">Direktiven</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossar</a> | <a href="./sitemap.html">Seitenindex</a></p><p class="apache">Apache HTTP Server Version 2.1</p><img alt="" src="./images/feather.gif" /></div><div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div><div id="path"><a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs-project/">Dokumentation</a> > <a href="./">Version 2.1</a></div><div id="page-content"><div id="preamble"><h1>Kompilieren und Installieren</h1>
<p>Dieses Dokument umfaßt nur die Kompilierung und Installation des
Apache auf Unix und Unix-ähnlichen Systemen. Für die
Kompilierung und Installation unter Windows lesen Sie bitte <a href="platform/windows.html">Den Apache unter Microsoft Windows
betreiben</a>. Für andere Plattformen lesen Sie bitte die
Dokumentation <a href="platform/">Plattformen</a>.</p>
<p>Die Konfigurations- und Installationsumgebung des Apache 2.0 hat sich
seit dem Apache 1.3 komplett verändert. Der Apache 1.3 benutzt einen
speziellen Satz von Skripten, um eine einfache Installation zu
ermöglichen. Der Apache 2.0 dagegen verwendet nun
<code>libtool</code> und <code>autoconf</code>, um eine Umgebung zu
schaffen, die der vieler anderer Open Source Projekte ähnlich
sieht.</p>
</div><div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#overview">Überblick für die Ungeduldigen</a></li><li><img alt="" src="./images/down.gif" /> <a href="#requirements">Anforderungen</a></li><li><img alt="" src="./images/down.gif" /> <a href="#download">Download</a></li><li><img alt="" src="./images/down.gif" /> <a href="#extract">Auspacken</a></li><li><img alt="" src="./images/down.gif" /> <a href="#configure">Den Codebaum konfigurieren</a></li><li><img alt="" src="./images/down.gif" /> <a href="#compile">Erstellen</a></li><li><img alt="" src="./images/down.gif" /> <a href="#install">Installieren</a></li><li><img alt="" src="./images/down.gif" /> <a href="#customize">Anpassen</a></li><li><img alt="" src="./images/down.gif" /> <a href="#test">Testen</a></li></ul><h3>Siehe auch</h3><ul class="seealso"><li><a href="invoking.html">Starten</a></li><li><a href="stopping.html">Stoppen oder Neustarten</a></li></ul></div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="overview" id="overview">Überblick für die Ungeduldigen</a></h2>
<table>
<tr>
<td><a href="#download">Download</a></td>
<td><code>$ lynx
http://www.apache.org/dist/httpd/httpd-2_0_<em>NN</em>.tar.gz</code>
</td>
</tr>
<tr>
<td><a href="#extract">Auspacken</a></td>
<td><code>$ gzip -d httpd-2_0_<em>NN</em>.tar.gz<br />
$ tar xvf httpd-2_0_<em>NN</em>.tar</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 start</code>
</td>
</tr>
</table>
<p><em>NN</em> muss durch die Nummer der Unterversion 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 HTTPD ist
weiter unten jeder Abschnitt des Kompilierungs- und
Installationsvorganges genauer beschrieben.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="requirements" id="requirements">Anforderungen</a></h2>
<p>Folgende Anforderungen gelten für die Erstellung des
Apache:</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 (Version 2.7.2 ist gut). 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 in der Usenet Newsgroup <a href="news:comp.protocols.time.ntp">comp.protocols.time.ntp</a>
und auf der <a href="http://www.eecis.udel.edu/~ntp/">NTP
Homepage</a>.</dd>
<dt><a href="http://www.perl.org/">Perl 5</a>
[OPTIONAL]</dt>
<dd>Für einige Pflegeprogramme wie <a href="programs/apxs.html">apxs</a>
oder <a href="programs/dbmmanage.html">dbmmanage</a> (die in Perl
geschrieben sind) wird der Perl 5 Interpreter benötigt (die
Versionen ab 5.003 sind ausreichend). Wenn kein derartiger Interpreter
vom '<code>configure</code>'-Skript gefunden werden kann, macht das
jedoch nichts. Selbstverständlich können Sie den Apache 2.0
auch so generieren und installieren. Lediglich diese Pflegeskripte
können dann nicht verwendet werden. Wenn Sie mehrere Perl
Interpreter installiert haben (vielleicht Perl 4 durch Ihren
Händler und Perl 5 durch Sie selbst), dann ist die Verwendung der
<code>--with-perl</code> Option (siehe unten) empfehlenswert, um
sicherzustellen, dass der richtige Interpreter von
<code>./configure</code> ausgewählt wird.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="download" id="download">Download</a></h2>
<p>Der Apache kann von der <a href="http://www.apache.org/dist/httpd/">Apache Software
Foundation Downloadseite</a> oder von einem <a href="http://www.apache.org/dyn/closer.cgi">nahegelegenen
Mirror</a> heruntergeladen werden.</p>
<p>Versionsnummern, die auf <code>alpha</code> enden, zeigen
frühe Entwicklungsversionen an, die möglicherweise nicht
funktionieren. Versionsnummern, die auf <code>beta</code> enden,
zeigen verläßlichere Ausgaben an, die jedoch noch weitere
Tests oder Bugfixes benötigen. Wenn Sie die beste verfügbare
Produktivversion des Apache HTTP Servers herunterladen wollen, sollten
Sie die letzte Version wählen, die weder <code>alpha</code>,
noch <code>beta</code> in ihrem Dateinamen enthält.</p>
<p>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 <code>KEYS</code>-Datei von der <a href="http://www.apache.org/dist/httpd/">Apache Distributionsseite</a>
beziehen. (Um sicherzustellen, dass die <code>KEYS</code>-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:</p>
<div class="example"><p><code>$ pgp < KEYS</code></p></div>
<p>oder </p>
<div class="example"><p><code>$ gpg --import KEYS</code></p></div>
<p>Der nächste Schritt ist das Testen des Tarballs gegen
die PGP-Signatur, die immer von der <a href="http://www.apache.org/dist/httpd/">Apache Originalseite</a>
bezogen werden sollte. Die Signaturdatei hat den gleichen Dateinamen
wie der Tarball, aber zusätzlich die Endung <code>.asc</code>. Nun
können Sie die Distribution mit einem der folgenden Befehle
(wiederum abhängig von Ihrer PGP Version) prüfen:</p>
<div class="example"><p><code>$ pgp httpd-2_0_<em>NN</em>.tar.gz.asc</code></p></div>
<p>oder</p>
<div class="example"><p><code>$ gpg --verify httpd-2_0_<em>NN</em>.tar.gz.asc</code></p></div>
<p>Sie sollten eine Meldung wie</p>
<div class="example"><p><code>Good signature from user "Martin Kraemer
<martin@apache.org>".</code></p></div>
<p>erhalten.</p>
<p>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 <code>KEYS</code>-Datei
vertrauen, ist dies kein Problem.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="extract" id="extract">Auspacken</a></h2>
<p>Das Auspacken des Quellcodes aus dem Apache HTTPD Tarball besteht
aus einem simplen Dekomprimieren und danach "Ent-tarren":</p>
<div class="example"><p><code>
$ gzip -d httpd-2_0_<em>NN</em>.tar.gz<br />
$ tar xvf httpd-2_0_<em>NN</em>.tar
</code></p></div>
<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>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="configure" id="configure">Den Codebaum konfigurieren</a></h2>
<p>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
<code>configure</code> durchgeführt, das im Wurzelverzeichnis
der Distribution enthalten ist. (Entwickler, welche die CVS Version
des Apache-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 <code>configure</code> eine
Reihe von Variablen und Kommandozeilenoptionen. Umgebungsvariablen
werden üblicherweise vor den <code>./configure</code>-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.</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 <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> und
<code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> für späteres Laden durch den
DSO-Mechanismus:</p>
<div class="example"><p><code>
$ CC="pgcc" CFLAGS="-O2" \<br />
./configure --prefix=/sw/pkg/apache \<br />
--enable-rewrite=shared \<br />
--enable-speling=shared
</code></p></div>
<p>Wenn <code>configure</code> 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>Die einfachste Art und Weise, alle Konfigurationsflags für den
Apache herauszufinden, ist, <code>./configure --help</code> aufzurufen.
Hier folgt eine kurze Beschreibung der meisten Argumente und
Umgebungsvariablen.</p>
<h3><a name="environment" id="environment">Umgebungsvariablen</a></h3>
<p>Der <code>autoconf</code>-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
<code>configure</code> im Environment gesetzt werden, doch es ist
üblicherweise einfacher, sie in der
<code>configure</code>-Befehlszeile, wie im obigen Beispiel gezeigt,
anzugeben.</p>
<dl>
<dt><code>CC=...</code></dt>
<dd>Der Name des C-Compiler-Kommandos.</dd>
<dt><code>CPPFLAGS=...</code></dt>
<dd>Verschiedene C-Präprozessor- und Compileroptionen.</dd>
<dt><code>CFLAGS=...</code></dt>
<dd>Debug- und Optimierungsoptionen für den C-Compiler.</dd>
<dt><code>LDFLAGS=...</code></dt>
<dd>Verschiedene Optionen, die an den Linker durchgereicht
werden.</dd>
<dt><code>LIBS=...</code></dt>
<dd>Informationen über den Ablageort von Libraries
("<code>-L</code>" und "<code>-l</code>" Optionen), die
an den Linker durchgereicht werden.</dd>
<dt><code>INCLUDES=...</code></dt>
<dd>Suchverzeichnisse für Header-Dateien
("<code>-I<em>Verzeichnis</em></code>").</dd>
<dt><code>TARGET=...</code> [Default: <code>apache</code>]</dt>
<dd>Name der lauffähigen Datei, die erstellt wird.</dd>
<dt><code>NOTEST_CPPFLAGS=...</code></dt>
<dt><code>NOTEST_CFLAGS=...</code></dt>
<dt><code>NOTEST_LDFLAGS=...</code></dt>
<dt><code>NOTEST_LIBS=...</code></dt>
<dd>Diese Variablen haben die gleiche Funktion wie ihre
Namensvettern ohne <code>NOTEST</code>. 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.</dd>
<dt><code>SHLIB_PATH=...</code></dt>
<dd>Eine Option, die den Pfad zu Libraries angibt, welche sich
Compiler und Linker teilen.</dd>
</dl>
<h3><a name="output" id="output">autoconf Ausgabeoptionen</a></h3>
<dl>
<dt><code>--help</code></dt>
<dd>Gibt die Nutzungsinformationen einschließlich aller
verfügbaren Optionen aus, ohne jedoch tatsächlich etwas zu
konfigurieren.</dd>
<dt><code>--quiet</code></dt>
<dd>Verhindert die Ausgabe der üblichen "<code>checking...</code>"
Nachrichten.</dd>
<dt><code>--verbose</code></dt>
<dd>Gibt während des Konfigurationsprozesses weitergehende
Informationen aus, einschließlich der Namen aller untersuchter
Dateien.</dd>
</dl>
<h3><a name="pathnames" id="pathnames">Pfadangaben</a></h3>
<p>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.</p>
<dl>
<dt><code>--prefix=<em>PREFIX</em></code> [Default:
<code>/usr/local/apache2</code>]</dt>
<dd>Gibt das Verzeichnis an, in dem die Apache-Dateien
installiert werden.</dd>
</dl>
<p>Es ist möglich, anzugeben, dass Architektur-abhängige
Dateien in einem anderen Verzeichnis abgelegt werden sollen.</p>
<dl>
<dt><code>--exec-prefix=<em>EPREFIX</em></code> [Default:
<code><em>PREFIX</em></code>]</dt>
<dd>Gibt das Verzeichnis an, in dem Architektur-abhängige Dateien
abgelegt werden.</dd>
</dl>
<p>Die zweite und flexiblere Weise, den Installationspfad für den
Apache einzustellen, ist die Verwendung der Datei
<code>config.layout</code>. Wenn Sie diese Methode benutzen, können
Sie den Ablageort für jeden Dateityp innerhalb der
Apache-Installation separat angeben. Die Datei
<code>config.layout</code> 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 <code><Layout
FOO>...</Layout></code>-Abschnitte und
werden mit Namen wie <code>FOO</code> bezeichnet.</p>
<dl>
<dt><code>--enable-layout=<em>LAYOUT</em></code></dt>
<dd>Verwendet das genannte Layout aus der Datei
<code>config.layout</code>, um die Installationspfade genau
anzugeben.</dd>
</dl>
<h3><a name="modules" id="modules">Module</a></h3>
<p>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
<a href="mod/">Liste von Modulen</a> ist in dieser
Dokumentation enthalten. Module mit dem <a href="mod/module-dict.html#Status">Status</a> "Base"
sind standardmäßig enthalten und müssen ausdrücklich
deaktiviert werden (z.B. <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>), wenn Sie sie
nicht verwenden möchten. Module mit einem anderen Status (z.B.
<code class="module"><a href="./mod/mod_expires.html">mod_expires</a></code>) müssen ausdrücklich aktiviert
werden, wenn Sie sie verwenden möchten.</p>
<p>Es gibt zwei Möglichkeiten, Module zu kompilieren und mit dem
Apache zu benutzen. Module können <em>statisch kompiliert</em>
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 <code>autoconf</code> diese Unterstützung
erkennen kann, dann können Module alternativ <em>dynamisch
kompiliert</em> werden. DSO-Module werden von der Apache Binary getrennt
gespeichert und können vom Server unter Verwendung der Direktiven
zur Laufzeitkonfiguration, die von <code class="module"><a href="./mod/mod_so.html">mod_so</a></code>
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
<code>--enable-so</code> angeben.</p>
<dl>
<dt><code>--enable-<em>MODULE</em>[=shared]</code></dt>
<dd>Kompiliert das Modul <em>MODUL</em> und bindet es ein.
Das Kennzeichen <em>MODUL</em> ist der <a href="mod/module-dict.html#ModuleIdentifier">Modul-Bezeichner</a>
aus der Dokumentation zum jeweiligen Modul, jedoch ohne den
Namensteil "_module". Um ein Modul als DSO zu kompilieren,
fügen Sie die Option <code>=shared</code> hinzu.</dd>
<dt><code>--disable-<em>MODULE</em></code></dt>
<dd>Entfernt das Modul <em>MODUL</em>, das andernfalls
kompiliert und eingebunden werden würde.</dd>
<dt><code>--enable-modules=<em>MODUL-LISTE</em></code></dt>
<dd>Kompiliert die durch Leerzeichen getrennte Liste
<em>MODUL-LISTE</em> von Modulen und bindet sie ein.</dd>
<dt><code>--enable-mods-shared=<em>MODUL-LISTE</em></code></dt>
<dd>Kompiliert die durch Leerzeichen getrennte Liste
<em>MODUL-LISTE</em> von Modulen als dynamisch ladbare (DSO)
Module und bindet sie ein.</dd>
</dl>
<p>Die <em>MODUL-LISTE</em> in den Optionen
<code>--enable-modules</code> und <code>--enable-mods-shared</code>
ist üblicherweise eine durch Leerzeichen getrennte Liste von
Modul-Bezeichnern. Zum Beispiel können zum Aktivieren von
<code class="module"><a href="./mod/mod_dav.html">mod_dav</a></code> und <code class="module"><a href="./mod/mod_info.html">mod_info</a></code> beide
benutzt werden, sowohl</p>
<div class="example"><p><code>./configure --enable-dav --enable-info</code></p></div>
<p>oder äquivalent</p>
<div class="example"><p><code>./configure --enable-modules="dav info"</code></p></div>
<p>Zusätzlich können die speziellen Schlüsselwörter
<code>all</code> oder <code>most</code> 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
<code>--disable-<em>MODUL</em></code> entfernen. Um beispielsweise alle
Module mit Ausnahme von <code class="module"><a href="./mod/mod_info.html">mod_info</a></code> als DSOs einzubinden,
können Sie</p>
<div class="example"><p><code>
./configure --enable-mods-shared=all
--disable-info
</code></p></div>
<p>verwenden.</p>
<p>Zusätzlich zum Standard-Set von Modulen fügt der Apache 2.0
auch eine Auswahl von <a href="mpm.html">Multi-Processing Modulen</a>
(MPMs) ein. Ein, und nur ein einziges, MPM muss in den
Kompilierungsprozess eingebunden werden. Das voreingestellte MPM jeder
Plattform ist in der <a href="mpm.html">MPM Dokumentation</a>
aufgeführt, kann jedoch mit der <code>configure</code>-Kommandozeile
überschrieben werden.</p>
<dl>
<dt><code>--with-mpm=<em>NAME</em></code></dt>
<dd>Wählt das MPM <em>NAME</em>.</dd>
</dl>
<h3><a name="dbm" id="dbm">DBM</a></h3>
<p>Verschiedene Apache-Features, darunter <code class="module"><a href="./mod/mod_authn_dbm.html">mod_authn_dbm</a></code>
und DBM <code class="directive"><a href="./mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> aus
<code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>, 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
<code>configure</code>-Optionen dazu verwenden:</p>
<dl>
<dt><code>--with-gdbm[=<em>Pfad</em>]</code></dt>
<dt><code>--with-ndbm[=<em>Pfad</em>]</code></dt>
<dt><code>--with-berkeley-db[=<em>Pfad</em>]</code></dt>
<dd>Wenn kein <em>Pfad</em> angegeben ist, sucht der Apache in den
normalen Suchpfaden nach den Include- und Bibliothek-Dateien. Eine
explizite <em>Pfad</em>-Angabe veranlasst den Apache, in
<em>Pfad</em><code>/lib</code> und <em>Pfad</em><code>/include</code>
nach relevanten Dateien zu suchen. Letztlich kann <em>Pfad</em>
auch die speziellen Include- und Bibliothek-Pfade durch Doppelpunkt
getrennt auflisten.</dd>
</dl>
<h3><a name="suexec" id="suexec">Suexec</a></h3>
<p>Der Apache enthält ein Hilfsprogramm namens <a href="suexec.html">suexec</a>, das zur Isolation benutzereigener
CGI-Programme verwendet werden kann. Wenn suexec jedoch
unsachgemäß konfiguriert wurde, kann es schwere
Sicherheitsprobleme verursachen. Deshalb sollten Sie die
<a href="suexec.html">suexec Dokumentation</a> sorgfältig lesen
und beachten, bevor Sie dieses Feature implementieren.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="compile" id="compile">Erstellen</a></h2>
<p>Nun können Sie die verschiedenen Teile, die das Apache-Paket
bilden, einfach durch Ausführen des folgenden Befehls erstellen:</p>
<div class="example"><p><code>$ make</code></p></div>
<p>Seien Sie hierbei bitte geduldig, denn eine Basiskonfiguration
benötigt ungefähr 3 Minuten auf einem Pentium III/Linux 2.2.
System. Dies kann aber abhängig von Ihrer Hardware und der Anzahl
der Module, die Sie aktiviert haben, sehr stark variieren.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="install" id="install">Installieren</a></h2>
<p>Nun endlich installieren Sie das Package unter dem konfigurierten
Installations-<em>PREFIX</em> (siehe oben: Option <code>--prefix</code>
durch Aufrufen von:</p>
<div class="example"><p><code>$ make install</code></p></div>
<p>Wenn Sie upgraden, wird die Installation Ihre Konfigurationsdateien
oder Dokumente nicht überschrieben.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="customize" id="customize">Anpassen</a></h2>
<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>
<div class="example"><p><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code></p></div>
<p>Werfen Sie auch einen Blick in das Apache-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-2.0/">http://httpd.apache.org/docs-2.0/</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="test" id="test">Testen</a></h2>
<p>Sie können nun Ihren Apache HTTP Server <a href="invoking.html">starten</a>, indem Sie einfach</p>
<div class="example"><p><code>$ <em>PREFIX</em>/bin/apachectl start</code></p></div>
<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 <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
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>
<div class="example"><p><code>$ <em>PREFIX</em>/bin/apachectl stop</code></p></div>
</div></div><div id="footer"><p class="apache">Gepflegt durch das <a href="http://httpd.apache.org/docs-project/">Apache HTTP Server Documentation Project</a></p><p class="menu"><a href="./mod/">Module</a> | <a href="./mod/directives.html">Direktiven</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossar</a> | <a href="./sitemap.html">Seitenindex</a></p></div></body></html>
|