2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.de.xsl"?>
4 <!-- English Revision: 344972:1740846 (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 <modulesynopsis metafile="core.xml.meta">
26 <description>Ständig verfügbare Kernfunktionen des Apache HTTP
31 <name>AcceptFilter</name>
32 <description>Konfiguriert Optimierungen für lauschende Sockets bestimmter
33 Protokolle</description>
34 <syntax>AcceptFilter <var>Protokoll</var> <var>Filter</var></syntax>
35 <contextlist><context>server config</context></contextlist>
36 <compatibility>Verfügbar ab Apache 2.1.5</compatibility>
39 <p>Diese Direktive aktiviert betriebssystemspezifische Optimierungen
40 für lauschende Sockets anhand des Protokolltyps. Der grundlegende
41 Ansatz ist, dass der Kernel das Socket nicht an den Serverprozess
42 übergibt, bis entweder Daten verfügbar sind oder eine komplette
43 HTTP-Anfrage zwischengespeichert wurde. Derzeit werden
44 ausschließlich die <a
45 href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&sektion=9"
46 >Accept-Filter von FreeBSD</a> und das primitivere
47 <code>TCP_DEFER_ACCEPT</code> von Linux unterstützt.</p>
49 <p>Die Standardeinstellungen für FreeBSD sind:</p>
51 AcceptFilter http httpready<br />
52 AcceptFilter https dataready
55 <p>Der <code>httpready</code>-Accept-Filter puffert komplette
56 HTTP-Anfragen auf Kernelebene. Sobald eine Anfrage vollständig
57 vorliegt, schickt der Kernel sie an den Server weiter. Bitte schlagen Sie
59 href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&sektion=9"
60 >accf_http(9)</a>-Manpage für weitere Details nach. HTTPS-Anfragen
61 sind verschlüsselt. Daher wird dafür nur der <a
62 href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&sektion=9"
63 >accf_data(9)</a>-Filter verwendet.</p>
65 <p>Die Standardeinstellungen für Linux sind:</p>
67 AcceptFilter http data<br />
68 AcceptFilter https data
71 <p><code>TCP_DEFER_ACCEPT</code> unter Linux unterstützt keine
72 Zwischenspeicherung von HTTP-Anfragen. Jeder andere Wert als
73 <code>none</code> aktiviert <code>TCP_DEFER_ACCEPT</code> auf dem
74 Lauschsocket. Mehr Details finden Sie in der <a
75 href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/tcp.7.html"
76 >tcp(7)</a>-Manpage von Linux.</p>
78 <p>Wenn Sie <code>none</code> als Argument verwenden, werden alle
79 Accept-Filter für das Protokoll abgeschaltet. Das ist sinnvoll
80 für Protokolle, bei denen der Server zuerst Daten senden muss,
81 wie zum Beispiel <code>nntp</code>:</p>
82 <example>AcceptFilter nttp none</example>
88 <name>AcceptPathInfo</name>
89 <description>Ressourcen lassen angehängte Pfadangaben zu</description>
90 <syntax>AcceptPathInfo On|Off|Default</syntax>
91 <default>AcceptPathInfo Default</default>
92 <contextlist><context>server config</context>
93 <context>virtual host</context><context>directory</context>
94 <context>.htaccess</context></contextlist>
95 <override>FileInfo</override>
96 <compatibility>Verfügbar ab Apache 2.0.30</compatibility>
99 <p>Die Direktive steuert, ob Anfragen akzeptiert oder
100 abgewiesen werden, bei denen nach der tatsächlichen
101 Datei (oder einer nicht existierenden Datei in einem existierenden
102 Verzeichnis) zusätzliche Pfadangaben folgen. Die angehängte
103 Pfadangabe kann Skripten in der Umgebungsvariable <code>PATH_INFO</code>
104 verfügbar gemacht werden.</p>
106 <p>Nehmen wir beispielsweise an, dass <code>/test/</code> auf ein
107 Verzeichnis zeigt, welches lediglich eine Datei <code>here.html</code>
108 enthält. Dann wird bei Anfragen nach
109 <code>/test/here.html/more</code> und
110 <code>/test/nothere.html/more</code> beides Mal <code>/more</code>
111 als <code>PATH_INFO</code> ermittelt.</p>
113 <p>Die drei möglichen Argumente für die Direktive
114 <directive>AcceptPathInfo</directive> sind:</p>
117 <dt><code>Off</code></dt><dd>Eine Anfrage wird nur dann akzeptiert,
118 wenn sie exakt auf ein existierendes Verzeichnis (oder eine Datei)
119 abgebildet werden kann. Daher würde eine Anfrage mit einer nach dem
120 tatsächlichen Dateinamen angehängten Pfadangabe, wie
121 <code>/test/here.html/more</code> im obigen Beispiel, den Fehler
122 404 NOT FOUND <transnote>nicht gefunden</transnote>
123 zurückgeben.</dd>
125 <dt><code>On</code></dt>
126 <dd>Eine Anfrage wird akzeptiert, wenn eine vorangestellte Pfadangabe
127 auf ein existierendes Verzeichnis abgebildet werden kann. Das
128 obige Beispiel <code>/test/here.html/more</code> wird akzeptiert,
129 wenn <code>/test/here.html</code> auf eine gültige Datei
132 <dt><code>Default</code></dt>
133 <dd>Die Behandlung von Anfragen mit angehängten Pfadangaben
134 wird von dem für die Anfrage verantwortlichen <a
135 href="../handler.html">Handler</a> bestimmt. Der Core-Handler
136 für gewöhnliche Dateien weist <code>PATH_INFO</code>-Zugriffe
137 standardmäßig zurück. Handler, die Skripte bedienen,
138 wie z.B. <a href="mod_cgi.html">cgi-script</a> und
139 <a href="mod_isapi.html">isapi-handler</a>, sind im Allgemeinen darauf
140 voreingestellt, <code>PATH_INFO</code> zu akzeptieren.</dd>
143 <p>Das eigentliche Ziel von <code>AcceptPathInfo</code> ist es, Ihnen
144 das Überschreiben der Voreinstellung der Handler bezüglich
145 der Akzeptanz oder Ablehnung von <code>PATH_INFO</code> zu erlauben.
146 Eine solche Änderung ist zum Beispiel notwendig, wenn Sie einen
147 <a href="../filter.html">Filter</a> wie <a
148 href="mod_include.html">INCLUDES</a> verwenden, um Inhalte
149 abhängig von <code>PATH_INFO</code> zu generieren. Der
150 Core-Handler würde die Anfrage normalerweise abweisen. Verwenden
151 Sie die folgende Konfiguration, um dennoch solch ein Skript zu
152 ermöglichen.</p>
155 <Files "mypaths.shtml"><br />
157 Options +Includes<br />
158 SetOutputFilter INCLUDES<br />
159 AcceptPathInfo On<br />
168 <name>AccessFileName</name>
169 <description>Name der dezentralen Konfigurationsdateien</description>
170 <syntax>AccessFileName <var>Dateiname</var> [<var>Dateiname</var>] ...</syntax>
171 <default>AccessFileName .htaccess</default>
172 <contextlist><context>server config</context><context>virtual host</context>
176 <p>Aus dieser Namensliste sucht der Server während der
177 Bearbeitung einer Anfrage in jedem Verzeichnis nach der ersten
178 existierenden Datei, sofern im betreffenden Verzeichnis dezentrale
179 Konfigurationsdateien <a href="#allowoverride">erlaubt sind</a>.
186 <p>Vor der Rücksendung des Dokuments
187 <code>/usr/local/web/index.html</code> wird der Server
188 <code>/.acl</code>, <code>/usr/.acl</code>,
189 <code>/usr/local/.acl</code> und <code>/usr/local/web/.acl</code>
190 einlesen, solange diese nicht mit</p>
193 <Directory /><br />
195 AllowOverride None<br />
200 <p>deaktiviert wurden.</p>
202 <seealso><directive module="core">AllowOverride</directive></seealso>
203 <seealso><a href="../configuring.html">Konfigurationsdateien</a></seealso>
204 <seealso><a href="../howto/htaccess.html">.htaccess-Dateien</a></seealso>
208 <name>AddDefaultCharset</name>
209 <description>Standard-Charset-Parameter, der bei Antworten vom Content-Type
210 <code>text/plain</code> oder <code>text/html</code> hinzugefügt wird
212 <syntax>AddDefaultCharset On|Off|<var>Zeichenkodierung</var></syntax>
213 <default>AddDefaultCharset Off</default>
214 <contextlist><context>server config</context>
215 <context>virtual host</context><context>directory</context>
216 <context>.htaccess</context></contextlist>
217 <override>FileInfo</override>
220 <p>Die Direktive gibt einen Standardwert für den Charset-Paramter des
221 Medientyps (den Namen einer Zeichencodierung) an, der einer Antwort
222 genau dann hinzugefügt wird, wenn der Content-Type der Antwort entweder
223 <code>text/plain</code> oder <code>text/html</code> ist. Dies sollte jedes
224 mittels <code>META</code>-Element im Datenteil der Antwort angegebene
225 Charset überschreiben. Das genaue Verhalten hängt jedoch oft von
226 der Client-Konfiguration des Benutzers ab. Die Einstellung
227 <code>AddDefaultCharset Off</code> deaktiviert diese Funktionalität.
228 <code>AddDefaultCharset On</code> aktiviert die Standard-Zeichenkodierung
229 <code>iso-8859-1</code>. Jeder andere Wert wird als die zu verwendende
230 <var>Zeichenkodierung</var> aufgefaßt, die eines der bei <a
231 href="http://www.iana.org/assignments/character-sets">IANA registrierten
232 Charset-Werte</a> zur Verwendung in MIME-Medientypen sein sollte. Zum
236 AddDefaultCharset utf-8
239 <p><directive>AddDefaultCharset</directive> sollte nur verwendet werden,
240 wenn von allen Textressourcen, für die es gilt, bekannt ist, dass sie
241 in dieser Zeichkodierung vorliegen, oder wenn es zu unbequem ist, ihre
242 Zeichenkodierung indivuell zu benennen. Ein solches Beispiel ist das
243 Hinzufügen des Charset-Parameters zu Ressourcen, die generierte
244 Inhalte enthalten. Ein Beispiel sind CGI-Skript-Altlasten, die aufgrund von
245 in die Ausgabe integrierten Daten, die durch den Benutzer übermittelt
246 wurden, gegen Cross-Site-Scripting-Angriffe verwundbar sind. Eine bessere
247 Lösung wäre jedoch, diese Skripte zu korrigieren (oder zu
248 löschen), da die Angabe einer Standard-Zeichencodierung keine
249 Anwender schützt, die in ihrem Browser die Funktion zur
250 automatischen Erkennung der Zeichenkodierung aktiviert haben.</p>
252 <seealso><directive module="mod_mime">AddCharset</directive></seealso>
256 <name>AddOutputFilterByType</name>
257 <description>einen Ausgabefilter einem bestimmten MIME-Type
258 zuordnen</description>
259 <syntax>AddOutputFilterByType <var>Filter</var>[;<var>Filter</var>...]
260 <var>MIME-Type</var> [<var>MIME-Type</var>] ...</syntax>
261 <contextlist><context>server config</context>
262 <context>virtual host</context><context>directory</context>
263 <context>.htaccess</context></contextlist>
264 <override>FileInfo</override>
265 <compatibility>Verfügbar ab Apache 2.0.33</compatibility>
268 <p>Die Direktive aktiviert für eine Anfrage abhängig vom
269 <glossary>MIME-Type</glossary> der Antwort einen bestimmten
270 Ausgabe-<a href="../filter.html">Filter</a>.</p>
272 <p>Das folgende Beispiel verwendet den Filter <code>DEFLATE</code>,
273 der von <module>mod_deflate</module> angeboten wird. Er komprimiert
274 jede Ausgabe, die als <code>text/html</code> oder <code>text/plain</code>
275 gekennzeichnet ist, (gleichgültig, ob statisch oder dynamisch)
276 bevor sie an den Client gesendet wird.</p>
279 AddOutputFilterByType DEFLATE text/html text/plain
282 <p>Wenn Sie den Inhalt von mehr als einem Filter verarbeiten lassen
283 wollen, dann müssen deren Namen durch Semikolons voneinander
284 getrennt werden. Es ist ebenfalls möglich, eine
285 <directive>AddOutputFilterByType</directive>-Direktive für
286 jeden von diesen Filtern zu verwenden.</p>
288 <p>Die folgende Konfiguration sorgt dafür, dass alle
289 Skriptausgaben, die als <code>text/html</code> gekennzeichnet
290 sind, zuerst vom <code>INCLUDES</code>-Filter und dann vom
291 <code>DEFLATE</code>-Filter verarbeitet werden.</p>
294 <Location /cgi-bin/><br />
296 Options Includes<br />
297 AddOutputFilterByType INCLUDES;DEFLATE text/html<br />
302 <note type="warning"><title>Hinweis:</title>
303 <p>Die Aktivierung von Filtern mittels
304 <directive>AddOutputFilterByType</directive> kann in einigen
305 Fällen ganz oder teilweise fehlschlagen. Beispielsweise
306 werden keine Filter angewendet, wenn der <glossary>MIME-Type</glossary>
307 nicht bestimmt werden kann und auf die Einstellung der <directive
308 module="core">DefaultType</directive>-Anweisung zurückfällt,
309 selbst wenn die <directive
310 module="core">DefaultType</directive>-Einstellung die gleiche ist.</p>
312 <p>Wenn Sie jedoch sicherstellen wollen, dass der Filter
313 angewendet wird, sollten Sie den Content-Type z.B. mit
314 <directive module="mod_mime">AddType</directive> oder
315 <directive module="core">ForceType</directive> der Ressource
316 explizit zuordnen. Das Setzen des Content-Types innerhalb
317 eines (nicht-nph) CGI-Skriptes funktioniert ebenfalls
318 zuverlässig.</p>
320 <p>Die Typ-gebundenen Ausgabefilter werden niemals auf
321 Proxy-Anfragen angewendet.</p>
325 <seealso><directive module="mod_mime">AddOutputFilter</directive></seealso>
326 <seealso><directive module="core">SetOutputFilter</directive></seealso>
327 <seealso><a href="../filter.html">Filter</a></seealso>
331 <name>AllowEncodedSlashes</name>
332 <description>Legt fest, ob kodierte Pfadtrennzeichen in URLs durchgereicht
333 werden dürfen</description>
334 <syntax>AllowEncodedSlashes On|Off</syntax>
335 <default>AllowEncodedSlashes Off</default>
336 <contextlist><context>server config</context><context>virtual host</context>
338 <compatibility>Verfügbar ab Apache 2.0.46</compatibility>
341 <p>Die <directive>AllowEncodedSlashes</directive>-Direktive erlaubt die
342 Verwendung von URLs, welche kodierte Pfadtrennzeichen (<code>%2F</code>
343 für <code>/</code> und auf entsprechenden Systemen zusätzlich
344 <code>%5C</code> für <code>\</code>) enthalten. Normalerweise werden
345 derartige URLs mit einem 404-Fehler (Nicht gefunden) abgewiesen.</p>
347 <p><directive>AllowEncodedSlashes</directive> <code>On</code> ist
348 vor allem in Verbindung mit <code>PATH_INFO</code> hilfreich.</p>
350 <note><title>Anmerkung</title>
351 <p>Das Erlauben von Schrägstrichen impliziert <em>nicht</em> deren
352 <em>Dekodierung</em>. Vorkommen von <code>%2F</code> oder <code>%5C</code>
353 (<em>nur</em> auf entsprechenden Systemen) werden unverändert in der
354 ansonsten dekodierten URL belassen.</p>
357 <seealso><directive module="core">AcceptPathInfo</directive></seealso>
361 <name>AllowOverride</name>
362 <description>Direktiven-Typen, die in <code>.htaccess</code>-Dateien
363 erlaubt sind.</description>
364 <syntax>AllowOverride All|None|<var>Direktiven-Typ</var>
365 [<var>Direktiven-Typ</var>] ...</syntax>
366 <default>AllowOverride None (2.3.9 und später), AllowOverride All (2.3.8 und früher)</default>
367 <contextlist><context>directory</context></contextlist>
370 <p>Wenn der Server eine <code>.htaccess</code>-Datei (wie durch
371 <directive module="core">AccessFileName</directive> definiert)
372 findet, muss er wissen, welche in der Datei angegebenen Direktiven
373 frühere Konfigurationsanweisungen überschreiben
376 <note><title>Nur in <Directory>-Abschnitten verfügbar</title>
377 <directive>AllowOverride</directive> ist nur in <directive
378 type="section" module="core">Directory</directive>-Abschnitten
379 gültig, die ohne reguläre Ausdrücke definiert wurden, nicht
380 in <directive type="section" module="core">Location</directive>-,
381 <directive module="core" type="section">DirectoryMatch</directive>- oder
382 <directive type="section" module="core">Files</directive>-Abschnitten.
385 <p>Wenn diese Anweisung auf <code>None</code> gesetzt wird, dann
386 werden <a href="#accessfilename">.htaccess</a>-Dateien komplett
387 ignoriert. In diesem Fall wird der Server nicht einmal versuchen,
388 die <code>.htaccess</code>-Dateien im Dateisystem zu lesen.</p>
390 <p>Wenn diese Anweisung auf <code>All</code> gesetzt wird, dann
391 ist jede Direktive in den <code>.htaccess</code>-Dateien erlaubt,
392 die den <a href="directive-dict.html#Context">Kontext</a>
393 .htaccess besitzt.</p>
395 <p>Der <var>Direktiven-Typ</var> kann eine der folgenden
396 Anweisungsgruppen sein.</p>
402 Erlaubt die Verwendung von Autorisierungs-Anweisungen (<directive
403 module="mod_authz_dbm">AuthDBMGroupFile</directive>,
404 <directive module="mod_authn_dbm">AuthDBMUserFile</directive>,
405 <directive module="mod_authz_groupfile">AuthGroupFile</directive>,
406 <directive module="mod_authn_core">AuthName</directive>,
407 <directive module="mod_authn_core">AuthType</directive>, <directive
408 module="mod_authn_file">AuthUserFile</directive>, <directive
409 module="mod_authz_core">Require</directive> <em>usw.</em>).</dd>
414 Erlaubt die Verwendung von Direktiven zur Steuerung der
415 Dokumenttypen (<directive
416 module="core">DefaultType</directive>, <directive
417 module="core">ErrorDocument</directive>, <directive
418 module="core">ForceType</directive>, <directive
419 module="mod_negotiation">LanguagePriority</directive>,
420 <directive module="core">SetHandler</directive>, <directive
421 module="core">SetInputFilter</directive>, <directive
422 module="core">SetOutputFilter</directive>, und
423 <module>mod_mime</module>-Direktiven Add* und Remove*
424 <em>usw.</em>), Metadaten (<directive
425 module="mod_headers">Header</directive>, <directive
426 module="mod_headers">RequestHeader</directive>, <directive
427 module="mod_setenvif">SetEnvIf</directive>, <directive
428 module="mod_setenvif">SetEnvIfNoCase</directive>, <directive
429 module="mod_setenvif">BrowserMatch</directive>, <directive
430 module="mod_usertrack">CookieExpires</directive>, <directive
431 module="mod_usertrack">CookieDomain</directive>, <directive
432 module="mod_usertrack">CookieStyle</directive>, <directive
433 module="mod_usertrack">CookieTracking</directive>, <directive
434 module="mod_usertrack">CookieName</directive>),
435 <module>mod_rewrite</module>-Direktiven <directive
436 module="mod_rewrite">RewriteEngine</directive>, <directive
437 module="mod_rewrite">RewriteOptions</directive>, <directive
438 module="mod_rewrite">RewriteBase</directive>, <directive
439 module="mod_rewrite">RewriteCond</directive>, <directive
440 module="mod_rewrite">RewriteRule</directive>) und
441 <directive module="mod_actions">Action</directive> aus
442 <module>mod_actions</module>.
448 Erlaubt die Verwendung von Direktiven zur Steuerung von
449 Verzeichnisindizes (<directive
450 module="mod_autoindex">AddDescription</directive>,
451 <directive module="mod_autoindex">AddIcon</directive>, <directive
452 module="mod_autoindex">AddIconByEncoding</directive>,
453 <directive module="mod_autoindex">AddIconByType</directive>,
454 <directive module="mod_autoindex">DefaultIcon</directive>, <directive
455 module="mod_dir">DirectoryIndex</directive>, <a
456 href="mod_autoindex.html#indexoptions.fancyindexing">
457 <code>FancyIndexing</code></a>, <directive
458 module="mod_autoindex">HeaderName</directive>, <directive
459 module="mod_autoindex">IndexIgnore</directive>, <directive
460 module="mod_autoindex">IndexOptions</directive>, <directive
461 module="mod_autoindex">ReadmeName</directive>
467 Erlaubt die Verwendung von Direktiven zur Steuerung des
468 Zugriffs von Hosts (<directive
469 module="mod_access_compat">Allow</directive>, <directive
470 module="mod_access_compat">Deny</directive> und <directive
471 module="mod_access_compat">Order</directive>).</dd>
473 <dt>Options[=<var>Option</var>,...]</dt>
476 Erlaubt die Verwendung von Direktiven zur Steuerung spezieller
477 Verzeichniseigenschaften (<directive module="core">Options</directive>
478 und <directive module="mod_include">XBitHack</directive>). Sie
479 können mit einem Gleichheitszeichen gefolgt von einer
480 kommaseparierten Liste (ohne Leerzeichen) angeben, welche Optionen mit
481 der <directive module="core">Options</directive>-Direktive gesetzt
482 werden dürfen.</dd>
488 AllowOverride AuthConfig Indexes
491 <p>Im obigen Beispiel erzeugen alle Direktiven einen internal server
492 error <transnote>Server-interner Fehler</transnote>, die weder der
493 Gruppe <code>AuthConfig</code> noch der Gruppe <code>Indexes</code>
497 <seealso><directive module="core">AccessFileName</directive></seealso>
498 <seealso><a href="../configuring.html">Konfigurationsdateien</a></seealso>
499 <seealso><a href="../howto/htaccess.html">.htaccess-Dateien</a></seealso>
503 <name>AuthName</name>
504 <description>Autorisierungsbereich zur Verwendung in der
505 HTTP-Authentisierung</description>
506 <syntax>AuthName <var>auth-Bereich</var></syntax>
507 <contextlist><context>directory</context><context>.htaccess</context>
509 <override>AuthConfig</override>
512 <p>Die Direktive legt den Namen des Autorisierungsbereiches
513 <transnote>Der Autorisierungsbereich wird auch Realm genannt.</transnote>
514 für ein Verzeichnis fest. Dieser Realm wird dem Client mitgeteilt,
515 damit der Anwender weiß, welchen Benutzernamen und welches Passwort
516 er zu übermitteln hat. <directive>AuthName</directive> akzeptiert ein
517 Argument. Falls der Name des Realm Leerzeichen enthält, muss er in
518 Anführungszeichen eingeschlossen werden. Um zu funktionieren, muss
519 die Anweisung von den Direktiven <directive
520 module="core">AuthType</directive> und <directive
521 module="core">Require</directive> sowie von
522 Direktiven wie <directive module="mod_authn_file">AuthUserFile</directive>
523 und <directive module="mod_authz_groupfile">AuthGroupFile</directive>
524 begleitet werden.</p>
529 AuthName "Top Secret"
532 <p>Die <code>AuthName</code> übergebene Zeichenkette ist das,
533 was in dem von den meisten Browsern angebotenen Passwort-Dialog
537 href="../howto/auth.html">Authentisierung, Autorisierung und
538 Zugriffskontrolle</a></seealso>
542 <name>AuthType</name>
543 <description>Art der Authentisierung</description>
544 <syntax>AuthType Basic|Digest</syntax>
545 <contextlist><context>directory</context><context>.htaccess</context>
547 <override>AuthConfig</override>
550 <p>Die Direktive wählt die Art der Benutzer-Authentisierung
551 für ein Verzeichnis aus. Derzeit sind lediglich <code>Basic</code>
552 und <code>Digest</code> implementiert.
553 Um zu funktionieren, muss die Anweisung von den Direktiven <directive
554 module="core">AuthName</directive> und <directive
555 module="core">Require</directive> sowie von
556 Direktiven wie <directive module="mod_authn_file">AuthUserFile</directive>
557 und <directive module="mod_authz_groupfile">AuthGroupFile</directive>
558 begleitet werden.</p>
560 <seealso><a href="../howto/auth.html">Authentisierung, Autorisierung und
561 Zugriffskontrolle</a></seealso>
565 <name>CGIMapExtension</name>
566 <description>Technik zur Bestimmung des Interpreters für
567 CGI-Skripte</description>
568 <syntax>CGIMapExtension <var>CGI-Pfad</var> <var>.Endung</var></syntax>
569 <contextlist><context>directory</context><context>.htaccess</context>
571 <override>FileInfo</override>
572 <compatibility>ausschließlich NetWare</compatibility>
575 <p>Die Direktive wird zur Steuerung verwendet, wie Apache
576 den Interpreter ermittelt, der zur Ausführung von
577 CGI-Skripten verwendet wird. Beispielsweise bestimmt die Angabe
578 von <code>CGIMapExtension sys:\foo.nlm .foo</code>, dass
579 alle CGI-Scripte mit der Endung <code>.foo</code> an den
580 FOO-Interpreter übergeben werden.</p>
585 <name>ContentDigest</name>
586 <description>Aktiviert die Generierung von <code>Content-MD5</code>
587 HTTP-Response-Headern</description>
588 <syntax>ContentDigest On|Off</syntax>
589 <default>ContentDigest Off</default>
590 <contextlist><context>server config</context><context>virtual host</context>
591 <context>directory</context><context>.htaccess</context>
593 <override>Options</override>
594 <status>Experimental</status>
597 <p>Die Direktive aktiviert die Generierung von
598 <code>Content-MD5</code>-Headern, wie sie in RFC1864 bzw. RFC2616
601 <p>MD5 ist ein Algorithmus zur Berechnung eines "Datenextrakts"
602 (zuweilen "Fingerabdruck" genannt) <transnote>Der "Datenextrakt" wird im
603 Englischen als "message digest" oder "fingerprint" bezeichnet.</transnote>
604 aus beliebig langen Daten. Es gilt als zuverlässig, dass
605 Veränderungen an den Daten sich in Veränderungen des
606 Extrakts wiederspiegeln.</p>
608 <p>Der <code>Content-MD5</code>-Header bietet eine
609 End-to-End-Integritätsprüfung (MIC) <transnote>MIC steht für
610 "message integrity check".</transnote> des Daten-Inhalts. Ein Proxy oder
611 Client kann diesen Header prüfen, um zufällige Veränderungen
612 des Entity-Inhalts bei der Übertragung festzustellen.
616 Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
619 <p>Beachten Sie bitte, dass dies Performanceprobleme auf Ihrem
620 System verursachen kann, da der Extrakt bei jeder Anfrage
621 berechnet wird (der Wert wird nicht zwischengespeichert).</p>
623 <p><code>Content-MD5</code> wird nur für Dokumente gesendet,
624 die von <module>core</module> bedient werden, nicht jedoch bei
625 Modulen. SSI-Dokumente, CGI-Skript-Ausgaben und Byte-Range-Antworten
626 besitzen diesen Header beispielsweise nicht.</p>
631 <name>DefaultType</name>
632 <description>MIME-Content-Type, der gesendet wird, wenn der Server den Typ
633 nicht auf andere Weise ermitteln kann.</description>
634 <syntax>DefaultType <var>MIME-Type</var></syntax>
635 <default>DefaultType text/plain</default>
636 <contextlist><context>server config</context><context>virtual host</context>
637 <context>directory</context><context>.htaccess</context>
639 <override>FileInfo</override>
642 <p>Es kann vorkommen, dass der Server ein Dokument ausliefern muss,
643 dessen Typ er nicht mit Hilfe seiner <glossary ref="mime-type"
644 >MIME-Type</glossary>-Zuordnungen bestimmen kann.</p>
646 <p>Der Server muss den Client über den Content-Type des
647 Dokumentes informieren. Daher verwendet er im Falle eines
648 unbekannten Typs die <code>DefaultType</code>-Einstellung.
652 DefaultType image/gif
655 <p>wäre angemessen für ein Verzeichnis, das viele GIF-Bilder
656 enthält, deren Dateinamen nicht Endung <code>.gif</code>
659 <p>Beachten Sie bitte, dass die Direktive anders als <directive
660 module="core">ForceType</directive> lediglich den Standard-MIME-Type
661 bestimmt. Alle anderen MIME-Type-Definitionen, einschließlich
662 Dateierweiterungen, die den Medien-Typ anzeigen können,
663 überschreiben diese Voreinstellung.</p>
669 <description>Define the existence of a variable</description>
670 <syntax>Define <var>Parametername</var></syntax>
671 <contextlist><context>server config</context></contextlist>
674 <p>Equivalent zum übergeben von <var>Parametername</var> mittels des
675 <code>-D</code> Arguments an <program>httpd</program>.</p>
676 <p>Diese Directive kann verwendet werden, um die Nutzung von <directive module="core"
677 type="section">IfDefine</directive> Sectionen umzuschalten, ohne die
678 <code>-D</code> Argumentente in etwaigen Start-Skripten ändern
683 <directivesynopsis type="section">
684 <name>Directory</name>
685 <description>Umschließt eine Gruppe von Direktiven, die nur auf
686 das genannte Verzeichnis des Dateisystems und Unterverzeichnisse angewendet
688 <syntax><Directory <var>Verzeichnispfad</var>>
689 ... </Directory></syntax>
690 <contextlist><context>server config</context><context>virtual host</context>
694 <p><directive type="section">Directory</directive> und
695 <code></Directory></code> werden dazu verwendet, eine Gruppe
696 von Direktiven zusammenzufassen, die nur für das genannte
697 Verzeichnis und dessen Unterverzeichnisse gelten. Jede Direktive,
698 die im Verzeichnis-Kontext erlaubt ist, kann verwendet werden.
699 <var>Verzeichnispfad</var> ist entweder der vollständige Pfad zu
700 einem Verzeichnis oder eine Zeichenkette mit Platzhaltern wie sie von der
701 Unix-Shell zum Abgleich verwendet werden. In einer Zeichenkette
702 mit Platzhaltern <transnote>sogenannte wild-cards</transnote> entspricht
703 <code>?</code> einem einzelnen Zeichen und <code>*</code> einer
704 Zeichenkette beliebiger Länge. Sie können auch auch
705 <code>[]</code>-Zeichenbereiche verwenden. Keiner der Platzhalter
706 entspricht dem Zeichen "/". Daher passt <code><Directory
707 /*/public_html></code> nicht auf <code>/home/user/public_html</code>,
708 <code><Directory /home/*/public_html></code> jedoch tut es.
712 <Directory /usr/local/httpd/htdocs><br />
714 Options Indexes FollowSymLinks<br />
720 <p>Seien Sie vorsichtig mit den <var>Verzeichnispfad</var>-Argumenten.
721 Sie müssen buchstäblich mit dem Dateisystempfad
722 übereinstimmen, den der Apache für den Zugriff auf die
723 Dateien verwendet. Direktiven, die für ein bestimmtes
724 Verzeichnis gelten, gelten nicht für Dateien in dem Verzeichnis,
725 auf die über einen anderen Pfad zugegriffen wird, wie z.B.
726 über verschiedene symbolische Links.</p>
729 <p>Erweiterte <glossary ref="regex"
730 >reguläre Ausdrücke</glossary> können ebenfalls
731 verwendet werden, indem das Zeichen <code>~</code> hinzugefügt
732 wird. Beispielsweise würde</p>
735 <Directory ~ "^/www/.*/[0-9]{3}">
738 <p>auf Verzeichnisse in <code>/www/</code> passen, die aus drei
741 <p>Wenn mehrere <directive type="section">Directory</directive>-Abschnitte
742 (ohne reguläre Ausdrücke) auf ein Verzeichnis (oder
743 ein ihm übergeordnetes Verzeichnis) passen, welches ein Dokument
744 enthält, dann werden die Direktiven der Reihe nach, angefangen
745 beim kürzesten passenden Muster, vermischt mit den Direktiven
746 aus den <a href="#accessfilename">.htaccess</a>-Dateien, angewendet.
750 <Directory /><br />
752 AllowOverride None<br />
754 </Directory><br />
756 <Directory /home/><br />
758 AllowOverride FileInfo<br />
763 <p>Beim Zugriff auf das Dokument <code>/home/web/dir/doc.html</code>
764 sind die einzelnen Schritte:</p>
767 <li>Wende die Direktive <code>AllowOverride None</code> an
768 (deaktiviere <code>.htaccess</code>-Dateien).</li>
770 <li>Wende die Direktive <code>AllowOverride FileInfo</code>
771 (auf das Verzeichnis <code>/home</code>) an.</li>
773 <li>Wende jede <code>FileInfo</code>-Direktive aus
774 <code>/home/.htaccess</code>, <code>/home/web/.htaccess</code> und
775 <code>/home/web/dir/.htaccess</code> der Reihe nach an.</li>
778 <p>Reguläre Ausdrücke werden solange nicht berücksichtigt,
779 bis alle normalen Abschnitte angewendet wurden. Anschließend
780 werden alle regulären Ausdrücke in der Reihenfolge
781 geprüft, in der sie in der Konfigurationsdatei auftauchen.
782 Beispielsweise wird bei</p>
785 <Directory ~ abc$><br />
787 # ... hier die Direktiven ...<br />
792 <p>der Abschnitt mit dem regulären Ausdruck nicht
793 berücksichtigt, bis alle normalen
794 <directive type="section">Directory</directive>-Abschnitte und
795 <code>.htaccess</code>-Dateien angewendet wurden. Dann erst wird
796 der reguläre Ausdruck mit <code>/home/abc/public_html/abc</code>
797 abgeglichen und der entsprechende <directive
798 type="section">Directory</directive>-Abschnitt angewendet.</p>
800 <p><strong>Beachten Sie bitte, dass der vom Apache voreingestellte
801 Zugriff für <code><Directory /></code>
802 <code>Allow from All</code> ist. Das bedeutet, dass der Apache
803 jede Datei ausliefert, die durch eine URL abgebildet wird. Es wird
804 empfohlen, dass Sie dies durch einen Block wie</strong></p>
807 <Directory /><br />
809 Order Deny,Allow<br />
815 <p><strong>ändern und anschließend für
816 Verzeichnisse überschreiben, die Sie verfügbar machen
817 <em>wollen</em>. Für weitere Einzelheiten lesen Sie bitte
819 href="../misc/security_tips.html">Sicherheitshinweisen</a>.</strong></p>
821 <p>Die Verzeichnisabschnitte erscheinen in der Datei
822 <code>httpd.conf</code>. <directive
823 type="section">Directory</directive>-Direktiven dürfen nicht
824 ineinander verschachtelt werden oder innerhalb von <directive module="core"
825 type="section">Limit</directive>- oder <directive module="core"
826 type="section">LimitExcept</directive>-Abschnitten auftauchen.</p>
828 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
829 <Location> und <Files> arbeiten</a> für eine
830 Erläuterung, wie diese verschiedenen Abschnitte miteinander
831 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
834 <directivesynopsis type="section">
835 <name>DirectoryMatch</name>
836 <description>Umschließt eine Gruppe von Direktiven, die auf
837 Verzeichnisse des Dateisystems und ihre Unterverzeichnisse abgebildet
838 werden, welche auf einen regulären Ausdruck passen</description>
839 <syntax><DirectoryMatch <var>regex</var>>
840 ... </DirectoryMatch></syntax>
841 <contextlist><context>server config</context><context>virtual host</context>
845 <p><directive type="section">DirectoryMatch</directive> und
846 <code></DirectoryMatch></code> werden dazu verwendet, eine
847 Gruppe von Direktiven zusammenzufassen, die nur für das
848 genannte Verzeichnis und dessen Unterverzeichnisse gelten, genauso
849 wie bei <directive module="core" type="section">Directory</directive>.
850 Als Argument dient jedoch ein <glossary ref="regex">regulärer
851 Ausdruck</glossary>. Beispielsweise würde</p>
854 <DirectoryMatch "^/www/.*/[0-9]{3}">
857 <p>auf Verzeichnisse in <code>/www/</code> passen, die aus drei
858 Zeichen bestehen.</p>
860 <seealso><directive type="section" module="core">Directory</directive>
861 für eine Beschreibung, wie reguläre Ausdrücke mit
862 normalen <directive type="section">Directory</directive>-Anweisungen
863 vermischt werden.</seealso>
864 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
865 <Location> und <Files> arbeiten</a> für eine
866 Erläuterung, wie diese verschiedenen Abschnitte miteinander
867 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
871 <name>DocumentRoot</name>
872 <description>Verzeichnis, welches den Haupt-Dokumentenbaum bildet, der im
873 Web sichtbar ist.</description>
874 <syntax>DocumentRoot <var>Verzeichnis</var></syntax>
875 <default>DocumentRoot /usr/local/apache/htdocs</default>
876 <contextlist><context>server config</context><context>virtual host</context>
880 <p>Die Direktive setzt das Verzeichnis, von dem aus
881 <program>httpd</program> Dateien ausliefert. Sofern nicht eine Direktive
882 wie <directive module="mod_alias">Alias</directive> greift, hängt
883 der Server Pfade aus der angeforderten URL an das Wurzelverzeichnis
884 an, um den Pfad zum Dokument zu bilden. Beispiel:</p>
887 DocumentRoot /usr/web
890 <p>Damit bezieht sich ein Zugriff auf
891 <code>http://www.my.host.com/index.html</code> auf
892 <code>/usr/web/index.html</code>. Wenn das <var>Verzeichnis</var> nicht
893 absolut angegeben ist, wird es relativ zu <directive
894 module="core">ServerRoot</directive> betrachtet.</p>
896 <p><directive>DocumentRoot</directive> sollte ohne einen
897 Schrägstrich am Ende angegeben werden.</p>
899 <seealso><a href="../urlmapping.html">URLs auf das Dateisystem
900 abbilden</a></seealso>
904 <name>EnableMMAP</name>
905 <description>Verwende Memory-Mapping, um Dateien während der
906 Auslieferung zu lesen</description>
907 <syntax>EnableMMAP On|Off</syntax>
908 <default>EnableMMAP On</default>
909 <contextlist><context>server config</context><context>virtual host</context>
910 <context>directory</context><context>.htaccess</context>
912 <override>FileInfo</override>
915 <p>Die Direktive steuert, ob <program>httpd</program> Memory-Mapping
916 verwenden darf, wenn er während der Auslieferung den Inhalt einer
917 Datei lesen muss. Wenn die Bearbeitung einer Anfrage es erfordert,
918 auf die Daten in einer Datei zuzugreifen -- zum Beispiel bei der
919 Auslieferung einer mittels <module>mod_include</module> serverseitig
920 analysierten Datei --, dann verwendet der Apache standardmäßig
921 Memory-Mapping für diese Datei, sofern das Betriebssystem es
922 unterstützt.</p>
924 <p>Memory-Mapping bedeutet zuweilen eine Performanceverbesserung.
925 In einigen Umgebungen ist es jedoch besser, Memory-Mapping zu
926 deaktivieren, um Problemen während des Betriebs vorzubeugen:</p>
929 <li>Bei einigen Multiprozessorsystemen kann Memory-Mapping die
930 Performance von <program>httpd</program> reduzieren.</li>
931 <li>Bei einem per NFS eingebundenen <directive
932 module="core">DocumentRoot</directive> kann <program>httpd</program> mit
933 einem Speicherzugriffsfehler <transnote>ein so genannter "segmentation
934 fault"</transnote> abstürzen, wenn eine Datei gelöscht oder
935 gekürzt wird, während <program>httpd</program> sie im Speicher
939 <p>Bei Serverkonfigurationen, die für dieses Problem
940 anfällig sind, sollten Sie das Memory-Mapping für
941 auszuliefernde Dateien deaktivieren, indem Sie schreiben:</p>
947 <p>Bei per NFS eingebundenen Dateien kann diese Funktion
948 explizit für die störenden Dateien deaktiviert werden,
949 indem Sie angeben:</p>
952 <Directory "/pfad-zu-den-nfs-dateien">
962 <name>EnableSendfile</name>
963 <description>Verwende die sendfile-Unterstützung des Kernels, um
964 Dateien an den Client auszuliefern</description>
965 <syntax>EnableSendfile On|Off</syntax>
966 <default>EnableSendfile On</default>
967 <contextlist><context>server config</context><context>virtual host</context>
968 <context>directory</context><context>.htaccess</context>
970 <override>FileInfo</override>
971 <compatibility>Verfügbar ab Apache Version 2.0.44</compatibility>
974 <p>Die Direktive steuert, ob <program>httpd</program> die
975 sendfile-Unterstützung des Kernels verwenden kann, um
976 Dateiinhalte an den Client zu übermitteln. Wenn die Bearbeitung
977 einer Anfrage keinen Zugriff auf die Daten in der Datei erfordert --
978 zum Beispiel bei der Auslieferung einer statischen Datei -- und das
979 Betriebssystem es unterstützt, verwendet der Apache
980 standardmäßig sendfile, um den Dateiinhalt zu
981 übertragen, ohne die Datei jemals zu lesen.</p>
983 <p>Der sendfile-Mechanismus vermeidet getrennte Lese- und
984 Sendeoperationen sowie Puffer-Zuweisungen. Bei einigen Plattformen bzw.
985 Dateisystemen deaktivieren Sie diese Funktion jedoch besser, um Probleme
986 während des Betriebs zu vermeiden:</p>
989 <li>Einige Plattformen besitzen u.U. eine fehlerhafte
990 sendfile-Unterstützung, die das Erstellungssystem nicht erkennt,
991 insbesondere wenn die Binärdateien auf einem anderen Rechner erstellt
992 und auf eine solche Maschine mit fehlerhafter sendfile-Unterstützung
993 übertragen wurden.</li>
994 <li>Bei einem über das Netzwerk eingebundenen <directive
995 module="core">DocumentRoot</directive> (z.B. NFS oder SMB) ist der
996 Kernel möglicherweise nicht in der Lage, die Netzwerkdatei
997 über seinen eigenen Cache zu bedienen.</li>
998 <li>Unter Linux löst die Verwendung von <code>sendfile</code>
999 in Verbindung mit bestimmten Netzwerkkarten und IPv6
1000 TCP-Checksummenfehler aus.</li>
1001 <li>Unter Linux auf Itanium-Systemen kommt sendfile unter Umständen
1002 nicht mit Dateien größer als 2GB klar.</li>
1005 <p>Bei Serverkonfigurationen, die für dieses Problam
1006 anfällig sind, sollten die diese Funktion deaktivieren, indem
1013 <p>Bei per NFS oder SMB eingebundenen Dateien kann diese Funktion
1014 explizit für die störenden Dateien deaktiviert werden, indem
1018 <Directory "/pfad-zu-den-nfs-dateien">
1024 <p>Beachten Sie bitte, dass die verzeichnisbasierte und
1025 .htaccess-Konfiguration von <directive>EnableSendfile</directive>
1026 nicht vom <module>mod_cache_disk</module>-Modul unterstützt wird.
1027 Nur die globale Konfiguration von <directive>EnableSendfile</directive>
1028 wird vom Modul beachtet.
1031 </directivesynopsis>
1034 <name>ErrorDocument</name>
1035 <description>Das, was der Server im Fehlerfall an den Client
1036 zurückgibt</description>
1037 <syntax>ErrorDocument <var>Fehlercode</var> <var>Dokument</var></syntax>
1038 <contextlist><context>server config</context><context>virtual host</context>
1039 <context>directory</context><context>.htaccess</context>
1041 <override>FileInfo</override>
1042 <compatibility>Die Syntax der Anführungszeichen bei Textnachrichten hat
1043 sich im Apache 2.0 geändert</compatibility>
1046 <p>Im Falle eines Problems oder Fehlers kann der Apache
1047 konfiguriert werden, eine der vier Aktionen auszuführen:</p>
1050 <li>Ausgabe einer einfachen, hartkodierten Fehlermeldung</li>
1052 <li>Ausgabe einer angepassten Meldung</li>
1054 <li>Umleitung zu einem lokalen <var>URL-Pfad</var> der das
1055 Problem bzw. den Fehler behandelt</li>
1057 <li>Umleitung zu einer externen <var>URL</var>, die das Problem
1058 bzw. den Fehler behandelt</li>
1061 <p>Die erste Option ist Voreinstellung, während die Optionen
1062 2 bis 4 über die Direktive <directive>ErrorDocument</directive>
1063 eingestellt werden, welcher der HTTP-Statuscode und eine
1064 URL oder Nachricht folgen. Abhängig vom Problem bzw. Fehler bietet
1065 der Apache manchmal zusätzliche Informationen an.</p>
1067 <p>URLs können bei lokalen Webpfaden mit einem Schrägstrich
1068 (/) beginnen (relativ zum <directive module="core"
1069 >DocumentRoot</directive>-Verzeichnis) oder eine vollständige URL
1070 bilden, die der Client auflösen kann. Alternativ kann eine
1071 Nachricht für die Anzeige im Browser angeboten werden. Beispiel:</p>
1074 ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br />
1075 ErrorDocument 404 /cgi-bin/falsche_urls.pl<br />
1076 ErrorDocument 401 /info_zur_anmeldung.html<br />
1077 ErrorDocument 403 "Der Zugriff ist nicht erlaubt."
1080 <p>Außerdem kann der spezielle Wert <code>default</code> angegeben
1081 werden, um die schlichte, hartkodierte Nachricht des Apache zu verwenden.
1082 Es wird normalerweise nicht benötigt, doch <code>default</code>
1083 stellt die einfach, im Apache hartkodierte Meldung in Konfigurationen
1084 wieder her, die ansonsten von einem existierenden <transnote>zuvor
1085 konfigurierten</transnote> <directive>ErrorDocument</directive> erben
1089 ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br />
1090 <Directory /web/docs><br />
1092 ErrorDocument 404 default<br />
1097 <p>Wenn Sie eine <directive>ErrorDocument</directive>-Anweisung
1098 angeben, die auf eine entfernte URL weist (d.h. irgendetwas mit der
1099 Methode <code>http</code> davor), beachten Sie bitte, dass der Apache
1100 eine Umleitung zum Client sendet, um diesem mitzuteilen, wo das
1101 Dokument zu finden ist, auch wenn das Dokument letztlich wieder zum
1102 gleichen Server führt. Das hat mehrere Auswirkungen. Die
1103 wichtigste ist, dass der Client nicht den Original-Statuscode
1104 erhält sondern statt dessen einen Umleitungs-Statuscode. Dies
1105 wiederum kann Web-Robots und andere Clients verwirren, die den
1106 Statuscode dazu verwenden, herauszufinden ob eine URL gültig ist.
1107 Wenn Sie eine entfernte URL in einer Anweisung
1108 <code>ErrorDocument 401</code> verwenden, wird der Client
1109 darüber hinaus nicht wissen, dass er den Benutzer zur Eingabe
1110 eines Passwortes auffordern muss, da er den Statuscode 401 nicht
1111 erhält. <strong>Deshalb müssen Sie sich auf ein lokales
1112 Dokument beziehen, wenn Sie eine Anweisung <code>ErrorDocument
1113 401</code> verwenden.</strong></p>
1115 <p>Der Microsoft Internet Explorer (MSIE) ignoriert
1116 standardmäßig serverseitig generierte Fehlermeldungen, wenn
1117 sie "zu kurz" sind und ersetzt sie durch eigene "freundliche"
1118 Fehlermeldungen. Die Größe variiert abhängig von der
1119 Art des Fehlers, im Allgemeinen zeigt der MSIE jedoch den
1120 serverseitig generierten Fehler, anstatt ihn zu verstecken, wenn Ihr
1121 Fehlerdokument größer als 512 Bytes ist. Weitere Informationen
1123 href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807"
1124 >Q294807</a> in der Microsoft Knowledgebase verfügbar.</p>
1126 <p>Obwohl die meisten Fehlermeldungen überschrieben werden
1127 können, werden unter bestimmten Umständen die internen
1128 Meldungen ungeachtet der Einstellung der <directive module="core"
1129 >ErrorDocument</directive>-Direktive verwendet. Insbesondere bei
1130 einer fehlerhaften Anfrage werden der normale Bearbeitungsprozess sofort
1131 beendet und die interne Meldung zurückgegeben. Das ist notwendig, um
1132 Sicherheitsprobleme zu vermeiden, die auf Grund fehlerhafter Anfragen
1135 <p>In Versionen vor 2.0 wurden Meldungen durch ein einzelnes
1136 vorangestelltes Anführungszeichen (") erkannt.</p>
1139 <seealso><a href="../custom-error.html">Dokumentation zu individuellen
1140 Fehlermeldungen</a></seealso>
1141 </directivesynopsis>
1144 <name>ErrorLog</name>
1145 <description>Ablageort, an dem der Server Fehler protokolliert</description>
1146 <syntax> ErrorLog <var>Dateiname</var>|syslog[:<var>facility</var>]</syntax>
1147 <default>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and
1149 <contextlist><context>server config</context><context>virtual host</context>
1153 <p>Die Direktive <directive>ErrorLog</directive> bestimmt den Namen
1154 der Datei, in welcher der Server alle auftretenden Fehler protokolliert.
1155 Wenn <var>Dateiname</var> nicht absolut ist, wird er relativ zu <directive
1156 module="core">ServerRoot</directive> betrachtet.</p>
1158 <example><title>Beispiel</title>
1159 ErrorLog /var/log/httpd/error_log
1162 <p>Wenn der <var>Dateiname</var> mit einem senkrechten Strich (|,
1163 engl.: Pipe) beginnt, wird angenommen, dass es sich um einen Befehl
1164 handelt, der ausgeführt wird, um das Fehlerprotokolls zu
1167 <example><title>Beispiel</title>
1168 ErrorLog "|/usr/local/bin/httpd_errors"
1171 <p>Die Verwendung von <code>syslog</code> anstelle eines Dateinamens
1172 aktiviert die Protokollierung mittels syslogd(8), sofern das System
1173 es unterstützt. Als Voreinstellung wird der syslog-Typ (syslog
1174 facility) <code>local7</code> verwendet, Sie können dies jedoch
1175 auch überschreiben, indem Sie die Syntax
1176 <code>syslog:<var>facility</var></code> verwenden, wobei
1177 <var>facility</var> einer der Namen sein kann, die üblicherweise
1178 in syslog(1) dokumentiert sind.</p>
1180 <example><title>Beispiel</title>
1181 ErrorLog syslog:user
1184 <p>SICHERHEITSHINWEIS: Lesen Sie das Dokument <a
1185 href="../misc/security_tips.html#serverroot">Sicherheitshinweise</a>
1186 zu Einzelheiten darüber, warum Ihre Sicherheit gefährdet
1187 sein kann, wenn das Verzeichnis, in dem die Log-Dateien gespeichert
1188 werden, für jemand anderen, als den Benutzer, der den Server
1189 gestartet hat, beschreibbar ist.</p>
1191 <note type="warning"><title>Anmerkung</title>
1192 <p>Bei der Eingabe eines Dateipfads auf nicht-Unix-Plattformen sollte
1193 darauf geachtet werden, nur (Vorwärts-)Schrägstriche zu
1194 verwenden, auch wenn die Plattform rückwärts gerichtete
1195 Schrägstriche (Backslashes) erlaubt. Im Allgemeinen ist es eine gute
1196 Idee, innerhalb der Konfigurationsdateien immer
1197 Vorwärts-Schrägstriche zu verwenden.</p>
1200 <seealso><directive module="core">LogLevel</directive></seealso>
1201 <seealso><a href="../logs.html">Apache-Log-Dateien</a></seealso>
1202 </directivesynopsis>
1205 <name>FileETag</name>
1206 <description>Dateiattribute, die zur Erstellung des HTTP-Response-Headers
1207 ETag verwendet werden</description>
1208 <syntax>FileETag <var>Komponente</var> ...</syntax>
1209 <default>FileETag INode MTime Size</default>
1210 <contextlist><context>server config</context><context>virtual host</context>
1211 <context>directory</context><context>.htaccess</context>
1213 <override>FileInfo</override>
1216 <p>Wenn dem Dokument eine Datei zugrundeliegt, bestimmt die Direktive
1217 <directive>FileETag</directive> die Dateiattribute, die zur Erstellung
1218 des HTTP-Response-Headers <code>ETag</code> (Entity-Tag) verwendet
1219 werden. (Der Wert von <code>ETag</code> wird bei der Cache-Verwaltung
1220 zur Einsparung von Netzwerk-Bandbreite benutzt.) Im Apache 1.3.22 und
1221 früher wurde der <code>ETag</code>-Wert <em>stets</em> aus
1222 der I-Node, der Größe und dem Datum der letzten
1223 Änderung (mtime) der Datei gebildet. Die Direktive
1224 <directive>FileETag</directive> erlaubt es Ihnen, zu bestimmen,
1225 welche dieser Eigenschaften -- falls überhaupt -- verwendet
1226 werden sollen. Die gültigen Schlüsselworte lauten:</p>
1229 <dt><strong>INode</strong></dt>
1230 <dd>Die I-Node-Nummer wird in die Berechnung mit einbezogen</dd>
1231 <dt><strong>MTime</strong></dt>
1232 <dd>Datum und Uhrzeit der letzten Änderung werden mit einbezogen</dd>
1233 <dt><strong>Size</strong></dt>
1234 <dd>Die Anzahl der Bytes in der Datei wird mit einbezogen</dd>
1235 <dt><strong>All</strong></dt>
1236 <dd>Alle verfügbaren Angaben werden verwendet. Die ist
1237 gleichbedeutend mit:
1238 <example>FileETag INode MTime Size</example></dd>
1239 <dt><strong>None</strong></dt>
1240 <dd>Es wird keine <code>ETag</code>-Angabe in die Antwort eingefügt,
1241 wenn dem Dokument eine Datei zugrundeliegt.</dd>
1244 <p>Den Schlüsselwörtern <code>INode</code>, <code>MTime</code>
1245 und <code>Size</code> kann entweder ein <code>+</code> oder ein
1246 <code>-</code> vorangestellt werden, was die Änderung einer
1247 Vorgabe erlaubt, die von einem größeren Umfeld
1248 geerbt wurde. Jedes Schlüselwort ohne ein solches Prefix
1249 hebt die ererbte Einstellung sofort und vollständig auf.</p>
1251 <p>Wenn die Konfiguration für ein Verzeichnis
1252 <code>FileETag INode MTime Size</code> enthält
1253 und die eines Unterverzeichnisses <code>FileETag -INode</code>,
1254 dann ist die Einstellung für das Unterverzeichnis (die an
1255 jedes Unter-Unterverzeichnis weitervererbt wird, welches dies nicht
1256 überschreibt) äquivalent mit
1257 <code>FileETag MTime Size</code>.</p>
1259 </directivesynopsis>
1261 <directivesynopsis type="section">
1263 <description>Enthält Direktiven, die sich nur auf passende Dateinamen
1264 beziehen</description>
1265 <syntax><Files <var>Dateiname</var>> ... </Files></syntax>
1266 <contextlist><context>server config</context><context>virtual host</context>
1267 <context>directory</context><context>.htaccess</context>
1269 <override>All</override>
1272 <p>Die Direktive <directive type="section">Files</directive>
1273 begrenzt die Reichweite der enthaltenen Anweisungen auf Dateinamen.
1274 Sie ist vergleichbar mit den Direktiven <directive
1275 module="core" type="section">Directory</directive> und <directive
1276 module="core" type="section">Location</directive>. Sie muss eine
1277 passende <code></Files></code>-Anweisung besitzen.
1278 Die innerhalb dieses Abschnittes angegebenen Direktiven werden auf
1279 jedes Objekt mit einem Basisnamen (letzte Komponente des Dateinamens)
1280 angewendet, der auf die angegebenen Dateinamen passt. <directive
1281 type="section">Files</directive>-Container werden, nachdem die
1282 <directive module="core" type="section">Directory</directive>-Container
1283 und <code>.htaccess</code>-Dateien gelesen sind, jedoch vor den
1284 <directive type="section" module="core">Location</directive>-Containern,
1285 in der Reihenfolge ihres Auftretens ausgeführt. Beachten Sie, dass
1286 <directive type="section">Files</directive>-Anweisungen innerhalb von
1287 <directive type="section" module="core">Directory</directive>-Containern
1288 auftreten können, um den Teil des Dateisystems einzuschränken,
1289 den sie betreffen.</p>
1291 <p>Das Argument <var>Dateiname</var> kann einen Dateinamen oder eine
1292 Zeichenkette mit Platzhaltern enthalten, wobei <code>?</code> auf ein
1293 einzelnes Zeichen passt und <code>*</code> auf eine beliebige Folge von
1294 Zeichen. Erweiterte <glossary ref="regex">reguläre
1295 Ausdrücke</glossary> können ebenfalls verwendet werden, indem
1296 das Zeichen <code>~</code> hinzugefügt wird. Beispielsweise
1300 <Files ~ "\.(gif|jpe?g|png)$">
1303 <p>auf die gebräuchlichsten Grafikformate im Internet passen.
1304 <directive module="core" type="section">FilesMatch</directive> wird
1305 jedoch bevorzugt.</p>
1307 <p>Beachten Sie bitte, dass die <directive
1308 type="section">Files</directive>-Container anders als <directive
1309 type="section" module="core">Directory</directive>- und <directive
1310 type="section" module="core">Location</directive>-Container innerhalb
1311 von <code>.htaccess</code>-Dateien verwendet werden können.
1312 Dies erlaubt den Anwendern auf Dateiebene die Kontrolle über ihre
1313 eigenen Dateien.</p>
1315 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
1316 <Location> und <Files> arbeiten</a> für eine
1317 Erläuterung, wie diese verschiedenen Abschnitte miteinander
1318 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
1319 </directivesynopsis>
1321 <directivesynopsis type="section">
1322 <name>FilesMatch</name>
1323 <description>Enthält Direktiven, die für Dateinamen gelten, die
1324 auf einen regulären Ausdruck passen</description>
1325 <syntax><FilesMatch <var>regex</var>> ... </FilesMatch></syntax>
1326 <contextlist><context>server config</context><context>virtual host</context>
1327 <context>directory</context><context>.htaccess</context>
1329 <override>All</override>
1332 <p>Die Direktive <directive type="section">FilesMatch</directive>
1333 begrenzt wie die Direktive <directive module="core"
1334 type="section">Files</directive> die enthaltenen Anweisungen auf
1335 Dateinamen. Sie akzeptiert jedoch <glossary ref="regex">reguläre
1336 Ausdrücke</glossary>. Beispielsweise würde</p>
1339 <FilesMatch "\.(gif|jpe?g|png)$">
1342 <p>auf die gebräuchlichsten Grafikformate im Internet passen.</p>
1345 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
1346 <Location> und <Files> arbeiten</a> für eine
1347 Erläuterung, wie diese verschiedenen Abschnitte miteinander
1348 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
1349 </directivesynopsis>
1352 <name>ForceType</name>
1353 <description>Erzwingt die Auslieferung aller passendenden Dateien mit dem
1354 angegebenen MIME-Content-Type</description>
1355 <syntax>ForceType <var>MIME-Type</var>|None</syntax>
1356 <contextlist><context>directory</context><context>.htaccess</context>
1358 <override>FileInfo</override>
1359 <compatibility>Wurde im Apache 2.0 in den Core verschoben</compatibility>
1362 <p>Wenn sie innerhalb einer <code>.htaccess</code>-Datei, eines
1363 <directive type="section" module="core">Directory</directive>-,
1364 <directive type="section" module="core">Location</directive>-
1365 <directive type="section" module="core">Files</directive>-Containers
1366 angegeben wird, erzwingt die Direktive die Auslieferung aller
1367 entsprechenden Dateien mit dem Content-Type, der durch
1368 <var>MIME-Type</var> definiert wurde. Wenn Sie zum Beispiel ein
1369 Verzeichnis voller GIF-Dateien haben, die Sie nicht alle durch
1370 <code>.gif</code> kennzeichnen wollen, können Sie angeben:</p>
1376 <p>Beachten Sie bitte, dass die Direktive anders als <directive
1377 module="core">DefaultType</directive> alle MIME-Type-Zuordnungen
1378 überschreibt, einschließlich Dateiendungen, die einen
1379 Medientyp bezeichnen könnten.</p>
1381 <p>Sie können jede <directive>ForceType</directive>-Angabe
1382 durch die Verwendung des Wertes <code>None</code> überschreiben:</p>
1385 # erzwinge image/gif für alle Dateien:<br />
1386 <Location /images><br />
1388 ForceType image/gif<br />
1390 </Location><br />
1392 # hier jedoch normale MIME-Type-Zuordnungen:<br />
1393 <Location /images/mixed><br />
1395 ForceType None<br />
1400 </directivesynopsis>
1403 <name>HostnameLookups</name>
1404 <description>Aktiviert DNS-Lookups auf Client-IP-Adressen</description>
1405 <syntax>HostnameLookups On|Off|Double</syntax>
1406 <default>HostnameLookups Off</default>
1407 <contextlist><context>server config</context><context>virtual host</context>
1408 <context>directory</context></contextlist>
1411 <p>Diese Direktive aktiviert die DNS-Abfrage <transnote>ein sogenannter
1412 DNS-Lookup</transnote>, so dass Hostnamen protokolliert (und in
1413 <code>REMOTE_HOST</code> an CGIs/SSIs übergeben) werden könnnen.
1414 Der Wert <code>Double</code> bezieht sich auf ein
1415 Double-Reverse-DNS-Lookup. D.h. nachdem ein Reverse-Lookup
1416 durchgeführt wurde, wird dann auf dem Ergebnis ein
1417 Forward-Lookup ausgeführt. Wenigstens eine der IP-Adressen
1418 aus dem Forward-Lookup muss der Originaladresse entsprechen.
1419 (In der "tcpwrappers"-Terminologie wird dies <code>PARANOID</code>
1422 <p>Unabhängig von der Einstellung wird ein Double-Reverse-Lookup
1423 durchgeführt, wenn <module>mod_authz_host</module> zur
1424 Zugriffskontrolle per Hostnamen eingesetzt wird. Dies ist aus
1425 Sicherheitsgründen notwendig. Beachten Sie, dass das Ergebnis dieses
1426 Double-Reverse-Lookups nicht generell verfügbar ist, solange Sie
1427 nicht <code>HostnameLookups Double</code> setzen. Wenn beispielsweise
1428 nur <code>HostnameLookups On</code> angegeben ist und eine Anfrage
1429 für ein Objekt erfolgt, welches durch Hostnamen-Beschränkungen
1430 geschützt ist, dann wird CGIs nur das Ergebnis des
1431 Singel-Reverse-Lookups in <code>REMOTE_HOST</code> übergeben,
1432 egal ob das Doble-Reverse-Lookup fehlschlug oder nicht.</p>
1434 <p>Die Voreinstellung ist <code>Off</code>, um Netzwerktraffic bei den
1435 Angeboten einzusparen, die nicht tatsächlich Reverse-Lookups
1436 benötigen. Es ist auch für die Endanwender besser, da sie nicht
1437 die zusätzliche Wartezeit ertragen müssen, die ein Lookup mit
1438 sich bringt. Hoch frequentierte Angebote sollten diese Direktive auf
1439 <code>Off</code>lassen. Das Hilfsprogramm <program>
1440 logresolve</program>, das standardmäßig in das
1441 Unterverzeichnis <code>bin</code> Ihres Installationsverzeichnisses
1442 kompiliert wird, kann dazu verwendet werden, um offline Hostnamen von
1443 protokollierten IP-Adressen nachzuschlagen.</p>
1445 </directivesynopsis>
1447 <directivesynopsis type="section">
1448 <name>IfDefine</name>
1449 <description>Schließt Direktiven ein, die nur ausgeführt werden,
1450 wenn eine Testbedingung beim Start wahr ist</description>
1451 <syntax><IfDefine [!]<var>Parametername</var>> ...
1452 </IfDefine></syntax>
1453 <contextlist><context>server config</context><context>virtual host</context>
1454 <context>directory</context><context>.htaccess</context>
1456 <override>All</override>
1459 <p>Der Container <code><IfDefine <var>Test</var>>...</IfDefine>
1460 </code> wird dazu verwendet, Direktiven als bedingt zu kennzeichnen.
1461 Die Direktiven innerhalb eines <directive
1462 type="section">IfDefine</directive>-Abschnittes werden nur ausgeführt,
1463 wenn <var>Test</var> wahr ist. Ist <var>Test</var> falsch, wird alles
1464 zwischen der Start- und Endemarkierung ignoriert.</p>
1466 <p>In der <directive type="section">IfDefine</directive>-Anweisung kann
1467 <var>Test</var> eine von zwei Formen annehmen:</p>
1470 <li><var>Parametername</var></li>
1472 <li><code>!</code><var>Parametername</var></li>
1475 <p>Im ersten Fall werden die Direktiven zwischen der Start- und
1476 Endemarkierung nur ausgeführt, wenn der Parameter namens
1477 <var>Parametername</var> definiert ist. Die zweite Form kehrt den
1478 Test um und führt die Direktiven nur dann aus, wenn
1479 <var>Parametername</var> <strong>nicht</strong> definiert ist.</p>
1481 <p>Das Argument <var>Parametername</var> ist ein sogenanntes
1482 "Define", das beim beim Start des Servers in der
1483 <program>httpd</program>-Befehlszeile durch
1484 <code>-D<var>Parameter</var></code> angegeben wird.</p>
1486 <p><directive type="section">IfDefine</directive>-Container können
1487 ineinander verschachtelt werden, um einfache Multi-Parameter-Tests
1488 zu implementieren. Beispiel:</p>
1491 httpd -DReverseProxy ...<br />
1494 <IfDefine ReverseProxy><br />
1496 LoadModule rewrite_module modules/mod_rewrite.so<br />
1497 LoadModule proxy_module modules/libproxy.so<br />
1502 </directivesynopsis>
1504 <directivesynopsis type="section">
1505 <name>IfModule</name>
1506 <description>Schließt Direktiven ein, die abhängig vom
1507 Vorhandensein oder Fehlen eines speziellen Moduls ausgeführt
1508 werden</description>
1509 <syntax><IfModule [!]<var>Modulname</var>|<var>Modulbezeichner</var>>
1510 ... </IfModule></syntax>
1511 <contextlist><context>server config</context><context>virtual host</context>
1512 <context>directory</context><context>.htaccess</context>
1514 <override>All</override>
1515 <compatibility>Modulbezeichner sind ab Version 2.1
1516 verfügbar.</compatibility>
1520 <p>Der Container <code><IfModule
1521 <var>Test</var>>...</IfModule></code> wird dazu verwendet,
1522 Direktiven als abhängig von dem Vorhandensein eines speziellen
1523 Moduls zu kennzeichnen. Die Direktiven innerhalb eines <directive
1524 type="section">IfModule</directive>-Abschnitts werden nur
1525 ausgeführt, wenn <var>Test</var> wahr ist. Ist <var>Test</var>
1526 falsch, wird alles zwischen der Start- und Endemarkierung ignoriert.</p>
1528 <p>In der <directive type="section">IfModule</directive>-Anweisung
1529 kann <var>Test</var> eine von zwei Formen annehmen:</p>
1532 <li><var>Modul</var></li>
1534 <li><code>!</code><var>Modul</var></li>
1537 <p>Im ersten Fall werden die Direktiven zwischen der Start- und
1538 Endemarkierung nur ausgeführt, das Modul namens
1539 <var>Modul</var> im Apache enthalten ist -- entweder einkompiliert
1540 oder mittels <directive module="mod_so">LoadModule</directive>
1541 dynamisch geladen. Die zweite Form dreht den Test um und führt die
1542 Direktiven nur aus, wenn <var>Modul</var> <strong>nicht</strong>
1545 <p>Das Argument <var>Modul</var> kann entweder der Modulbezeichner oder
1546 der Dateiname des Moduls zum Zeitpunkt seiner Kompilierung sein.
1547 <code>rewrite_module</code> beispielsweise ist der Bezeichner und
1548 <code>mod_rewrite.c</code> ist der Dateiname. Wenn ein Modul aus mehreren
1549 Quelltext-Dateien besteht, verwenden Sie den Namen der Datei, welche die
1550 Zeichenfolge <code>STANDARD20_MODULE_STUFF</code> enthält.</p>
1552 <p><directive type="section">IfModule</directive>-Container können
1553 inneinander verschachtelt werden, um einfache Multi-Modul-Tests
1554 durchzuführen.</p>
1556 <p>Dieser Container sollte verwendet werden, wenn Sie eine
1557 Konfigurationsdatei benötigen, die unabhängig davon funktioniert,
1558 ob ein bestimmtes Modul verfügbar ist oder nicht. Normalerweise
1559 ist es nicht notwendig, Direktiven in <directive
1560 type="section">IfModule</directive>-Containern unterzubringen.</p>
1562 </directivesynopsis>
1565 <name>Include</name>
1566 <description>Fügt andere Konfigurationsdateien innerhalb der
1567 Server-Konfigurationsdatei ein</description>
1568 <syntax>Include <var>Dateiname</var>|<var>Verzeichnis</var></syntax>
1569 <contextlist><context>server config</context><context>virtual host</context>
1570 <context>directory</context>
1572 <compatibility>Die Platzhalter-Suche ist verfügbar seit
1573 2.0.41</compatibility>
1576 <p>Die Direktive erlaubt das Einfügen anderer Konfigurationsdateien
1577 in die Konfigurationsdatei des Servers.</p>
1579 <p>Shell-typische (<code>fnmatch()</code>) Platzhlaterzeichen können
1580 dazu verwendet werden, mehrere Dateien auf einmal in alphabetischer
1581 Reihenfolge einzufügen. Wenn <directive>Include</directive>
1582 darüber hinaus auf ein Verzeichnis anstatt auf eine Datei zeigt,
1583 liest der Apache alle Dateien in diesem Verzeichnis und allen
1584 Unterverzeichnissen ein. Das Einfügen ganzer Verzeichnisse ist
1585 jedoch nicht empfehlenswert, da temporäre Dateien sehr leicht
1586 versehentlich in einem Verzeichnis zurückgelassen werden, was
1587 <program>httpd</program> scheitern lassen kann.</p>
1589 <p>Der angegebene Dateiname kann ein absoluter Pfad sein oder relativ zum
1590 <directive module="core">ServerRoot</directive>-Verzeichnis angegeben
1596 Include /usr/local/apache2/conf/ssl.conf<br />
1597 Include /usr/local/apache2/conf/vhosts/*.conf
1600 <p>Oder Sie geben Pfade relativ zu Ihrem <directive
1601 module="core">ServerRoot</directive>-Verzeichnis an:</p>
1604 Include conf/ssl.conf<br />
1605 Include conf/vhosts/*.conf
1608 <p>Der Aufruf von <code>apachectl configtest</code> liefert eine Liste
1609 der Dateien, die während des Konfigurations-Tests verarbeitet
1613 root@host# apachectl configtest<br />
1614 Processing config file: /usr/local/apache2/conf/ssl.conf<br />
1615 Processing config file: /usr/local/apache2/conf/vhosts/vhost1.conf<br />
1616 Processing config file: /usr/local/apache2/conf/vhosts/vhost2.conf<br />
1621 <seealso><program>apachectl</program></seealso>
1622 </directivesynopsis>
1625 <name>KeepAlive</name>
1626 <description>Aktiviert persistente HTTP-Verbindungen</description>
1627 <syntax>KeepAlive On|Off</syntax>
1628 <default>KeepAlive On</default>
1629 <contextlist><context>server config</context><context>virtual host</context>
1633 <p>Die Keep-Alive-Erweiterung von HTTP/1.0 und die
1634 HTTP/1.1-Funktionalität persistenter Verbindungen unterstützt
1635 langlebige HTTP-Sitzungen, die es erlauben, mehrere Anfragen über
1636 die gleich TCP-Verbindung zu senden. In einigen Fällen wurde eine
1637 Beschleunigung der Wartezeiten von beinahe 50% für HTML-Dokumente
1638 mit vielen Bildern festgestellt. Um Keep-Alive-Verbindungen zu aktivieren,
1639 setzen Sie <code>KeepAlive On</code>.</p>
1641 <p>Bei HTTP/1.0-Clients werden Keep-Alive-Verbindungen nur dann verwendet,
1642 wenn sie vom Client eigens angefordert werden. Desweiteren können
1643 Keep-Alive-Verbindungen bei einem HTTP/1.0-Client nur dann verwendet
1644 werden, wenn die Länge des Inhalts im Voraus bekannt ist. Dies
1645 impliziert, dass dynamische Inhalte wie CGI-Ausgaben, SSI-Seiten und
1646 servergenerierte Verzeichnisauflistungen im Allgemeinen keine
1647 Keep-Alive-Verbindungen mit HTTP/1.0-Clients verwenden. Bei
1648 HTTP/1.1-Clients sind Keep-Alive-Verbindungen Voreinstellung, solange
1649 nichts anderes angegeben ist. Wenn der Client es anfordert, wird
1650 Chunked-Encoding verwendet, um Inhalte mit unbekannter Länge
1651 über persistente Verbindungen zu senden.</p>
1654 <seealso><directive module="core">MaxKeepAliveRequests</directive></seealso>
1655 </directivesynopsis>
1658 <name>KeepAliveTimeout</name>
1659 <description>Zeitspanne, die der Server während persistenter Verbindungen
1660 auf nachfolgende Anfragen wartet</description>
1661 <syntax>KeepAliveTimeout <var>Sekunden</var></syntax>
1662 <default>KeepAliveTimeout 5</default>
1663 <contextlist><context>server config</context><context>virtual host</context>
1667 <p>Dies legt die Anzahl der Sekunden fest, die der Apache auf weitere
1668 Anfragen wartet, bevor er die Verbindung schließt. Nachdem einmal
1669 eine Anfrage entgegen genommen wurde, wird die durch die Direktive
1670 <directive module="core">Timeout</directive> festgelegte Auszeit
1673 <p>Auf stark belasteten Servern kann ein hoher
1674 <directive>KeepAliveTimeout</directive>-Wert zu Durchsatzminderungen
1675 führen. Je höher die Auszeit angegeben ist, desto länger
1676 ist der Apache damit beschäftigt, auf untätige Clients zu
1679 </directivesynopsis>
1681 <directivesynopsis type="section">
1683 <description>Beschränkt die eingeschlossenen Zugriffskontrollen auf
1684 bestimmte HTTP-Methoden</description>
1685 <syntax><Limit <var>Methode</var> [<var>Methode</var>] ... > ...
1686 </Limit></syntax>
1687 <contextlist><context>server config</context><context>virtual host</context>
1688 <context>directory</context><context>.htaccess</context>
1690 <override>All</override>
1693 <p>Zugriffskontrollen gelten normalerweise für <strong>alle</strong>
1694 Zugriffsmethoden, was normalerweise auch das gewünschte Verhalten ist.
1695 <strong>Im Allgemeinen sollten Zugriffskontrollen nicht in einen
1696 <directive type="section">Limit</directive>-Container gepackt
1697 werden.</strong></p>
1699 <p>Der Sinn der Direktive <directive type="section">Limit</directive>
1700 ist es, den Effekt der Zugriffskontrollen auf die angegebenen
1701 HTTP-Methoden zu beschränken. Bei allen anderen Methoden haben
1702 die in der <directive type="section">Limit</directive>-Gruppe
1703 enthaltenen Zugriffsbeschränkungen <strong>keine Wirkung</strong>.
1704 Im folgenden Beispiel gilt die Zugriffskontrolle nur für die
1705 Methoden <code>POST</code>, <code>PUT</code> und <code>DELETE</code>.
1706 Alle anderen Methoden bleiben ungeschützt:</p>
1709 <Limit POST PUT DELETE><br />
1711 Require valid-user<br />
1716 <p>Sie können eine oder mehrere der folgenden Methoden angeben:
1717 <code>GET</code>, <code>POST</code>, <code>PUT</code>, <code>DELETE</code>,
1718 <code>CONNECT</code>, <code>OPTIONS</code>,
1719 <code>PATCH</code>, <code>PROPFIND</code>, <code>PROPPATCH</code>,
1720 <code>MKCOL</code>, <code>COPY</code>, <code>MOVE</code>,
1721 <code>LOCK</code> und <code>UNLOCK</code>. <strong>Die Methodennamen
1722 unterscheiden zwischen Groß- und Kleinschreibung.</strong> Wenn
1723 <code>GET</code> verwendet wird, sind <code>HEAD</code>-Anfragen
1724 ebenfalls eingeschränkt. Die <code>TRACE</code>-Methode kann nicht
1725 limitiert werden.</p>
1727 <note type="warning">
1728 Wenn es um Zugriffsbeschränkungen geht, sollte
1729 ein <directive module="core" type="section"
1730 >LimitExcept</directive>-Container sollte immer einem <directive
1731 module="core" type="section">Limit</directive>-Container vorgezogen
1732 werden, da <directive module="core" type="section">LimitExcept</directive>
1733 einen Schutz gegen beliebige Methoden bietet.
1736 </directivesynopsis>
1738 <directivesynopsis type="section">
1739 <name>LimitExcept</name>
1740 <description>Beschränkt Zugriffskontrollen auf alle HTTP-Methoden
1741 außer den genannten</description>
1742 <syntax><LimitExcept <var>Methode</var> [<var>Methode</var>] ... > ...
1743 </LimitExcept></syntax>
1744 <contextlist><context>server config</context><context>virtual host</context>
1745 <context>directory</context><context>.htaccess</context>
1747 <override>All</override>
1750 <p><directive type="section">LimitExcept</directive> und
1751 <code></LimitExcept></code> werden dazu verwendet, eine Gruppe
1752 von Anweisungen zur Zugriffskontrolle zusammenzufassen, die dann auf
1753 jede HTTP-Methode angewendet werden, die <strong>nicht</strong>
1754 als Argument angegeben ist. D.h. dies ist das Gegenteil des
1755 <directive type="section" module="core">Limit</directive>-Containers
1756 und kann zur Steuerung von Standard- und nicht-Standard-/unbekannten
1757 Methoden verwendet werden. Für weitere Einzelheiten lesen Sie bitte
1758 die Beschreibung zu <directive module="core"
1759 type="section">Limit</directive>.</p>
1764 <LimitExcept POST GET><br />
1766 Require valid-user<br />
1768 </LimitExcept>
1772 </directivesynopsis>
1775 <name>LimitInternalRecursion</name>
1776 <description>Bestimmt die maximale Anzahl interner Umleitungen und
1777 verschachtelter Unteranfragen</description>
1778 <syntax>LimitInternalRecursion <var>Zahl</var> [<var>Zahl</var>]</syntax>
1779 <default>LimitInternalRecursion 10</default>
1780 <contextlist><context>server config</context><context>virtual host</context>
1782 <compatibility>Verfügbar ab Apache 2.0.47</compatibility>
1785 <p>Eine interne Umleitung erfolgt beispielsweise, wenn die Direktive
1786 <directive module="mod_actions">Action</directive> verwendet wird, welche
1787 die Originalanfrage intern zu einem CGI-Skript weiterleitet. Eine
1788 Unteranfrage <transnote>engl. Subrequest</transnote> ist ein Mechanismus des
1789 Apache, um herauszufinden, was bei einer URI geschehen würde, wäre
1790 sie angefordert worden. <module>mod_dir</module> z.B. verwendet
1791 Unteranfragen, um nach den Dateien zu suchen, die in der <directive
1792 module="mod_dir">DirectoryIndex</directive>-Anweisung aufgeführt
1795 <p><directive>LimitInternalRecursion</directive> bewahrt den Server vor
1796 einem Absturz, wenn er in eine Endlosschleife aus internen Umleitungen
1797 oder Unteranfragen hineinläuft. Derartige Schleifen werden
1798 gewöhnlich durch Fehlkonfiguration verursacht.</p>
1800 <p>Die Direktive setzt zwei verschiedene Begrenzungen, welche je Anfrage
1801 ausgewertet werden. Die erste <var>Zahl</var> bestimmt die maximale
1802 Anzahl der Umleitungen, die aufeinander folgen dürfen. Die zweite
1803 <var>Zahl</var> legt fest, wie tief Unteranfragen ineinander
1804 verschachtelt werden dürfen. Wenn Sie lediglich eine <var>Zahl</var>
1805 angeben, wird sie beiden Begrenzungen zugewiesen.</p>
1807 <example><title>Beispiel</title>
1808 LimitInternalRecursion 5
1811 </directivesynopsis>
1814 <name>LimitRequestBody</name>
1815 <description>Begrenzt die Gesamtgröße des vom Client gesendeten
1816 HTTP-Request-Body</description>
1817 <syntax>LimitRequestBody <var>Bytes</var></syntax>
1818 <default>LimitRequestBody 0</default>
1819 <contextlist><context>server config</context><context>virtual host</context>
1820 <context>directory</context><context>.htaccess</context>
1822 <override>All</override>
1825 <p>Die Direktive gibt die Anzahl der <var>Bytes</var> zwischen 0
1826 (unbegrenzt) und 2147483647 (2GB) an, die im Request-Body (Datenteil der
1827 Anfrage) erlaubt sind.</p>
1829 <p>Die Direktive <directive>LimitRequestBody</directive> erlaubt es dem
1830 Benutzer, die Größe des HTTP-Request-Bodys in dem Kontext zu
1831 begrenzen, in dem die Anweisung angegeben ist (Server, pro Verzeichnis,
1832 pro Datei oder pro Adresse). Wenn die Anfrage des Clients dieses Limit
1833 überschreitet, gibt der Server einen Fehler zurück anstatt die
1834 Anfrage zu bearbeiten. Die Größe des Datenteils einer Anfrage
1835 kann sehr stark variieren, abhängig von der Art der Ressource und
1836 den für diese Ressource erlaubten Methoden. CGI-Skripte verwenden
1837 den Datenteil üblicherweise zum Empfang von Formulardaten. Wird
1838 die <code>PUT</code>-Methode angewendet, dann muss der Wert mindestens
1839 so groß sein wie irgendeine Darstellungsform, die der Server
1840 für diese Ressource akzeptieren soll.</p>
1842 <p>Die Direktive gibt dem Serveradministrator eine größere
1843 Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der
1844 Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich
1847 <p>Wenn Sie beispielsweise das Hochladen von Dateien zu einer bestimmten
1848 Adresse erlauben, aber die Größe der hochgeladenen Dateien
1849 auf 100K beschränken wollen, können Sie die folgende Anweisung
1853 LimitRequestBody 102400
1857 </directivesynopsis>
1860 <name>LimitRequestFields</name>
1861 <description>Begrenzt die Anzahl der HTTP-Request-Header, die vom Client
1862 entgegengenommen werden</description>
1863 <syntax>LimitRequestFields <var>Anzahl</var></syntax>
1864 <default>LimitRequestFields 100</default>
1865 <contextlist><context>server config</context></contextlist>
1868 <p><var>Anzahl</var> ist ein Integer-Wert (eine positive Ganzzahl)
1869 zwischen 0 (unbegrenzt) und 32767. Die Voreinstellung wird durch die
1870 Konstante <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (<code>100</code>
1871 bei der Auslieferung) zur Kompilierungszeit gesetzt.</p>
1873 <p>Die Direktive <directive>LimitRequestFields</directive> erlaubt es
1874 dem Serveradministrator, die maximale Anzahl der in einem HTTP-Request
1875 erlaubten HTTP-Request-Header zu verändern. Für den Server
1876 muss dieser Wert größer sein als die Anzahl der Headerzeilen,
1877 die ein normaler Client senden könnte. Die Anzahl der Request-Header,
1878 die ein gewöhnlicher Client verwendet, überschreitet selten 20
1879 Zeilen. Allerdings kann dies zwischen den verschiedenen
1880 Client-Ausführungen variieren, oft abhängig vom Ausmaß,
1881 mit dem der Anwender die genaue Content-Negotiation-Unterstützung
1882 seines Browsers konfiguriert hat. Optionale HTTP-Erweiterungen
1883 äußern sich oft in Form von HTTP-Headern.</p>
1885 <p>Die Direktive gibt dem Serveradministrator eine größere
1886 Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der
1887 Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich
1888 sein kann. Der Wert sollte erhöht werden, wenn normale Clients
1889 eine Fehlermeldung vom Server erhalten, die besagt, dass mit der Anfrage
1890 zu viele Headerzeilen gesendet wurden.</p>
1895 LimitRequestFields 50
1899 </directivesynopsis>
1902 <name>LimitRequestFieldSize</name>
1903 <description>Begrenzt die Länge des vom Client gesendeten
1904 HTTP-Request-Headers</description>
1905 <syntax>LimitRequestFieldsize <var>Bytes</var></syntax>
1906 <default>LimitRequestFieldsize 8190</default>
1907 <contextlist><context>server config</context></contextlist>
1910 <p>Die Direktive gibt die Anzahl der <var>Bytes</var> an, die in einem
1911 HTTP-Header erlaubt sind.</p>
1913 <p>Die Direktive <directive>LimitRequestFieldsize</directive> erlaubt es
1914 dem Serveradministrator, die maximale Größe eines
1915 HTTP-Request-Headers zu verringern oder erhöhen. Für den Server
1916 muss der Wert groß genug sein, um eine beliebige Headerzeile einer
1917 normalen Client-Anfrage vorzuhalten. Die Größe variiert stark
1918 zwischen den verschiedenen Client-Ausführungen, oft abhängig vom
1919 Ausmaß, mit dem der Anwender die genaue
1920 Content-Negotiation-Unterstützung seines Browsers konfiguriert hat.
1921 SPNEGO-Authentisierungs-Header können bis zu 12392 Bytes lang
1924 <p>Die Direktive gibt dem Serveradministrator eine größere
1925 Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der
1926 Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich
1932 LimitRequestFieldSize 4094
1935 <note>Unter normalen Umständen sollte die Voreinstellung nicht
1936 verändert werden.</note>
1938 </directivesynopsis>
1941 <name>LimitRequestLine</name>
1942 <description>Begrenzt die Länge der vom Client entgegengenommenen
1943 HTTP-Anfragezeile</description>
1944 <syntax>LimitRequestLine <var>Bytes</var></syntax>
1945 <default>LimitRequestLine 8190</default>
1946 <contextlist><context>server config</context></contextlist>
1949 <p>Die Direktive legt die Anzahl der <var>Bytes</var> fest, die in der
1950 HTTP-Anfragezeile erlaubt sind.</p>
1952 <p>Die Direktive <directive>LimitRequestLine</directive> erlaubt es dem
1953 Serveradministrator, die maximale Größe der
1954 HTTP-Anfragezeile zu verringern oder erhöhen. Da
1955 die Anfragezeile aus der HTTP-Methode, der URI und der Protokollversion
1956 besteht, bedeutet die <directive>LimitRequestLine</directive>-Direktive
1957 eine Beschränkung der Länge der für eine Anfrage an den
1958 Server erlaubten Anfrage-URI. Für den Server muss der Wert groß
1959 genug sein, um jeden seiner Ressourcennamen vorzuhalten,
1960 einschließlich aller Informationen, die im Query-String einer
1961 <code>GET</code>-Anfrage übergeben werden können.</p>
1963 <p>Die Direktive gibt dem Serveradministrator eine größere
1964 Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der
1965 Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich
1971 LimitRequestLine 4094
1974 <note>Unter normalen Umständen sollte die Voreinstellung nicht
1975 verändert werden.</note>
1977 </directivesynopsis>
1980 <name>LimitXMLRequestBody</name>
1981 <description>Begrenzt die Größe eines XML-basierten
1982 Request-Bodys</description>
1983 <syntax>LimitXMLRequestBody <var>Bytes</var></syntax>
1984 <default>LimitXMLRequestBody 1000000</default>
1985 <contextlist><context>server config</context><context>virtual host</context>
1986 <context>directory</context><context>.htaccess</context></contextlist>
1987 <override>All</override>
1990 <p>Dies gibt die Grenze für die maximale Größe (in Bytes)
1991 des XML-basierten Request-Bodys an. Der Wert <code>0</code> deaktiviert
1992 diese Prüfung.</p>
1997 LimitXMLRequestBody 0
2001 </directivesynopsis>
2003 <directivesynopsis type="section">
2004 <name>Location</name>
2005 <description>Wendet die enthaltenen Direktiven nur auf die entsprechenden
2006 URLs an</description>
2007 <syntax><Location
2008 <var>URL-Pfad</var>|<var>URL</var>> ... </Location></syntax>
2009 <contextlist><context>server config</context><context>virtual host</context>
2013 <p>Die Direktive <directive type="section">Location</directive>
2014 begrenzt die Reichweite der enthaltenen Anweisungen auf URLs.
2015 Sie ist der Direktive <directive type="section"
2016 module="core">Directory</directive> ähnlich und startet einen
2017 Abschnitt, der mit der Anweisung <code></Location></code>
2018 abgeschlossen wird. <directive
2019 type="section">Location</directive>-Container werden, nachdem die
2020 <directive type="section" module="core">Directory</directive>-Container
2021 und <code>.htaccess</code>-Dateien gelesen wurden, und nach den
2022 <directive type="section" module="core">Files</directive>-Containern, in
2023 der Reihenfolge ausgeführt, in der sie in der Konfigurationsdatei
2026 <p><directive type="section">Location</directive>-Abschnitte operieren
2027 vollständig außerhalb des Dateisystems. Dies hat mehrere
2028 Konsequenzen. An Wichtigsten, <directive
2029 type="section">Location</directive>-Anweisungen sollten nicht dafür
2030 verwendet werden, den Zugriff zu Teilen des Dateisystems zu steuern. Da
2031 mehrere unterschiedliche URLs auf die gleiche Stelle des Dateisystems
2032 zeigen können, könnte eine solche Zugriffskontrolle u.U.
2033 umgangen werden.</p>
2035 <note><title>Wann sollte<directive
2036 type="section">Location</directive> verwendet werden</title>
2038 <p>Verwenden Sie <directive type="section">Location</directive>, um
2039 Anweisungen auf Inhalte anzuwenden, die außerhalb des Dateisystems
2040 abgelegt sind. Benutzen Sie <directive
2041 type="section" module="core">Directory</directive> und <directive
2042 type="section" module="core">Files</directive> für Inhalte, die
2043 innerhalb des Dateisystems abgelegt sind. Eine Ausnahme bildet
2044 <code><Location /></code>, welches ein einfacher Weg ist, um eine
2045 Konfiguration auf den gesamten Server anzuwenden.</p>
2048 <p>Für alle nicht-Proxy-Anfragen ist die entsprechende URL
2049 ein URL-Pfad in der Form <code>/path/</code>. Es dürfen weder ein
2050 Schema, noch ein Hostname, noch ein Port, noch ein Query-String einbezogen
2051 werden. Für Proxy-Anfragen hat die Vergleichs-URL die Form
2052 <code>schema://servername/path</code>. Das Präfix muss angegeben
2055 <p>Die URL kann Platzhalter verwenden. In einer Zeichenfolge mit
2056 Platzhaltern entspricht <code>?</code> einem einzelnen Zeichen und
2057 <code>*</code>einer beliebigen Zeichenfolge.</p>
2059 <p>Erweiterte <glossary ref="regex">reguläre
2060 Ausdrücke</glossary> können ebenfalls verwendet werden, indem
2061 das Zeichen <code>~</code> hinzugefügt wird. Beispielsweise
2065 <Location ~ "/(extra|special)/data">
2068 <p>auf URLs passen, welche die Zeichenfolge <code>/extra/data</code>
2069 oder <code>/special/data</code> enthalten. Die Direktive <directive
2070 type="section" module="core">LocationMatch</directive> verhält sich
2071 genauso wie <directive type="section">Location</directive> mit
2072 regulären Ausdrücken.</p>
2074 <p>Die Funktionalität von <directive
2075 type="section">Location</directive> ist insbesondere dann nützlich,
2076 wenn sie mit der <directive module="core">SetHandler</directive>-Direktive
2077 kombiniert wird. Um zum Beispiel Statusabfragen zu aktivieren, sie aber
2078 nur von Browsern aus <code>foo.com</code> zuzulassen, könnten Sie
2082 <Location /status><br />
2084 SetHandler server-status<br />
2085 Order Deny,Allow<br />
2087 Allow from .foo.com<br />
2092 <note><title>Anmerkung zu / (Schrägstrich, Slash)</title>
2093 <p>Das Slash-Zeichen hat eine besondere Bedeutung, je nachdem, wo es
2094 in der URL erscheint. Manche werden sein Verhalten vom Dateisystem
2095 gewohnt sein, wo mehrere aufeinanderfolgende Schrägstriche
2096 häufig zu einem Schrägstrich zusammengefaßt werden
2097 (<em>d.h.</em> <code>/home///foo</code> ist das gleiche wie
2098 <code>/home/foo</code>). Im URL-Raum ist dies nicht notwendigerweise
2099 genauso. Bei der Direktive <directive type="section"
2100 module="core">LocationMatch</directive> und der <directive type="section"
2101 >Location</directive>-Version mit regulären Ausdrücken
2102 müssen Sie explizit mehrere Schrägstriche angeben, wenn Sie
2103 genau dies beabsichtigen.</p>
2105 <p>Beispielsweise würde <code><LocationMatch ^/abc></code>
2106 auf die angeforderte URL <code>/abc</code> passen, nicht aber auf
2107 <code>//abc</code>. Die Direktive <directive type="section"
2108 >Location</directive> (ohne reguläre Ausdrücke) verhält
2109 sich ähnlich, wenn sie für Proxy-Anfragen verwendet wird.
2110 Wenn <directive type="section">Location</directive> (ohne
2111 reguläre Ausdrücke) jedoch für nicht-Proxy-Anfragen
2112 verwendet wird, werden stillscheigend mehrere Schrächstriche mit
2113 mit einem einzigen Schrägstrich gleichgesetzt. Geben Sie
2114 beispielsweise <code><Location /abc/def></code> an und die
2115 Anfrage lautet auf <code>/abc//def</code>, dann greift die Anweisung.</p>
2118 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
2119 <Location> und <Files> arbeiten</a> für eine
2120 Erläuterung, wie diese verschiedenen Abschnitte miteinander
2121 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
2122 </directivesynopsis>
2124 <directivesynopsis type="section">
2125 <name>LocationMatch</name>
2126 <description>Wendet die enthaltenen Direktiven nur auf URLs an, die auf
2127 reguläre Ausdrücke passen</description>
2128 <syntax><LocationMatch
2129 <var>regex</var>> ... </LocationMatch></syntax>
2130 <contextlist><context>server config</context><context>virtual host</context>
2134 <p>Die Direktive <directive type="section">LocationMatch</directive>
2135 begrenzt die Reichweite der enthaltenen Anweisungen in der gleichen Weise
2136 wie <directive module="core" type="section">Location</directive> auf URLs.
2137 Sie verwendet jedoch <glossary ref="regex">reguläre
2138 Ausdrücke</glossary> als Argument anstelle einer einfachen
2139 Zeichenkette. Beispielsweise würde</p>
2142 <LocationMatch "/(extra|special)/data">
2145 <p>auf URLs passen, welche die Zeichenfolge <code>/extra/data</code>
2146 oder <code>/special/data</code> enthalten.</p>
2149 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
2150 <Location> und <Files> arbeiten</a> für eine
2151 Erläuterung, wie diese verschiedenen Abschnitte miteinander
2152 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
2153 </directivesynopsis>
2156 <name>LogLevel</name>
2157 <description>Steuert die Ausführlichkeit des Fehlerprotokolls</description>
2158 <syntax>LogLevel <var>Level</var></syntax>
2159 <default>LogLevel warn</default>
2160 <contextlist><context>server config</context><context>virtual host</context>
2164 <p><directive>LogLevel</directive> stellt die Ausführlichkeit
2165 der Nachrichten ein, die im Fehlerprotokoll aufgezeichnet werden (siehe
2166 Direktive <directive module="core">ErrorLog</directive>). Die folgenden,
2167 nach absteigender Aussagekraft sortierten <var>Level</var> sind
2171 <columnspec><column width=".2"/><column width=".3"/><column width=".5"/>
2174 <th><strong>Level</strong> </th>
2176 <th><strong>Beschreibung</strong> </th>
2178 <th><strong>Beispiel</strong> </th>
2182 <td><code>emerg</code> </td>
2184 <td>Notfall - das System ist unbenutzbar.</td>
2186 <td>"Child cannot open lock file. Exiting"
2187 <transnote>"Kindprozess kann die Lock-Datei nicht öffnen.
2188 Beende Programm"</transnote></td>
2192 <td><code>alert</code> </td>
2194 <td>Maßnahmen müssen unverzüglich ergriffen
2197 <td>"getpwuid: couldn't determine user name from uid"
2198 <transnote>"getpwuid: kann keinen Benutzernamen aus der UID
2199 ermitteln"</transnote></td>
2203 <td><code>crit</code> </td>
2205 <td>Kritischer Zustand.</td>
2207 <td>"socket: Failed to get a socket, exiting child"
2208 <transnote>"socket: Socket-Zuweisung fehlgeschlagen, beende
2209 Kindprozess"</transnote></td>
2213 <td><code>error</code> </td>
2215 <td>Fehlerbedingung.</td>
2217 <td>"Premature end of script headers"
2218 <transnote>"Vorzeitiges Ende der Skript-Header"</transnote></td>
2222 <td><code>warn</code> </td>
2226 <td>"child process 1234 did not exit, sending another SIGHUP"
2227 <transnote>"Kindprozess 1234 nicht beendet, sende ein weiteres
2228 SIGHUP"</transnote></td>
2232 <td><code>notice</code> </td>
2234 <td>Normaler, aber signifikanter Zustand.</td>
2236 <td>"httpd: caught SIGBUS, attempting to dump core in ..."
2237 <transnote>"httpd: SIGBUS empfangen, versuche Speicherabbild nach ...
2238 zu schreiben"</transnote></td>
2242 <td><code>info</code> </td>
2244 <td>Information.</td>
2246 <td>"Server seems busy, (you may need to increase
2247 StartServers, or Min/MaxSpareServers)..."
2248 <transnote>"Server scheint beschäftigt zu sein,
2249 (möglicherweise müssen Sie StartServers oder
2250 Min/MaxSpareServers erhöhen)"</transnote></td>
2254 <td><code>debug</code> </td>
2256 <td>Debug-Level-Nachrichten</td>
2258 <td>"Opening config file ..."
2259 <transnote>"Öffne Konfigurationsdatei ..."</transnote></td>
2263 <p>Geben Sie einen bestimmten Level an, denn werden Nachrichten von
2264 allen höheren Leveln ebenso angezeigt. <em>Z.B.:</em> Wenn
2265 <code>LogLevel info</code> eingestellt ist, dann werden Nachrichten der
2266 Log-Level <code>notice</code> und <code>warn</code> ebenso eingetragen.</p>
2268 <p>Es wird empfohlen, mindestens den Level <code>crit</code> zu
2277 <note><title>Hinweis</title>
2278 <p>Beim Protokollieren in eine reguläre Datei können
2279 Nachrichten des Levels <code>notice</code> nicht unterdrückt
2280 werden und werden daher immer protokolliert. Dies trifft allerdings
2281 nicht zu, wenn mittels <code>syslog</code> protokolliert wird.</p>
2284 </directivesynopsis>
2287 <name>MaxKeepAliveRequests</name>
2288 <description>Anzahl der Anfragen, die bei einer persistenten Verbindung
2289 zulässig sind</description>
2290 <syntax>MaxKeepAliveRequests <var>Anzahl</var></syntax>
2291 <default>MaxKeepAliveRequests 100</default>
2292 <contextlist><context>server config</context><context>virtual host</context>
2296 <p>Die Direktive <directive>MaxKeepAliveRequests</directive>
2297 begrenzt die Anzahl der Anfragen, die pro Verbindung zulässig sind,
2298 wenn <directive module="core" >KeepAlive</directive> eingeschaltet ist.
2299 Bei der Einstellung <code>0</code> sind unbegrenzt viele Anfragen
2300 erlaubt. Wir empfehlen für diese Einstellung einen hohen Wert
2301 für eine maximale Serverleistung.</p>
2306 MaxKeepAliveRequests 500
2309 </directivesynopsis>
2312 <name>NameVirtualHost</name>
2313 <description>Bestimmt eine IP-Adresse für den Betrieb namensbasierter
2314 virtueller Hosts</description>
2315 <syntax>NameVirtualHost <var>Adresse</var>[:<var>Port</var>]</syntax>
2316 <contextlist><context>server config</context></contextlist>
2319 <p>Die Direktive <directive>NameVirtualHost</directive> ist erforderlich,
2320 wenn Sie <a href="../vhosts/">namensbasierte virtuelle Hosts</a>
2321 konfigurieren möchten.</p>
2323 <p>Obwohl <var>Adresse</var> eine Hostname sein kann, wird empfohlen,
2324 dass Sie stets eine IP-Adresse verwenden, z.B.:</p>
2327 NameVirtualHost 111.22.33.44
2330 <p>Mit der <directive>NameVirtualHost</directive>-Anweisung geben Sie
2331 die IP-Adresse an, unter der der Server Anfragen für
2332 namensbasierte virtuelle Hosts entgegennimmt. Das ist üblicherweise
2333 die Adresse, zu der die Namen Ihrer namensbasierten virtuellen Hosts
2334 aufgelöst werden. Falls eine Firewall oder ein anderer Proxy die
2335 Anfrage in Empfang nimmt und Sie zu einer weiteren IP-Adresse des Servers
2336 weiterleitet, müssen Sie die IP-Adresse der physikalischen
2337 Schnittstelle der Maschine angeben, welche die Anfragen bedient.
2338 Wenn Sie mehrere namensbasierte Hosts an verschiedenen Adressen
2339 betreiben, wiederholen Sie einfach die Anweisung für jede
2342 <note><title>Anmerkung</title>
2343 <p>Beachten Sie, dass der "Hauptserver" und jeder
2344 <code>_default_</code>-Server <strong>niemals</strong> bei einer
2345 Anfrage an einer <directive>NameVirtualHost</directive>-IP-Adresse
2346 bedient wird (es sei denn, Sie geben aus irgendwelchen Gründen
2347 <directive>NameVirtualHost</directive> an, definieren dann aber keine
2348 <directive>VirtualHost</directive>s für diese Adresse).</p>
2351 <p>Optional können Sie die Nummer eines Ports angeben, an dem
2352 namensbasierte virtuelle Hosts verwendet werden sollen. Beispiel:</p>
2355 NameVirtualHost 111.22.33.44:8080
2358 <p>IPv6-Adressen müssen, wie im folgenden Beispiel angegeben, in
2359 eckige Klammern eingeschlossen werden:</p>
2362 NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080
2365 <p>Um an allen Schnittstellen Anfragen zu empfangen, können Sie
2366 <code>*</code> als Argument verwenden.</p>
2372 <note><title>Argument der Direktive <directive
2373 type="section">VirtualHost</directive></title>
2374 <p>Beachten Sie, dass das Argument der <directive
2375 type="section">VirtualHost</directive>-Anweisung exakt auf das Argument
2376 der <directive>NameVirtualHost</directive>-Anweisung passen muss.</p>
2379 NameVirtualHost 1.2.3.4<br />
2380 <VirtualHost 1.2.3.4><br />
2382 </VirtualHost><br />
2386 <seealso><a href="../vhosts/">Dokumentation zu virtuellen Hosts</a></seealso>
2387 </directivesynopsis>
2390 <name>Options</name>
2391 <description>Definiert, welche Eigenschaften oder Funktionen in einem
2392 bestimmten Verzeichnis verfügbar sind</description>
2394 [+|-]<var>Option</var> [[+|-]<var>Option</var>] ...</syntax>
2395 <default>Options All</default>
2396 <contextlist><context>server config</context><context>virtual host</context>
2397 <context>directory</context><context>.htaccess</context>
2399 <override>Options</override>
2402 <p>Die Direktive <directive>Options</directive> steuert, welche
2403 Eigenschaften bzw. Funktionen in einem bestimmten Verzeichnis
2404 verfügbar sind.</p>
2406 <p><var>Option</var> kann auf <code>None</code> gesetzt werden, wobei
2407 keine der besonderen Eigenschaften verfügbar sind, oder auf eines
2408 oder mehrere der folgenden:</p>
2411 <dt><code>All</code></dt>
2413 <dd>Alle Optionen außer <code>MultiViews</code>. Dies ist
2414 die Voreinstellung.</dd>
2416 <dt><code>ExecCGI</code></dt>
2418 <dd>Die Ausführung von CGI-Skripten, welche <module>mod_cgi</module>
2419 verwenden, ist erlaubt.</dd>
2421 <dt><code>FollowSymLinks</code></dt>
2423 <dd>Der Server folgt symbolischen Links in diesem Verzeichnis.
2425 <p>Auch wenn der Server symbolischen Links folgt, bedeutet dies
2426 <em>nicht</em>, dass der zum Abgleich gegen <directive type="section"
2427 module="core">Directory</directive>-Abschnitte verwendete Pfadname
2429 <p>Beachten Sie auch, dass diese Option innerhalb eines
2430 <directive type="section" module="core">Location</directive>-Abschnitts
2431 <strong>ignoriert wird</strong>.</p>
2434 <dt><code>Includes</code></dt>
2437 Server Side Includes, die von <module>mod_include</module> bereitgestellt
2438 werden, sind erlaubt.</dd>
2440 <dt><code>IncludesNOEXEC</code></dt>
2442 <dd>Server Side Includes sind erlaubt, <code>#exec cmd</code>
2443 und <code>#exec cgi</code> sind jedoch deaktiviert. Es ist aber noch
2444 möglich, CGI-Skripte aus
2445 <directive module="mod_alias">ScriptAlias</directive>-Verzeichnissen mittels
2446 <code>#include virtual</code> einzubinden.</dd>
2448 <dt><code>Indexes</code></dt>
2450 <dd>Wenn eine URL, die auf ein Verzeichnis zeigt, in dem sich keine durch
2451 <directive module="mod_dir">DirectoryIndex</directive> definierte
2452 Indexdatei (<em>z.B.</em> <code>index.html</code>) befindet, dann liefert
2453 <module>mod_autoindex</module> eine formatierte Auflistung des
2454 Verzeichnisses zurück.</dd>
2456 <dt><code>MultiViews</code></dt>
2458 <dd>"MultiViews" sind bei der Verwendung von
2459 <module>mod_negotiation</module> erlaubt (siehe <a
2460 href="../content-negotiation.html">Content-Negotiation</a>).</dd>
2462 <dt><code>SymLinksIfOwnerMatch</code></dt>
2464 <dd>Der Server folgt nur symbolischen Links, bei denen die Zieldatei
2465 bzw. das Zielverzeichnis der gleichen Benutzerkennung gehört, wie
2467 <note><title>Anmerkung</title> Diese Option wird innerhalb eines
2468 <directive module="core" type="section">Location</directive>-Abschnitts
2469 ignoriert.</note></dd>
2472 <p>Wenn mehrere <directive>Options</directive> auf ein Verzeichnis
2473 angewandt werden können, dann wird normalerweise die
2474 spezifischste <transnote>Gemeint ist die zuletzt
2475 ausgeführte Option.</transnote> verwendet und alle anderen werden
2476 ignoriert; die Optionen werden nicht vermischt. (Siehe auch <a
2477 href="../sections.html#mergin">Wie Abschnitte zusammengeführt
2478 werden.</a>.) Wenn jedoch <em>allen</em> Optionen der
2479 <directive>Options</directive>-Anweisung eines der Zeichen
2480 <code>+</code> oder <code>-</code> vorangestellt wird, werden die Optionen
2481 zusammengemischt. Jede Option mit vorangestelltem <code>+</code> wird
2482 zu den momentan gültigen Optionen hinzugefügt und jede Option
2483 mit vorangestelltem <code>-</code> wird aus den derzeit gültigen
2484 Optionen entfernt.</p>
2486 <note type="warning"><title>Warnung</title>
2487 <p>Die Vermischung von Optionen mit <code>+</code> oder <code>-</code> mit
2488 Optionen ohne diese (Zeichen) ist keine gültige Syntax und führt
2489 mit hoher Wahrscheinlichkeit zu unerwarteten Effekten.</p>
2492 <p>So wird zum Beispiel ohne die Zeichen <code>+</code> und
2496 <Directory /web/docs><br />
2498 Options Indexes FollowSymLinks<br />
2500 </Directory><br />
2502 <Directory /web/docs/spec><br />
2504 Options Includes<br />
2509 <p>für das Verzeichnis <code>/web/docs/spec</code> wird jetzt
2510 lediglich <code>Includes</code> gesetzt. Wenn die zweite
2511 <directive>Options</directive>-Anweisung jedoch <code>+</code>-
2512 und <code>-</code>-Zeichen verwenden würde,</p>
2515 <Directory /web/docs><br />
2517 Options Indexes FollowSymLinks<br />
2519 </Directory><br />
2521 <Directory /web/docs/spec><br />
2523 Options +Includes -Indexes<br />
2528 <p>dann würden die Optionen <code>FollowSymLinks</code> und
2529 <code>Includes</code> für das Verzeichnis <code>/web/docs/spec</code>
2532 <note><title>Anmerkung</title>
2533 <p>Die Verwendung von <code>-IncludesNOEXEC</code> oder
2534 <code>-Includes</code> deaktiviert Server Side Includes unabhängig
2535 von der vorigen Einstellung vollständig.</p>
2538 <p>Die Voreinstellung ist <code>All</code>, sofern keine anderen Angaben
2541 </directivesynopsis>
2544 <name>Require</name>
2545 <description>Wählt die authentisierten Benutzer aus, die auf eine
2546 Ressource zugreifen können</description>
2547 <syntax>Require <var>Name</var> [<var>Name</var>] ...</syntax>
2548 <contextlist><context>directory</context><context>.htaccess</context>
2550 <override>AuthConfig</override>
2553 <p>Die Direktive wählt aus, welche authentisierten Benutzer auf eine
2554 Ressource zugreifen dürfen. Folgende Syntax ist erlaubt:</p>
2557 <dt><code>Require user <var>User-ID</var> [<var>User-ID</var>]
2559 <dd>Nur die genannten Benutzer dürfen auf die Ressource
2562 <dt><code>Require group <var>Gruppenname</var> [<var>Gruppenname</var>]
2564 <dd>Nur Benutzer der genannten Gruppen dürfen auf die
2565 Ressource zugreifen.</dd>
2567 <dt><code>Require valid-user</code></dt>
2568 <dd>Alle gültigen Benutzer dürfen auf die Ressource
2572 <p><directive>Require</directive> muss von den Direktiven
2573 <directive module="mod_authn_core">AuthName</directive> und <directive
2574 module="mod_authn_core">AuthType</directive> sowie Direktiven wie
2575 <directive module="mod_authn_file">AuthUserFile</directive>
2576 und <directive module="mod_authz_groupfile">AuthGroupFile</directive>
2577 (zur Definition von Benutzern und Gruppen) begleitet werden, um
2578 korrekt zu funktionieren. Beispiel:</p>
2581 AuthType Basic<br />
2582 AuthName "Geschützte Ressource"<br />
2583 AuthUserFile /web/users<br />
2584 AuthGroupFile /web/groups<br />
2588 <p>Zugriffskontrollen, die in dieser Form angewandt werden, gelten
2589 für <strong>alle</strong> Methoden. <strong>Dies ist normalerweise
2590 gewünscht.</strong> Wenn Sie Zugriffskontrollen nur auf bestimmte
2591 Methoden anwenden möchten, während andere Methoden
2592 ungeschützt bleiben, dann müssen Sie die
2593 <directive>Require</directive>-Anweisung innerhalb eines
2594 <directive module="core" type="section">Limit</directive>-Abschnitts
2597 <seealso><directive module="mod_access_compat">Satisfy</directive></seealso>
2598 <seealso><module>mod_authz_host</module></seealso>
2599 </directivesynopsis>
2602 <name>RLimitCPU</name>
2603 <description>Begrenzt den CPU-Verbrauch von Prozessen, die von
2604 Apache-Kindprozessen gestartet wurden</description>
2605 <syntax>RLimitCPU <var>Sekunden</var>|max [<var>Sekunden</var>|max]</syntax>
2606 <default>unbestimmt; verwendet die Voreinstellung des Systems</default>
2607 <contextlist><context>server config</context><context>virtual host</context>
2608 <context>directory</context><context>.htaccess</context></contextlist>
2609 <override>All</override>
2612 <p>Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine
2613 weiche Ressourcenbegrenzung für alle Prozesse, der zweite Parameter
2614 setzt die Maximalgrenze für die Ressourcennutzung. Jeder der
2615 Parameter kann eine Zahl oder <code>max</code> sein. <code>max</code>
2616 zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum
2617 verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung
2618 erfordert, dass der Server als <code>root</code> läuft, zumindest in
2619 der anfänglichen Startphase.</p>
2621 <p>Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden
2622 Apache-Kindprozessen abgespalten werden, nicht auf die
2623 Apache-Kindprozesse selbst. Das beinhaltet CGI-Skripte und
2624 SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess
2625 abgespalten werden, wie z.B. Protokollierung.</p>
2627 <p>CPU-Ressourcenbegrenzung wird in Sekunden pro Prozess
2628 ausgedrückt.</p>
2630 <seealso><directive module="core">RLimitMEM</directive></seealso>
2631 <seealso><directive module="core">RLimitNPROC</directive></seealso>
2632 </directivesynopsis>
2635 <name>RLimitMEM</name>
2636 <description>Begrenzt den Speicherverbrauch von Prozessen, die von
2637 Apache-Kindprozessen gestartet wurden</description>
2638 <syntax>RLimitMEM <var>Bytes</var>|max [<var>Bytes</var>|max]</syntax>
2639 <default>unbestimmt; verwendet die Voreinstellung des Systems</default>
2640 <contextlist><context>server config</context><context>virtual host</context>
2641 <context>directory</context><context>.htaccess</context></contextlist>
2642 <override>All</override>
2645 <p>Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine
2646 weiche Ressourcenbegrenzung für alle Prozesse, der zweite Parameter
2647 setzt die Maximalgrenze für die Ressourcennutzung. Jeder der
2648 Parameter kann eine Zahl oder <code>max</code> sein. <code>max</code>
2649 zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum
2650 verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung
2651 erfordert, dass der Server als <code>root</code> läuft, zumindest in
2652 der anfänglichen Startphase.</p>
2654 <p>Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden
2655 Apache-Kindprozessen abgespalten werden, nicht auf die
2656 Apache-Kindprozesse selbst. Das beinhaltet CGI-Skripte und
2657 SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess
2658 abgespalten werden, wie z.B. Protokollierung.</p>
2660 <p>Die Begrenzung des Speicherverbrauchs wird in Bytes pro Prozess
2661 ausgedrückt.</p>
2663 <seealso><directive module="core">RLimitCPU</directive></seealso>
2664 <seealso><directive module="core">RLimitNPROC</directive></seealso>
2665 </directivesynopsis>
2668 <name>RLimitNPROC</name>
2669 <description>Begrenzt die Anzahl der Prozesse, die von Prozessen gestartet
2670 werden können, der ihrerseits von Apache-Kinprozessen gestartet
2671 wurden</description>
2672 <syntax>RLimitNPROC <var>Zahl</var>|max [<var>Zahl</var>|max]</syntax>
2673 <default>unbestimmt; verwendet die Voreinstellung des Systems</default>
2674 <contextlist><context>server config</context><context>virtual host</context>
2675 <context>directory</context><context>.htaccess</context></contextlist>
2676 <override>All</override>
2679 <p>Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine
2680 weiche Ressourcenbegrenzung für alle Prozesse, der zweite Parameter
2681 setzt die Maximalgrenze für die Ressourcennutzung. Jeder der
2682 Parameter kann eine Zahl oder <code>max</code> sein. <code>max</code>
2683 zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum
2684 verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung
2685 erfordert, dass der Server als <code>root</code> läuft, zumindest in
2686 der anfänglichen Startphase.</p>
2688 <p>Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden
2689 Apache-Kindprozessen abgespalten werden, nicht auf die
2690 Apache-Kindprozesse selbst. Dies beinhaltet CGI-Skripte und
2691 SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess
2692 abgespalten werden, wie z.B. Protokollierung.</p>
2694 <p>Prozessbegrenzungen steuern die Anzahl der Prozesse pro Benutzer.</p>
2696 <note><title>Anmerkung</title>
2697 <p>Wenn CGI-Prozesse nicht unter anderen Benutzerkennungen als der
2698 User-ID des Webservers laufen, dann beschränkt diese Direktive
2699 die Anzahl der Prozesse, die der Server selbst erstellen kann.
2700 Kennzeichen einer solchen Situation sind
2701 <strong><code>cannot fork</code></strong>-Meldungen
2702 <transnote><code>kann nicht abspalten</code></transnote> in der
2703 Datei <code>error_log</code>.</p>
2706 <seealso><directive module="core">RLimitMEM</directive></seealso>
2707 <seealso><directive module="core">RLimitCPU</directive></seealso>
2708 </directivesynopsis>
2711 <name>Satisfy</name>
2712 <description>Zusammenspiel von rechnerbasierter Zugriffskontrolle und
2713 Benutzerauthentisierung</description>
2714 <syntax>Satisfy Any|All</syntax>
2715 <default>Satisfy All</default>
2716 <contextlist><context>directory</context><context>.htaccess</context>
2718 <override>AuthConfig</override>
2719 <compatibility>Wird seit Version 2.0.51 von <directive module="core"
2720 type="section">Limit</directive> und <directive module="core"
2721 type="section">LimitExcept</directive> beeinflusst</compatibility>
2724 <p>Verfahrensweise für den Zugriff, falls sowohl <directive
2725 module="mod_access_compat">Allow</directive> als auch <directive
2726 module="mod_authz_core">Require</directive> verwendet werden. Der Parameter kann
2727 entweder <code>All</code> oder <code>Any</code> sein. Die Direktive ist
2728 nur dann nützlich, wenn der Zugriff zu einem bestimmten Bereich
2729 durch Benutzername/Passwort <em>und</em> Clientrechner-Adressen
2730 eingeschränkt ist. In diesem Fall verlangt die Voreinstellung
2731 (<code>All</code>), dass der Client die Adressbeschränkung passiert
2732 <em>und</em> eine gültige Benutzerkennung und ein gültiges
2733 Passwort übermittelt. Mit der Auswahl <code>Any</code> wird dem
2734 Client der Zugriff erlaubt, wenn er entweder die Rechner-Beschänkung
2735 passiert oder einen gültigen Benutzernamen und ein gültiges
2736 Passwort übermittelt. Dies kann verwendet werden, um einen Bereich
2737 mit einem Passwort zu schützen, jedoch Clients von bestimmten
2738 Adressen ohne Abfrage des Passwortes zuzulassen.</p>
2740 <p>Wenn Sie beispielsweise möchten, dass Personen aus Ihrem
2741 privaten Netzwerk unbechänkten Zugriff zu Teilen Ihres
2742 Webangebots haben, jedoch verlangen, dass Personen außerhalb
2743 Ihres privaten Netzwerks ein Passwort übergeben müssen,
2744 können Sie eine Konfiguration ähnlich der folgenden
2748 Require valid-user<br />
2749 Allow from 192.168.1<br />
2753 <p>Seit Version 2.0.51 können
2754 <directive>Satisfy</directive>-Anweisungen durch <directive module="core"
2755 type="section">Limit</directive>- und <directive module="core"
2756 type="section">LimitExcept</directive>-Abschnitte auf bestimmte Methoden
2757 beschränkt werden.</p>
2759 <seealso><directive module="mod_access_compat">Allow</directive></seealso>
2760 <seealso><directive module="mod_access_compat">Require</directive></seealso>
2761 </directivesynopsis>
2764 <name>ScriptInterpreterSource</name>
2765 <description>Methode zur Ermittlung des Interpreters von
2766 CGI-Skripten</description>
2767 <syntax>ScriptInterpreterSource Registry|Registry-Strict|Script</syntax>
2768 <default>ScriptInterpreterSource Script</default>
2769 <contextlist><context>server config</context><context>virtual host</context>
2770 <context>directory</context><context>.htaccess</context></contextlist>
2771 <override>FileInfo</override>
2772 <compatibility>ausschließlich Win32;
2773 Die Option <code>Registry-Strict</code> ist verfügbar seit Apache
2774 2.0.</compatibility>
2777 <p>Die Direktive steuert, wie der Apache den Interpreter zur Ausführung
2778 von CGI-Skripten bestimmt. Die Voreinstellung ist <code>Script</code>. Dies
2779 veranlaßt den Apache, den Interpreter zu verwenden, auf den die
2780 Shebang-Zeile (erste Zeile, beginnt mit <code>#!</code>) im Skript zeigt.
2781 Auf Win32-Systemen sieht diese Zeile üblicherweise so aus:</p>
2784 #!C:/Perl/bin/perl.exe
2787 <p>oder, wenn <code>perl</code> im Pfad (Umgebungsvariable <code>PATH</code>) liegt,
2794 <p>Die Einstellung <code>ScriptInterpreterSource Registry</code>
2795 veranlaßt eine Suche in <code>HKEY_CLASSES_ROOT</code> der
2796 Windows-Registrierungsdatenbank und verwendet die Endung der Skript-Datei
2797 (z.B. <code>.pl</code>) als Suchargument. Der durch den Unterschlüssel
2798 <code>Shell\ExecCGI\Command</code> oder, falls dieser nicht existiert,
2799 <code>Shell\Open\Command</code> definierte Befehl wird zum Öffnen der
2800 Skript-Datei verwendet. Wenn der Schlüssel zur Dateiendung oder
2801 beide Unterschlüssel fehlen, dann verwendet der Apache die Option
2802 <code>Script</code>.</p>
2804 <note type="warning"><title>Sicherheit</title>
2805 <p>Seien Sie vorsichtig, <code>ScriptInterpreterSource Registry</code> bei
2806 Verzeichnissen zu verwenden, auf die eine <directive
2807 module="mod_alias">ScriptAlias</directive>-Anweisung zeigt, denn der
2808 Apache versucht <strong>jede</strong> Datei innerhalb des Verzeichnisses
2809 auszuführen. Die Einstellung <code>Registry</code> kann
2810 unerwünschte Programmaufrufe bei Dateien verursachen, die
2811 üblicherweise nicht ausgeführt werden. Auf den meisten
2812 Windows-Systemen beispielsweise startet der voreingestellte
2813 Öffnen-Befehl für <code>.htm</code>-Dateien den Microsoft
2814 Internet Explorer, so dass jede HTTP-Anfrage nach einer existierenden
2815 <code>.htm</code>-Datei im Skript-Verzeichnis den Browser im Hintergrund
2816 starten würde. Dies ist eine wirksame Methode, Ihr System binnen
2817 etwa einer Minute zum Absturz zu bringen.</p>
2820 <p>Die seit Apache 2.0 neue Option <code>Registry-Strict</code>
2821 macht das gleiche wie <code>Registry</code>, verwendet jedoch nur den
2822 Unterschlüssel <code>Shell\ExecCGI\Command</code>. Der Schlüssel
2823 <code>ExecCGI</code> ist gewöhnlich nicht voreingestellt. Er muss
2824 manuell eingerichtet werden und schützt Ihr System so for
2825 versehentlichen Programmaufrufen.</p>
2827 </directivesynopsis>
2830 <name>ServerAdmin</name>
2831 <description>E-Mail-Adresse, die der Server in Fehlermeldungen einfügt,
2832 welche an den Client gesendet werden</description>
2833 <syntax>ServerAdmin <var>E-Mail-Adresse</var>|<var>URL</var></syntax>
2834 <contextlist><context>server config</context><context>virtual host</context>
2838 <p><directive>ServerAdmin</directive> legt die Kontaktadresse fest,
2839 die der Server in jede Fehlermeldung einfügt, die er an den
2840 Client zurückschickt. Wenn <code>httpd</code> das übergebene
2841 Argument nicht als URL erkennt, nimmt er an, dess es sich um eine
2842 <var>E-Mail-Adresse</var> handelt und stellt in Hyperlinks
2843 <code>mailto:</code> voran. Es ist jedoch sogar sinnvoll, eine
2844 E-Mail-Adresse zu verwenden, da viele CGI-Skripte davon ausgehen. Wenn Sie
2845 eine URL verwenden möchten, sollten Sie auf einem anderen unter Ihrer
2846 Kontrolle stehenden Server verweisen. Andernfalls können Besucher Sie
2847 im Fehlerfall möglicherweise nicht kontaktieren.</p>
2849 <p>Es kann sich lohnen, hierfür eine reservierte Adresse
2853 ServerAdmin www-admin@foo.example.com
2856 <p>da Anwender nicht unbedingt erwähnen, dass sie vom Server
2859 </directivesynopsis>
2862 <name>ServerAlias</name>
2863 <description>Alternativer Name für einen Host, der verwendet wird, wenn
2864 Anfragen einem namensbasierten virtuellen Host zugeordnet werden</description>
2865 <syntax>ServerAlias <var>Hostname</var> [<var>Hostname</var>] ...</syntax>
2866 <contextlist><context>virtual host</context></contextlist>
2869 <p>Die Direktive <directive>ServerAlias</directive> bestimmt die
2870 alternativen Namen eines Hosts zur Verwendung mit <a
2871 href="../vhosts/name-based.html">namensbasierten virtuellen Hosts</a>.</p>
2874 <VirtualHost *><br />
2875 ServerName server.domain.com<br />
2876 ServerAlias server server2.domain.com server2<br />
2878 </VirtualHost>
2881 <seealso><a href="../vhosts/">Apache-Dokumentation zu virtuellen
2883 </directivesynopsis>
2886 <name>ServerName</name>
2887 <description>Rechnername und Port, die der Server dazu verwendet, sich
2888 selbst zu identifizieren</description>
2890 <var>voll-qualifizierter-Domainname</var>[:<var>port</var>]</syntax>
2891 <contextlist><context>server config</context><context>virtual host</context>
2893 <compatibility>Diese Direktive löst in Version 2.0 die
2894 Funktionalität der Direktive <directive>Port</directive> aus
2895 Version 1.3 ab.</compatibility>
2898 <p>Die Direktive <directive>ServerName</directive> bestimmt den
2899 Rechnernamen und Port, den der Server dazu verwendet, sich selbst
2900 zu identifizieren. Diese werden bei der Erstellung von Umleitungs-URLs
2901 benötigt. Wenn beispielsweise der Name der Maschine, die den Webserver
2902 beherbergt, <code>simple.example.com</code> lautet, die Maschine jedoch
2903 auch einen DNS-Alias <code>www.example.com</code> besitzt und Sie den
2904 Webserver so identifizieren möchten, sollten Sie die folgende
2905 Anweisung verwenden:</p>
2908 ServerName www.example.com:80
2911 <p>Wenn kein <directive>ServerName</directive> angegeben wurde,
2912 dann versucht der Server den Rechnernamen mittels eines Reverse-Lookup
2913 herzuleiten. Wenn kein Port in der
2914 <directive>ServerName</directive>-Anweisung angegeben wurde, dann
2915 verwendet der Server den Port der eingegangenen Anfrage. Für eine
2916 optimale Zuverlässigkeit und Berechenbarkeit sollten Sie einen
2917 eindeutigen Rechnernamen und Port angeben, in dem Sie die Direktive
2918 <directive>ServerName</directive> verwenden.</p>
2920 <p>Wenn Sie <a href="../vhosts/name-based.html">namensbasierte
2921 virtuelle Hosts</a> verwenden, gibt <directive>ServerName</directive>
2922 innerhalb eines <directive type="section"
2923 module="core">VirtualHost</directive>-Abschnitts an, welcher
2924 Hostname im <code>Host:</code>-Header der Anfrage auftauchen muss,
2925 damit sie diesem virtuellen Host zugeordnet wird.</p>
2927 <p>Lesen Sie bitte die Beschreibung der Direktiven <directive
2928 module="core">UseCanonicalName</directive> und <directive module="core"
2929 >UseCanonicalPhysicalPort</directive> für Einstellungen, die
2930 bestimmen, ob selbstreferenzierende URLs (z.B. vom Modul
2931 <module>mod_dir</module>) auf den angegebenen Port zeigen oder auf die
2932 Portnummern die in der Anfrage des Clients angegeben ist.</p>
2935 <seealso><a href="../dns-caveats.html">Probleme bezüglich DNS und
2936 Apache</a></seealso>
2937 <seealso><a href="../vhosts/">Apache-Dokumentation zu virtuellen
2939 <seealso><directive module="core">UseCanonicalName</directive></seealso>
2940 <seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
2941 <seealso><directive module="core">NameVirtualHost</directive></seealso>
2942 <seealso><directive module="core">ServerAlias</directive></seealso>
2943 </directivesynopsis>
2946 <name>ServerPath</name>
2947 <description>Veralteter URL-Pfad für einen namensbasierten
2948 virtuellen Host, auf den von einem inkompatiblen Browser zugegriffen
2950 <syntax>ServerPath <var>URL-Pfad</var></syntax>
2951 <contextlist><context>virtual host</context></contextlist>
2954 <p>Die Direktive <directive>ServerPath</directive> legt den
2955 veralteten <transnote>Gemeint ist eigentlich "Altlast" aufgrund
2956 antiquierter Clients.</transnote> URL-Pfad eines Hosts zur Verwendung mit
2957 <a href="../vhosts/">namensbasierten virtuellen Hosts</a> fest.</p>
2959 <seealso><a href="../vhosts/">Apache-Dokumentation zu virtuellen
2961 </directivesynopsis>
2964 <name>ServerRoot</name>
2965 <description>Basisverzeichnis der Serverinstallation</description>
2966 <syntax>ServerRoot <var>Verzeichnis</var></syntax>
2967 <default>ServerRoot /usr/local/apache</default>
2968 <contextlist><context>server config</context></contextlist>
2971 <p>Die Direktive <directive>ServerRoot</directive> bestimmt das
2972 Verzeichnis, in dem der Server installiert ist. Üblicherweise
2973 enthält es die Unterverzeichnisse <code>conf/</code> und
2974 <code>logs/</code>. Relative Pfadangaben anderer Direktiven (wie z.B.
2975 <directive module="core">Include</directive> oder <directive
2976 module="mod_so">LoadModule</directive>) werden relativ zu diesem
2977 Verzeichnis betrachtet.</p>
2979 <example><title>Beispiel</title>
2980 ServerRoot /home/httpd
2983 <seealso><a href="../invoking.html">Die <code>httpd</code>-Option
2984 <code>-d</code></a></seealso>
2985 <seealso><a href="../misc/security_tips.html#serverroot">Sicherheitshinweise</a>
2986 für Informationen, wie die Rechte auf das <directive
2987 >ServerRoot</directive>-Verzeichnis richtig gesetzt werden</seealso>
2988 </directivesynopsis>
2991 <name>ServerSignature</name>
2992 <description>Konfiguriert die Fußzeile von servergenerierten
2993 Dokumenten</description>
2994 <syntax>ServerSignature On|Off|EMail</syntax>
2995 <default>ServerSignature Off</default>
2996 <contextlist><context>server config</context><context>virtual host</context>
2997 <context>directory</context><context>.htaccess</context>
2999 <override>All</override>
3002 <p>Die Direktive <directive>ServerSignature</directive> ermöglicht
3003 die Gestaltung einer unter servergenerierten Dokumenten (z.B.
3004 Fehlerdokumente, FTP-Verzeichnislisten von <module>mod_proxy</module>,
3005 <module>mod_info</module>-Ausgaben, ...) angefügten
3006 Fußzeile. Ein möglicher Grund für die Aktivierung einer
3007 solchen Fußzeile ist, dass der Anwender bei einer Kette von
3008 Proxy-Servern oft keine Möglichkeit hat, zu erkennen, welcher der
3009 verketteten Server gegenwärtig die zurückgegebene Fehlermeldung
3012 <p>Die (Vor-)Einstellung <code>Off</code> unterdrückt die
3013 Fußzeile (und ist damit kompatibel zum Verhalten des Apache 1.2 und
3014 früher). Die Einstellung <code>On</code> fügt schlicht eine
3015 Zeile mit der Versionsnummer des Servers und dem Servernamen (<directive
3016 module="core">ServerName</directive>) des bedienenden virtuellen Hosts an.
3017 Die Einstellung <code>EMail</code> erstellt zusätzlich einen
3018 "mailto:"-Verweis zum Serveradministrator (<directive
3019 module="core">ServerAdmin</directive>) des referenzierten Dokuments.</p>
3021 <p>Ab Version 2.0.44 werden die Details der angegebenen Versionsnummer des
3022 Servers von der Direktive <directive
3023 module="core">ServerTokens</directive> kontrolliert.</p>
3025 <seealso><directive module="core">ServerTokens</directive></seealso>
3026 </directivesynopsis>
3029 <name>ServerTokens</name>
3030 <description>Konfiguriert den HTTP-Response-Header
3031 <code>Server</code></description>
3032 <syntax>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</syntax>
3033 <default>ServerTokens Full</default>
3034 <contextlist><context>server config</context></contextlist>
3037 <p>die Direktive steuert, ob der Response-Header <code>Server</code>,
3038 der an den Client zurückgesendet wird, eine Beschreibung des
3039 allgemeinen Betriesbsystemtyps des Servers wie auch Informationen
3040 über einkompilierte Module enthält.</p>
3043 <dt><code>ServerTokens Prod[uctOnly]</code></dt>
3045 <dd>Der Server sendet (<em>z.B.</em>): <code>Server:
3048 <dt><code>ServerTokens Major</code></dt>
3050 <dd>Der Server sendet (<em>z.B.</em>): <code>Server:
3051 Apache/2</code></dd>
3053 <dt><code>ServerTokens Minor</code></dt>
3055 <dd>Der Server sendet (<em>z.B.</em>): <code>Server:
3056 Apache/2.0</code></dd>
3058 <dt><code>ServerTokens Min[imal]</code></dt>
3060 <dd>Der Server sendet (<em>z.B.</em>): <code>Server:
3061 Apache/2.0.41</code></dd>
3063 <dt><code>ServerTokens OS</code></dt>
3065 <dd>Der Server sendet (<em>z.B.</em>): <code>Server: Apache/2.0.41
3068 <dt><code>ServerTokens Full</code> (oder nicht angegeben)</dt>
3070 <dd>Der Server sendet (<em>z.B.</em>): <code>Server: Apache/2.0.41
3071 (Unix) PHP/4.2.2 MyMod/1.2</code></dd>
3074 <p>Diese Einstellung gilt für den gesamten Server und kann nicht
3075 auf Virtual-Host-Basis aktiviert oder deaktiviert werden.</p>
3077 <p>Ab Version 2.0.44 steuert diese Direktive auch die Informationen, die
3078 durch die Direktive <directive module="core">ServerSignature</directive>
3079 angeboten werden.</p>
3081 <seealso><directive module="core">ServerSignature</directive></seealso>
3082 </directivesynopsis>
3085 <name>SetHandler</name>
3086 <description>Erzwingt die Verarbeitung aller passenden Dateien durch
3087 einen Handler</description>
3088 <syntax>SetHandler <var>Handlername</var>|None</syntax>
3089 <contextlist><context>server config</context><context>virtual host</context>
3090 <context>directory</context><context>.htaccess</context>
3092 <override>FileInfo</override>
3093 <compatibility>Seit Apache 2.0 im Core</compatibility>
3096 <p>Wenn die Direktive innerhalb einer <code>.htaccess</code>-Datei
3097 oder in einem <directive type="section"
3098 module="core">Directory</directive>- oder
3099 <directive type="section" module="core">Location</directive>-Abschnitt
3100 angegeben wird, erzwingt sie, dass alle entsprechenden Dateien von dem
3101 durch <var>Handlername</var> angegebenen <a
3102 href="../handler.html">Handler</a> analysiert werden. Wenn Sie
3103 beispielsweise ein Verzeichnis haben, dessen Dateien unabhängig von
3104 der Endung gänzlich als Image-Maps interpretiert werden sollen,
3105 können Sie folgendes in eine <code>.htaccess</code>-Datei in
3106 dem Verzeichnis schreiben:</p>
3109 SetHandler imap-file
3112 <p>Noch ein Beispiel: wenn Sie den Server immer, wenn die URL
3113 <code>http://servername/status</code> aufgerufen wird, einen
3114 Statusbericht anzeigen lassen möchten, dann können
3115 Sie folgendes in die <code>httpd.conf</code> schreiben:</p>
3118 <Location /status><br />
3120 SetHandler server-status<br />
3124 <p>Sie können eine zuvor definierte
3125 <directive>SetHandler</directive>-Anweisung aufheben, indem Sie den Wert
3126 <code>None</code> verwenden.</p>
3127 <p><strong>Hinweis:</strong> SetHandler setzt die Standard-Handler
3128 außer Kraft und unterdrückt gewohnte Verhaltensweisen, wie
3129 beispielsweise die Behandlung von URLs, die auf einen Schrägstrich
3130 (/) enden als Verzeichnisse oder (die Auslieferung von) Index-Dateien.</p>
3132 <seealso><directive module="mod_mime">AddHandler</directive></seealso>
3133 </directivesynopsis>
3136 <name>SetInputFilter</name>
3137 <description>Bestimmt die Filter, die Client-Anfragen und POST-Eingaben
3138 verarbeiten</description>
3139 <syntax>SetInputFilter <var>Filter</var>[;<var>Filter</var>...]</syntax>
3140 <contextlist><context>server config</context><context>virtual host</context>
3141 <context>directory</context><context>.htaccess</context>
3143 <override>FileInfo</override>
3146 <p>Die Direktive <directive>SetInputFilter</directive> bestimmt den oder
3147 die Filter, die Client-Anfragen und POST-Eingaben verarbeiten, wenn
3148 sie vom Server empfangen werden. Diese gelten zusätzlich zu
3149 anderweitig definierten Filtern, einschließlich denen der Direktive
3150 <directive module="mod_mime">AddInputFilter</directive>.</p>
3152 <p>Wenn mehr als ein Filter angegeben wird, dann müssen diese
3153 durch Semikolon voneinander getrennt in der Reihenfolge angegeben werden,
3154 in der sie die Daten verarbeiten sollen.</p>
3156 <seealso><a href="../filter.html">Filter</a>-Dokumentation</seealso>
3157 </directivesynopsis>
3160 <name>SetOutputFilter</name>
3161 <description>Bestimmt die Filter, die Antworten des Servers verarbeiten</description>
3162 <syntax>SetOutputFilter <var>Filter</var>[;<var>Filter</var>...]</syntax>
3163 <contextlist><context>server config</context><context>virtual host</context>
3164 <context>directory</context><context>.htaccess</context>
3166 <override>FileInfo</override>
3169 <p>Die Direktive <directive>SetOutputFilter</directive> bestimmt
3170 die Filter, die Antworten des Servers verarbeiten, bevor sie an den
3171 Client gesendet werden. Diese gelten zusätzlich zu anderweitig
3172 definierten Filtern, einschließlich denen der Direktive
3173 <directive module="mod_mime">AddOutputFilter</directive>.</p>
3175 <p>Die folgende Konfiguration verarbeitet zum Beispiel alle Dateien
3176 im Verzeichnis <code>/www/data</code> als Server Side Includes.</p>
3179 <Directory /www/data/><br />
3181 SetOutputFilter INCLUDES<br />
3186 <p>Wenn mehr als ein Filter angegeben wird, dann müssen diese
3187 durch Semikolon voneinander getrennt in der Reihenfolge angegeben werden,
3188 in der sie die Daten verarbeiten sollen.</p>
3190 <seealso><a href="../filter.html">Filter</a>-Dokumentation</seealso>
3191 </directivesynopsis>
3194 <name>TimeOut</name>
3195 <description>Zeitspanne, die der Server auf verschiedene Ereignisse wartet,
3196 bevor er die Anfrage abbricht</description>
3197 <syntax>TimeOut <var>Sekunden</var></syntax>
3198 <default>TimeOut 60</default>
3199 <contextlist><context>server config</context></contextlist>
3202 <p>Die Direktive <directive>TimeOut</directive> definiert derzeit die
3203 Zeitspanne, die der Apache auf drei Dinge wartet:</p>
3206 <li>Die gesamte Zeispanne, die benötigt wird, um eine GET-Anfrage
3209 <li>Die Zeitspanne zwischen dem Empfang von TCP-Paketen einer
3210 POST- oder PUT-Anfrage.</li>
3212 <li>Die Zeitspanne zwischen ACKs bei der Übermittlung der
3213 TCP-Pakete der Antwort.</li>
3216 <p>Wir haben vor, diese Zeitspannen in Zukunft separat konfigurierbar zu
3217 machen. Vor Version 1.2 war der Zeitgeber auf 1200 voreingestellt, wurde
3218 dann aber auf 300 herabgesetzt, was immer noch weit mehr ist, als in den
3219 meisten Situationen benötigt wird. Die Voreinstellung wurde nicht
3220 weiter herabgesetzt, da gelegentlich noch Stellen im Code existieren
3221 können, wo der Zeitgeber nicht zurückgesetzt wird, wenn ein
3222 Paket verschickt wird. Seit Apache 2.4 ist die Voreinstellung 60.</p>
3224 </directivesynopsis>
3227 <name>TraceEnable</name>
3228 <description>Legt das Verhalten von <code>TRACE</code>-Anfragen fest</description>
3229 <syntax>TraceEnable <var>[on|off|extended]</var></syntax>
3230 <default>TraceEnable on</default>
3231 <contextlist><context>server config</context></contextlist>
3232 <compatibility>Verfügbar ab Apache 1.3.34 und 2.0.55</compatibility>
3235 <p>Diese Direktive beeinflusst das Verhalten von <code>TRACE</code> sowohl
3236 für den Server selbst als auch <module>mod_proxy</module>. Die
3237 Voreinstellung <code>TraceEnable on</code> erlaubt
3238 <code>TRACE</code>-Anfragen gemäß RFC 2616. Dort werden
3239 nur Anfragen ohne Datenteil zugelassen. <code>TraceEnable off</code>
3240 sorgt dafür, dass der Serverkern und <module>mod_proxy</module> den
3241 Fehler <code>405</code> (Zugriffsmethode nicht erlaubt) an den Client
3244 <p>Zu Test- und Diagnosezwecken können Sie auch
3245 nicht-standardkonforme Anfragen mit Datenteil erlauben, indem Sie die
3246 Direktive <code>TraceEnable extended</code> verwenden. Der Server (als
3247 Ursprungsserver) beschränkt den Anfrageinhalt auf 64k. (Wenn
3248 <code>Transfer-Encoding: chunked</code> benutzt wird, können
3249 weitere 8k für die Chunk-Kopfzeilen verwendet werden.) Der
3250 Server selbst reflektiert dann die vollständigen HTTP- und
3251 Chunk-Kopfzeilen in seiner Antwort. Die Einschränkung auf 64k gilt
3252 nicht, wenn der Server als Proxy arbeitet.</p>
3254 </directivesynopsis>
3257 <name>UseCanonicalName</name>
3258 <description>Bestimmt, wie der Server seinen eigenen Namen und Port
3259 ermittelt</description>
3260 <syntax>UseCanonicalName On|Off|DNS</syntax>
3261 <default>UseCanonicalName Off</default>
3262 <contextlist><context>server config</context><context>virtual host</context>
3263 <context>directory</context></contextlist>
3266 <p>In vielen Situationen muss der Apache eine
3267 <em>selbstreferenzierende</em> URL -- d.h. eine URL, die auf den selben
3268 Server zurück verweist -- zusammenbauen. Bei <code>UseCanonicalName
3269 On</code> verwendet der Apache den Hostnamen und Port, der in der
3270 <directive module="core">ServerName</directive>-Anweisung angegeben ist,
3271 um den kanonischen Namen des Servers zu erstellen. Dieser Name wird in
3272 allen selbstreferenzierenden URLs sowie in CGI-Skripten für die
3273 Werte von <code>SERVER_NAME</code> und <code>SERVER_PORT</code>
3276 <p>Bei <code>UseCanonicalName Off</code> bildet der Apache
3277 selbstreferenzierende URLs, indem er den vom Client übermittelten
3278 Hostnamen und Port verwendet, sofern diese vorhanden sind (andernfalls
3279 wird der kanonische Name, wie oben beschrieben, benutzt). Die Werte
3280 sind die gleichen, die zur Anwendung von <a
3281 href="../vhosts/name-based.html">namensbasierten virtuellen Hosts</a>
3282 verwendet werden, und sie sind mit den gleichen Clients verfügbar
3283 <transnote>, die auch in der Lage sind, auf namensbasierte virtuelle Hosts
3284 zuzugreifen, d.h. einen <code>Host</code>-Header mitschicken</transnote>.
3285 Die CGI-Variablen <code>SERVER_NAME</code> und <code>SERVER_PORT</code>
3286 werden ebenfalls aus den vom Client angeboten Werten erstellt.</p>
3288 <p>Ein Intranet-Server, auf den Anwender mit kurzen Namen wie
3289 <code>www</code> zugreifen, ist ein Beispiel, wo dies sinnvoll sein kann.
3290 Sie werden bemerken, dass der Apache den Benutzer auf
3291 <code>http://www.domain.com/splat/</code> umleitet, wenn dieser einen
3292 Kurznamen und eine URL, die einem Verzeichnis entspricht, ohne
3293 abschließenden Schrägstrich eingibt, wie z.B.
3294 <code>http://www/splat</code>. Wenn Sie Authentisierung aktiviert haben,
3295 bewirkt dies, dass der Benutzer sich zweimal identifizieren muss
3296 (einmal für <code>www</code> und noch einmal für
3297 <code>www.domain.com</code> -- lesen Sie für weitere Informationen <a
3298 href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">die
3299 FAQ zu diesem Thema</a>). Wenn <directive>UseCanonicalName</directive>
3300 jedoch auf <code>Off</code> gesetzt ist, denn wird der Apache zu
3301 <code>http://www/splat/</code> umleiten.</p>
3303 <p>Es existiert noch eine dritte Option, <code>UseCanonicalName DNS</code>,
3304 die für den Betrieb von IP-basierten Massen-Virtual-Hosts gedacht ist,
3305 um antiquierte Clients zu unterstützen, die keinen
3306 <code>Host:</code>-Header bereit stellen. Um selbstreferenzierende
3307 URLs zu ermitteln, führt der Apache bei dieser Option ein
3308 Reverse-DNS-Lookup auf die IP-Adresse des Servers aus, zu der der Client
3309 Verbindung aufgenommen hat.</p>
3311 <note type="warning"><title>Warnung</title>
3312 <p>Wenn CGI-Skripte Vermutungen aufgrund des Wertes von
3313 <code>SERVER_NAME</code> anstellen, können sie durch diese
3314 Option fehlschlagen. Clients steht es im Wesentlichen frei, einen Wert
3315 für den Hostnamen anzugeben, wie er will. Wenn das
3316 CGI-Skript <code>SERVER_NAME</code> jedoch lediglich dazu verwendet,
3317 selbstreferenzierende URLs zu erstellen, sollte das gerade noch
3318 in Ordnung sein.</p>
3321 <seealso><directive module="core">ServerName</directive></seealso>
3322 <seealso><directive module="mpm_common">Listen</directive></seealso>
3323 </directivesynopsis>
3326 <name>UseCanonicalPhysicalPort</name>
3327 <description>Bestimmt, wie der Server seinen eigenen Namen und Port
3328 ermittelt</description>
3329 <syntax>UseCanonicalPhysicalPort On|Off</syntax>
3330 <default>UseCanonicalPhysicalPort Off</default>
3331 <contextlist><context>server config</context><context>virtual host</context>
3332 <context>directory</context></contextlist>
3335 <p>In vielen Situationen muss der Apache eine
3336 <em>selbstreferenzierende</em> URL zusammenbauen, d.h. eine URL, die auf
3337 den selben Server zurück verweist. Wenn der Apache für die
3338 <directive module="core">UseCanonicalName</directive>-Direktive den Port
3339 bestimmt, wird mit <code>UseCanonicalPhysicalPort On</code> die
3340 tatsächlich für die Anfrage verwendete physische Portnummer
3341 in Betracht gezogen. Mit <code>UseCanonicalPhysicalPort Off</code>
3342 verläßt sich der Apache nur auf die Konfiguration, um eine
3343 gültige Portnummer zu bestimmen und läßt die
3344 physische Portnummer außer acht.</p>
3346 <note><title>Hinweis</title>
3347 <p>Wenn der physische Port verwendet wird, ist die Reihenfolge wie
3349 <code>UseCanonicalName On</code></p>
3351 <li>Der in <code>Servername</code> angegebene Port</li>
3352 <li>Der physische Port</li>
3353 <li>Der Standardport</li>
3355 <code>UseCanonicalName Off | DNS</code>
3357 <li>Der Port, der aus dem <code>Host:</code>-Header gewonnen wurde</li>
3358 <li>Der physische Port</li>
3359 <li>Der in <code>Servername</code> angegebene Port</li>
3360 <li>Der Standardport</li>
3363 <p>Bei <code>UseCanonicalPhysicalPort Off</code> werden die physischen
3364 Ports aus der Suchreihe entfernt.</p>
3368 <seealso><directive module="core">UseCanonicalName</directive></seealso>
3369 <seealso><directive module="core">ServerName</directive></seealso>
3370 <seealso><directive module="mpm_common">Listen</directive></seealso>
3371 </directivesynopsis>
3373 <directivesynopsis type="section">
3374 <name>VirtualHost</name>
3375 <description>Enthält Direktiven, die nur auf bestimmte Hostnamen oder
3376 IP-Adressen angewendet werden</description>
3377 <syntax><VirtualHost
3378 <var>Adresse</var>[:<var>Port</var>] [<var>Adresse</var>[:<var>Port</var>]]
3379 ...> ... </VirtualHost></syntax>
3380 <contextlist><context>server config</context></contextlist>
3383 <p><directive type="section">VirtualHost</directive> und
3384 <code></VirtualHost></code> werden dazu verwendet, eine Gruppe
3385 von Direktiven zusammenzufassen, die nur auf einen bestimmten virtuellen
3386 Host angewendet werden. Jede Direktive, die im Virtual-Host-Kontext
3387 zulässig ist, kann verwendet werden. Wenn der Server eine Anfrage
3388 für ein bestimmtes Dokument eines bestimmten virtuellen Hosts
3389 empfängt, dann benutzt er die im
3390 <directive type="section">VirtualHost</directive>-Container enthaltenen
3391 Konfigurationsanweisungen. <var>Adresse</var> kann sein:</p>
3394 <li>Die IP-Adresse des virtuellen Hosts.</li>
3396 <li>Ein voll qualifizierter Domainname für die IP-Adresse des
3397 virtuellen Hosts.</li>
3399 <li>Das Zeichen <code>*</code>, welches nur in Kombination mit
3400 <code>NameVirtualHost *</code> verwendet wird, um allen IP-Adressen
3401 zu entsprechen.</li>
3403 <li>Die Zeichenkette <code>_default_</code>, die nur mit IP-basierten
3404 virtuellen Hosts verwendet wird, um nicht zugewiesene IP-Adressen
3408 <example><title>Beispiel</title>
3409 <VirtualHost 10.1.2.3><br />
3411 ServerAdmin webmaster@host.foo.com<br />
3412 DocumentRoot /www/docs/host.foo.com<br />
3413 ServerName host.foo.com<br />
3414 ErrorLog logs/host.foo.com-error_log<br />
3415 TransferLog logs/host.foo.com-access_log<br />
3417 </VirtualHost>
3420 <p>IPv6-Adressen müssen in eckigen Klammern angegeben werden, da die
3421 optionale Portnummer sonst nicht erkannt werden kann. Hier ein
3425 <VirtualHost [2001:db8::a00:20ff:fea7:ccea]><br />
3427 ServerAdmin webmaster@host.example.com<br />
3428 DocumentRoot /www/docs/host.example.com<br />
3429 ServerName host.example.com<br />
3430 ErrorLog logs/host.example.com-error_log<br />
3431 TransferLog logs/host.example.com-access_log<br />
3433 </VirtualHost>
3436 <p>Jeder virtuelle Host muss einer anderen IP-Adresse, einem anderen Port
3437 oder einem anderen Hostnamen für den Server entsprechen. Im ersten
3438 Fall muss die Servermaschine so eingerichtet sein, dass sie IP-Pakete
3439 für mehrere Adressen akzeptiert. (Wenn der Rechner nicht mehrere
3440 Netzwerkkarten besitzt, kann dies mit dem Befehl <code>ifconfig
3441 alias</code> durchgeführt werden -- sofern Ihr Betriebssystem das
3442 unterstützt).</p>
3444 <note><title>Anmerkung</title>
3445 <p>Die Verwendung von <directive type="section">VirtualHost</directive>
3446 beeinflusst <strong>nicht</strong>, an welchen Adressen der Apache
3447 lauscht. Sie müssen mit <directive
3448 module="mpm_common">Listen</directive> sicherstellen, dass der Apache
3449 an der richtigen Adresse lauscht.</p>
3452 <p>Bei der Verwendung IP-basierter virtuellen Hosts kann der spezielle
3453 Name <code>_default_</code> benutzt werden. In diesem Fall weist
3454 der Apache jede IP-Adresse diesem virtuellen Host zu, die nicht explizit in
3455 einem anderen virtuellen Host angegeben ist. Falls kein virtueller Host
3456 <code>_default_</code> angegeben ist, wird die "Hauptserver"-Konfiguration,
3457 die aus allen Definitionen außerhalb der Virtual-Host-Abschnitte
3458 besteht, für nicht passende IPs verwendet. (Beachten Sie jedoch,
3459 dass eine IP-Adressen die zu einer <directive
3460 module="core">NameVirtualHost</directive>-Anweisung passt, weder den
3461 "Hauptserver" noch den virtuellen Host <code>_default_</code> verwendet.
3462 Lesen Sie für weitere Details die Dokumentation zu <a
3463 href="../vhosts/name-based.html">namensbasierten virtuell Hosts</a>.)</p>
3465 <p>Sie können einen speziellen <code>:Port</code> angeben,
3466 um den entsprechenden Port zu wechseln. Falls nicht angegeben, wird
3467 er auf den gleichen Port voreingestellt, wie die letzte
3468 <directive module="mpm_common">Listen</directive>-Anweisung des
3469 Hauptservers. Sie können auch <code>:*</code> angeben, um alle
3470 Ports dieser Adresse zu akzeptieren. (Dies wird zusammen mit
3471 <code>_default_</code> empfohlen.)</p>
3473 <note type="warning"><title>Sicherheit</title>
3474 <p>Lesen Sie das Dokument <a
3475 href="../misc/security_tips.html">Sicherheitshinweise</a> für
3476 Details, warum Ihre Sicherheit gefährdet sein kann, wenn das
3477 Verzeichnis, in dem Protokolldateien gespeichert werden, für
3478 jemanden anderes als den Benutzer beschreibbar ist, der den Server
3482 <seealso><a href="../vhosts/">Apache-Dokumentation zu virtuellen
3484 <seealso><a href="../dns-caveats.html">Probleme bezüglich DNS und
3485 Apache</a></seealso>
3486 <seealso><a href="../bind.html">Bestimmen, welche Adressen und Ports
3487 der Apache verwendet</a></seealso>
3488 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
3489 <Location> und <Files> arbeiten</a> für eine
3490 Erläuterung, wie diese verschiedenen Abschnitte miteinander
3491 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
3492 </directivesynopsis>