2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.de.xsl"?>
4 <!-- English revision: 1.80 -->
7 Copyright 2003-2004 The Apache Software Foundation
9 Licensed under the Apache License, Version 2.0 (the "License");
10 you may not use this file except in compliance with the License.
11 You may obtain a copy of the License at
13 http://www.apache.org/licenses/LICENSE-2.0
15 Unless required by applicable law or agreed to in writing, software
16 distributed under the License is distributed on an "AS IS" BASIS,
17 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 See the License for the specific language governing permissions and
19 limitations under the License.
22 <modulesynopsis metafile="core.xml.meta">
25 <description>Ständig verfügbare Kernfunktionen des Apache HTTP
30 <name>AcceptPathInfo</name>
31 <description>Ressourcen lassen angehängte Pfadangaben zu</description>
32 <syntax>AcceptPathInfo On|Off|Default</syntax>
33 <default>AcceptPathInfo Default</default>
34 <contextlist><context>server config</context>
35 <context>virtual host</context><context>directory</context>
36 <context>.htaccess</context></contextlist>
37 <override>FileInfo</override>
38 <compatibility>Verfügbar ab Apache 2.0.30</compatibility>
41 <p>Die Direktive steuert, ob Anfragen akzeptiert oder
42 abgewiesen werden, bei denen nach der tatsächlichen
43 Datei (oder einer nicht existierenden Datei in einem existierenden
44 Verzeichnis) zusätzliche Pfadangaben folgen. Die angehängte
45 Pfadangabe kann Skripten in der Umgebungsvariable <code>PATH_INFO</code>
46 verfügbar gemacht werden.</p>
48 <p>Nehmen wir beispielsweise an, dass <code>/test/</code> auf ein
49 Verzeichnis zeigt, welches lediglich eine Datei <code>here.html</code>
50 enthält. Dann wird bei Anfragen nach
51 <code>/test/here.html/more</code> und
52 <code>/test/nothere.html/more</code> beides Mal <code>/more</code>
53 als <code>PATH_INFO</code> ermittelt.</p>
55 <p>Die drei möglichen Argumente für die Direktive
56 <directive>AcceptPathInfo</directive> sind:</p>
59 <dt><code>Off</code></dt><dd>Eine Anfrage wird nur dann akzeptiert,
60 wenn sie exakt auf ein existierendes Verzeichnis (oder eine Datei)
61 abgebildet werden kann. Daher würde eine Anfrage mit einer nach dem
62 tatsächlichen Dateinamen angehängten Pfadangabe, wie
63 <code>/test/here.html/more</code> im obigen Beispiel, den Fehler
64 404 NOT FOUND <transnote>nicht gefunden</transnote>
65 zurückgeben.</dd>
67 <dt><code>On</code></dt>
68 <dd>Eine Anfrage wird akzeptiert, wenn eine vorangestellte Pfadangabe
69 auf ein existierendes Verzeichnis abgebildet werden kann. Das
70 obige Beispiel <code>/test/here.html/more</code> wird akzeptiert,
71 wenn <code>/test/here.html</code> auf eine gültige Datei
74 <dt><code>Default</code></dt>
75 <dd>Die Behandlung von Anfragen mit angehängten Pfadangaben
76 wird von dem für die Anfrage verantwortlichen <a
77 href="../handler.html">Handler</a> bestimmt. Der Core-Handler
78 für gewöhnliche Dateien weist <code>PATH_INFO</code>-Zugriffe
79 standardmäßig zurück. Handler, die Skripte bedienen,
80 wie z.B. <a href="mod_cgi.html">cgi-script</a> und
81 <a href="mod_isapi.html">isapi-isa</a>, sind im Allgemeinen darauf
82 voreingestellt, <code>PATH_INFO</code> zu akzeptieren.</dd>
85 <p>Das eigentliche Ziel von <code>AcceptPathInfo</code> ist es, Ihnen
86 das Überschreiben der Voreinstellung der Handler bezüglich
87 der Akzeptanz oder Ablehnung von <code>PATH_INFO</code> zu erlauben.
88 Eine solche Änderung ist zum Beispiel notwendig, wenn Sie einen
89 <a href="../filter.html">Filter</a> wie <a
90 href="mod_include.html">INCLUDES</a> verwenden, um Inhalte
91 abhängig von <code>PATH_INFO</code> zu generieren. Der
92 Core-Handler würde die Anfrage normalerweise abweisen. Verwenden
93 Sie die folgende Konfiguration, um dennoch solch ein Skript zu
97 <Files "mypaths.shtml"><br />
99 Options +Includes<br />
100 SetOutputFilter INCLUDES<br />
101 AcceptPathInfo On<br />
110 <name>AccessFileName</name>
111 <description>Name der dezentralen Konfigurationsdateien</description>
112 <syntax>AccessFileName <var>Dateiname</var> [<var>Dateiname</var>] ...</syntax>
113 <default>AccessFileName .htaccess</default>
114 <contextlist><context>server config</context><context>virtual host</context>
118 <p>Aus dieser Namensliste sucht der Server während der
119 Bearbeitung einer Anfrage in jedem Verzeichnis nach der ersten
120 existierenden Datei, sofern im betreffenden Verzeichnis dezentrale
121 Konfigurationsdateien <a href="#allowoverride">erlaubt sind</a>.
128 <p>Vor der Rücksendung des Dokuments
129 <code>/usr/local/web/index.html</code> wird der Server
130 <code>/.acl</code>, <code>/usr/.acl</code>,
131 <code>/usr/local/.acl</code> und <code>/usr/local/web/.acl</code>
132 einlesen, solange diese nicht mit</p>
135 <Directory /><br />
137 AllowOverride None<br />
142 <p>deaktiviert wurden.</p>
144 <seealso><directive module="core">AllowOverride</directive></seealso>
145 <seealso><a href="../configuring.html">Konfigurationsdateien</a></seealso>
146 <seealso><a href="../howto/htaccess.html">.htaccess-Dateien</a></seealso>
150 <name>AddDefaultCharset</name>
151 <description>Standard-Zeichenkodierung für Antworten ohne
152 explizit angegebene Zeichenkodierung
154 <syntax>AddDefaultCharset On|Off|<var>Zeichenkodierung</var></syntax>
155 <default>AddDefaultCharset Off</default>
156 <contextlist><context>server config</context>
157 <context>virtual host</context><context>directory</context>
158 <context>.htaccess</context></contextlist>
159 <override>FileInfo</override>
162 <p>Die Direktive gibt den Namen der Zeichenkodierung an, die
163 jeder Antwort hinzugefügt wird, welche in den HTTP-Headern
164 keinen Parameter zum Content-Type enthält. Dies überschreibt
165 jede Zeichenkodierung, die mittels <code>META</code>-Tag im Dokument
166 angegeben ist. Die Angabe von <code>AddDefaultCharset Off</code>
167 deaktiviert die Funktion. <code>AddDefaultCharset On</code>
168 ermöglicht es, mit der Direktive die Apache-interne
169 Standard-Zeichenkodierung <code>iso-8859-1</code> vorzuschreiben.
170 Sie können auch angeben, dass eine andere
171 <var>Zeichenkodierung</var> verwendet werden soll. Zum Beispiel:</p>
174 AddDefaultCharset utf-8
180 <name>AddOutputFilterByType</name>
181 <description>einen Ausgabefilter einem bestimmten MIME-Type
182 zuordnen</description>
183 <syntax>AddOutputFilterByType <var>Filter</var>[;<var>Filter</var>...]
184 <var>MIME-Type</var> [<var>MIME-Type</var>] ...</syntax>
185 <contextlist><context>server config</context>
186 <context>virtual host</context><context>directory</context>
187 <context>.htaccess</context></contextlist>
188 <override>FileInfo</override>
189 <compatibility>Verfügbar ab Apache 2.0.33</compatibility>
192 <p>Die Direktive aktiviert für eine Anfrage abhängig vom
193 MIME-Type der Antwort einen bestimmten Ausgabe-<a href="../filter.html"
196 <p>Das folgende Beispiel verwendet den Filter <code>DEFLATE</code>,
197 der von <module>mod_deflate</module> angeboten wird. Er komprimiert
198 jede Ausgabe, die als <code>text/html</code> oder <code>text/plain</code>
199 gekennzeichnet ist, (gleichgültig, ob statisch oder dynamisch)
200 bevor sie an den Client gesendet wird.</p>
203 AddOutputFilterByType DEFLATE text/html text/plain
206 <p>Wenn Sie den Inhalt von mehr als einem Filter verarbeiten lassen
207 wollen, dann müssen deren Namen durch Semikolons voneinander
208 getrennt werden. Es ist ebenfalls möglich, eine
209 <directive>AddOutputFilterByType</directive>-Direktive für
210 jeden von diesen Filtern zu verwenden.</p>
212 <p>Die folgende Konfiguration sorgt dafür, dass alle
213 Skriptausgaben, die als <code>text/html</code> gekennzeichnet
214 sind, zuerst vom <code>INCLUDES</code>-Filter und dann vom
215 <code>DEFLATE</code>-Filter verarbeitet werden.</p>
218 <Location /cgi-bin/><br />
220 Options Includes<br />
221 AddOutputFilterByType INCLUDES;DEFLATE text/html<br />
226 <note type="warning"><title>Hinweis:</title>
227 <p>Die Aktivierung von Filtern mittels
228 <directive>AddOutputFilterByType</directive> kann in einigen
229 Fällen ganz oder teilweise fehlschlagen. Beispielsweise
230 werden keine Filter angewendet, wenn der MIME-Type nicht bestimmt
231 werden kann und auf die Einstellung der <directive
232 module="core">DefaultType</directive>-Anweisung zurückfällt,
233 selbst wenn die <directive
234 module="core">DefaultType</directive>-Einstellung die gleiche ist.</p>
236 <p>Wenn Sie jedoch sicherstellen wollen, dass der Filter
237 angewendet wird, sollten Sie den Content-Type z.B. mit
238 <directive module="mod_mime">AddType</directive> oder
239 <directive module="core">ForceType</directive> der Ressource
240 explizit zuordnen. Das Setzen des Content-Types innerhalb
241 eines (nicht-nph) CGI-Skriptes funktioniert ebenfalls
242 zuverlässig.</p>
244 <p>Die Typ-gebundenen Ausgabefilter werden niemals auf
245 Proxy-Anfragen angewendet.</p>
249 <seealso><directive module="mod_mime">AddOutputFilter</directive></seealso>
250 <seealso><directive module="core">SetOutputFilter</directive></seealso>
251 <seealso><a href="../filter.html">Filter</a></seealso>
255 <name>AllowEncodedSlashes</name>
256 <description>Legt fest, ob kodierte Pfadtrennzeichen in URLs durchgereicht
257 werden dürfen</description>
258 <syntax>AllowEncodedSlashes On|Off</syntax>
259 <default>AllowEncodedSlashes Off</default>
260 <contextlist><context>server config</context><context>virtual host</context>
262 <compatibility>Verfügbar ab Apache 2.0.46</compatibility>
265 <p>Die <directive>AllowEncodedSlashes</directive>-Direktive erlaubt die
266 Verwendung von URLs, welche kodierte Pfadtrennzeichen (<code>%2F</code>
267 für <code>/</code> und auf entsprechenden Systemen zusätzlich
268 <code>%5C</code> für <code>\</code>) enthalten. Normalerweise werden
269 derartige URLs mit einem 404-Fehler (Nicht gefunden) abgewiesen.</p>
271 <p><directive>AllowEncodedSlashes</directive> <code>On</code> ist
272 vor allem in Verbindung mit <code>PATH_INFO</code> hilfreich.</p>
274 <note><title>Anmerkung</title>
275 <p>Das Erlauben von Schrägstrichen impliziert <em>nicht</em> deren
276 <em>Dekodierung</em>. Vorkommen von <code>%2F</code> oder <code>%5C</code>
277 (<em>nur</em> auf entsprechenden Systemen) werden unverändert in der
278 ansonsten dekodierten URL belassen.</p>
281 <seealso><directive module="core">AcceptPathInfo</directive></seealso>
285 <name>AllowOverride</name>
286 <description>Direktiven-Typen, die in <code>.htaccess</code>-Dateien
287 erlaubt sind.</description>
288 <syntax>AllowOverride All|None|<var>Direktiven-Typ</var>
289 [<var>Direktiven-Typ</var>] ...</syntax>
290 <default>AllowOverride All</default>
291 <contextlist><context>directory</context></contextlist>
294 <p>Wenn der Server eine <code>.htaccess</code>-Datei (wie durch
295 <directive module="core">AccessFileName</directive> definiert)
296 findet, muss er wissen, welche in der Datei angegebenen Direktiven
297 frühere Konfigurationsanweisungen überschreiben
300 <note><title>Nun in <Directory>-Abschnitten verfügbar</title>
301 <directive>AllowOverride</directive> ist nur in <directive
302 type="section" module="core">Directory</directive>-Abschnitten
303 gültig, nicht in <directive type="section"
304 module="core">Location</directive>- oder <directive type="section"
305 module="core">Files</directive>-Abschnitten.
308 <p>Wenn diese Anweisung auf <code>None</code> gesetzt wird, dann
309 werden <a href="#accessfilename">.htaccess</a>-Dateien komplett
310 ignoriert. In diesem Fall wird der Server nicht einmal versuchen,
311 die <code>.htaccess</code>-Dateien im Dateisystem zu lesen.</p>
313 <p>Wenn diese Anweisung auf <code>All</code> gesetzt wird, dann
314 ist jede Direktive in den <code>.htaccess</code>-Dateien erlaubt,
315 die den <a href="directive-dict.html#Context">Kontext</a>
316 .htaccess besitzt.</p>
318 <p>Der <var>Direktiven-Typ</var> kann eine der folgenden
319 Anweisungsgruppen sein.</p>
325 Erlaubt die Verwendung von Autorisierungs-Anweisungen (<directive
326 module="mod_authn_dbm">AuthDBMGroupFile</directive>,
327 <directive module="mod_authn_dbm">AuthDBMUserFile</directive>,
328 <directive module="mod_authz_groupfile">AuthGroupFile</directive>,
329 <directive module="core">AuthName</directive>,
330 <directive module="core">AuthType</directive>, <directive
331 module="mod_authn_file">AuthUserFile</directive>, <directive
332 module="core">Require</directive> <em>usw.</em>).</dd>
337 Erlaubt die Verwendung von Direktiven zur Steuerung der
338 Dokumenttypen (<directive
339 module="core">DefaultType</directive>, <directive
340 module="core">ErrorDocument</directive>, <directive
341 module="core">ForceType</directive>, <directive
342 module="mod_negotiation">LanguagePriority</directive>,
343 <directive module="core">SetHandler</directive>, <directive
344 module="core">SetInputFilter</directive>, <directive
345 module="core">SetOutputFilter</directive>, und
346 <module>mod_mime</module>-Direktiven Add* und Remove*
352 Erlaubt die Verwendung von Direktiven zur Steuerung von
353 Verzeichnisindizes (<directive
354 module="mod_autoindex">AddDescription</directive>,
355 <directive module="mod_autoindex">AddIcon</directive>, <directive
356 module="mod_autoindex">AddIconByEncoding</directive>,
357 <directive module="mod_autoindex">AddIconByType</directive>,
358 <directive module="mod_autoindex">DefaultIcon</directive>, <directive
359 module="mod_dir">DirectoryIndex</directive>, <directive
360 module="mod_autoindex">FancyIndexing</directive>, <directive
361 module="mod_autoindex">HeaderName</directive>, <directive
362 module="mod_autoindex">IndexIgnore</directive>, <directive
363 module="mod_autoindex">IndexOptions</directive>, <directive
364 module="mod_autoindex">ReadmeName</directive>
370 Erlaubt die Verwendung von Direktiven zur Steuerung des
371 Zugriffs von Hosts (<directive
372 module="mod_authz_host">Allow</directive>, <directive
373 module="mod_authz_host">Deny</directive> und <directive
374 module="mod_authz_host">Order</directive>).</dd>
379 Erlaubt die Verwendung von Direktiven zur Steuerung spezieller
380 Verzeichniseigenschaften (<directive module="core">Options</directive>
381 und <directive module="mod_include">XBitHack</directive>).</dd>
387 AllowOverride AuthConfig Indexes
391 <seealso><directive module="core">AccessFileName</directive></seealso>
392 <seealso><a href="../configuring.html">Konfigurationsdateien</a></seealso>
393 <seealso><a href="../howto/htaccess.html">.htaccess-Dateien</a></seealso>
397 <name>AuthName</name>
398 <description>Autorisierungsbereich zur Verwendung in der
399 HTTP-Authentisierung</description>
400 <syntax>AuthName <var>auth-Bereich</var></syntax>
401 <contextlist><context>directory</context><context>.htaccess</context>
403 <override>AuthConfig</override>
406 <p>Die Direktive legt den Namen des Autorisierungsbereiches
407 <transnote>Der Autorisierungsbereich wird auch Realm genannt.</transnote>
408 für ein Verzeichnis fest. Dieser Realm wird dem Client mitgeteilt,
409 damit der Anwender weiß, welchen Benutzernamen und welches Passwort
410 er zu übermitteln hat. <directive>AuthName</directive> akzeptiert ein
411 Argument. Falls der Name des Realm Leerzeichen enthält, muss er in
412 Anführungszeichen eingeschlossen werden. Um zu funktionieren, muss
413 die Anweisung von den Direktiven <directive
414 module="core">AuthType</directive> und <directive
415 module="core">Require</directive> sowie von
416 Direktiven wie <directive module="mod_authn_file">AuthUserFile</directive>
417 und <directive module="mod_authz_groupfile">AuthGroupFile</directive>
418 begleitet werden.</p>
423 AuthName "Top Secret"
426 <p>Die <code>AuthName</code> übergebene Zeichenkette ist das,
427 was in dem von den meisten Browsern angebotenen Passwort-Dialog
431 href="../howto/auth.html">Authentisierung, Autorisierung und
432 Zugriffskontrolle</a></seealso>
436 <name>AuthType</name>
437 <description>Art der Authentisierung</description>
438 <syntax>AuthType Basic|Digest</syntax>
439 <contextlist><context>directory</context><context>.htaccess</context>
441 <override>AuthConfig</override>
444 <p>Die Direktive wählt die Art der Benutzer-Authentisierung
445 für ein Verzeichnis aus. Derzeit sind lediglich <code>Basic</code>
446 und <code>Digest</code> implementiert.
447 Um zu funktionieren, muss die Anweisung von den Direktiven <directive
448 module="core">AuthName</directive> und <directive
449 module="core">Require</directive> sowie von
450 Direktiven wie <directive module="mod_authn_file">AuthUserFile</directive>
451 und <directive module="mod_authz_groupfile">AuthGroupFile</directive>
452 begleitet werden.</p>
454 <seealso><a href="../howto/auth.html">Authentisierung, Autorisierung und
455 Zugriffskontrolle</a></seealso>
459 <name>CGIMapExtension</name>
460 <description>Technik zur Bestimmung des Interpreters für
461 CGI-Skripte</description>
462 <syntax>CGIMapExtension <var>CGI-Pfad</var> <var>.Endung</var></syntax>
463 <contextlist><context>directory</context><context>.htaccess</context>
465 <override>FileInfo</override>
466 <compatibility>ausschließlich NetWare</compatibility>
469 <p>Die Direktive wird zur Steuerung verwendet, wie Apache
470 den Interpreter ermittelt, der zur Ausführung von
471 CGI-Skripten verwendet wird. Beispielsweise bestimmt die Angabe
472 von <code>CGIMapExtension sys:\foo.nlm .foo</code>, dass
473 alle CGI-Scripte mit der Endung <code>.foo</code> an den
474 FOO-Interpreter übergeben werden.</p>
479 <name>ContentDigest</name>
480 <description>Aktiviert die Generierung von <code>Content-MD5</code>
481 HTTP-Response-Headern</description>
482 <syntax>ContentDigest On|Off</syntax>
483 <default>ContentDigest Off</default>
484 <contextlist><context>server config</context><context>virtual host</context>
485 <context>directory</context><context>.htaccess</context>
487 <override>Options</override>
488 <status>Experimental</status>
491 <p>Die Direktive aktiviert die Generierung von
492 <code>Content-MD5</code>-Headern, wie sie in RFC1864 bzw. RFC2068
495 <p>MD5 ist ein Algorithmus zur Berechnung eines "Datenextrakts"
496 (zuweilen "Fingerabdruck" genannt) <transnote>Der "Datenextrakt" wird im
497 Englischen als "message digest" oder "fingerprint" bezeichnet.</transnote>
498 aus beliebig langen Daten. Es gilt als zuverlässig, dass
499 Veränderungen an den Daten sich in Veränderungen des
500 Extrakts wiederspiegeln.</p>
502 <p>Der <code>Content-MD5</code>-Header bietet eine
503 End-to-End-Integritätsprüfung (MIC) <transnote>MIC steht für
504 "message integrity check".</transnote> des Daten-Inhalts. Ein Proxy oder
505 Client kann diesen Header prüfen, um zufällige Veränderungen
506 des Entity-Inhalts bei der Übertragung festzustellen.
510 Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
513 <p>Beachten Sie bitte, dass dies Performanceprobleme auf Ihrem
514 System verursachen kann, da der Extrakt bei jeder Anfrage
515 berechnet wird (der Wert wird nicht zwischengespeichert).</p>
517 <p><code>Content-MD5</code> wird nur für Dokumente gesendet,
518 die von <module>core</module> bedient werden, nicht jedoch bei
519 Modulen. SSI-Dokumente, CGI-Skript-Ausgaben und Byte-Range-Antworten
520 besitzen diesen Header beispielsweise nicht.</p>
525 <name>DefaultType</name>
526 <description>MIME-Content-Type, der gesendet wird, wenn der Server den Typ
527 nicht auf andere Weise ermitteln kann.</description>
528 <syntax>DefaultType <var>MIME-Type</var></syntax>
529 <default>DefaultType text/plain</default>
530 <contextlist><context>server config</context><context>virtual host</context>
531 <context>directory</context><context>.htaccess</context>
533 <override>FileInfo</override>
536 <p>Es kann vorkommen, dass der Server ein Dokument ausliefern muss,
537 dessen Typ er nicht mit Hilfe seiner MIME-Type-Zuordnungen bestimmen
540 <p>Der Server muss den Client über den Content-Type des
541 Dokumentes informieren. Daher verwendet er im Falle eines
542 unbekannten Typs die <code>DefaultType</code>-Einstellung.
546 DefaultType image/gif
549 <p>wäre angemessen für ein Verzeichnis, das viele GIF-Bilder
550 enthält, deren Dateinamen nicht Endung <code>.gif</code>
553 <p>Beachten Sie bitte, dass die Direktive anders als <directive
554 module="core">ForceType</directive> lediglich den Standard-MIME-Type
555 bestimmt. Alle anderen MIME-Type-Definitionen, einschließlich
556 Dateierweiterungen, die den Medien-Typ anzeigen können,
557 überschreiben diese Voreinstellung.</p>
561 <directivesynopsis type="section">
562 <name>Directory</name>
563 <description>Umschließt eine Gruppe von Direktiven, die nur auf
564 das genannte Verzeichnis des Dateisystems und Unterverzeichnisse angewendet
566 <syntax><Directory <var>Verzeichnispfad</var>>
567 ... </Directory></syntax>
568 <contextlist><context>server config</context><context>virtual host</context>
572 <p><directive type="section">Directory</directive> und
573 <code></Directory></code> werden dazu verwendet, eine Gruppe
574 von Direktiven zusammenzufassen, die nur für das genannte
575 Verzeichnis und dessen Unterverzeichnisse gelten. Jede Direktive,
576 die im Verzeichnis-Kontext erlaubt ist, kann verwendet werden.
577 <var>Verzeichnispfad</var> ist entweder der vollständige Pfad zu
578 einem Verzeichnis oder eine Zeichenkette mit Platzhaltern wie sie von der
579 Unix-Shell zum Abgleich verwendet werden. In einer Zeichenkette
580 mit Platzhaltern <transnote>sogenannte wild-cards</transnote> entspricht
581 <code>?</code> einem einzelnen Zeichen und <code>*</code> einer
582 Zeichenkette beliebiger Länge. Sie können auch auch
583 <code>[]</code>-Zeichenbereiche verwenden. Keiner der Platzhalter
584 entspricht dem Zeichen "/". Daher passt <code><Directory
585 /*/public_html></code> nicht auf <code>/home/user/public_html</code>,
586 <code><Directory /home/*/public_html></code> jedoch tut es.
590 <Directory /usr/local/httpd/htdocs><br />
592 Options Indexes FollowSymLinks<br />
598 <p>Seien Sie vorsichtig mit den <var>Verzeichnispfad</var>-Argumenten.
599 Sie müssen buchstäblich mit dem Dateisystempfad
600 übereinstimmen, den der Apache für den Zugriff auf die
601 Dateien verwendet. Direktiven, die für ein bestimmtes
602 Verzeichnis gelten, gelten nicht für Dateien in dem Verzeichnis,
603 auf die über einen anderen Pfad zugegriffen wird, wie z.B.
604 über verschiedene symbolische Links.</p>
607 <p>Erweiterte reguläre Ausdrücke können ebenfalls
608 verwendet werden, indem das Zeichen <code>~</code> hinzugefügt
609 wird. Beispielsweise würde</p>
612 <Directory ~ "^/www/.*/[0-9]{3}">
615 <p>auf Verzeichnisse in <code>/www/</code> passen, die aus drei
618 <p>Wenn mehrere <directive type="section">Directory</directive>-Abschnitte
619 (ohne reguläre Ausdrücke) auf ein Verzeichnis (oder
620 ein ihm übergeordnetes Verzeichnis) passen, welches ein Dokument
621 enthält, dann werden die Direktiven der Reihe nach, angefangen
622 beim kürzesten passenden Muster, vermischt mit den Direktiven
623 aus den <a href="#accessfilename">.htaccess</a>-Dateien, angewendet.
627 <Directory /><br />
629 AllowOverride None<br />
631 </Directory><br />
633 <Directory /home/><br />
635 AllowOverride FileInfo<br />
640 <p>Beim Zugriff auf das Dokument <code>/home/web/dir/doc.html</code>
641 sind die einzelnen Schritte:</p>
644 <li>Wende die Direktive <code>AllowOverride None</code> an
645 (deaktiviere <code>.htaccess</code>-Dateien).</li>
647 <li>Wende die Direktive <code>AllowOverride FileInfo</code>
648 (auf das Verzeichnis <code>/home</code>) an.</li>
650 <li>Wende jede <code>FileInfo</code>-Direktive aus
651 <code>/home/.htaccess</code>, <code>/home/web/.htaccess</code> und
652 <code>/home/web/dir/.htaccess</code> der Reihe nach an.</li>
655 <p>Reguläre Ausdrücke werden solange nicht berücksichtigt,
656 bis alle normalen Abschnitte angewendet wurden. Anschließend
657 werden alle regulären Ausdrücke in der Reihenfolge
658 geprüft, in der sie in der Konfigurationsdatei auftauchen.
659 Beispielsweise wird bei</p>
662 <Directory ~ abc$><br />
664 # ... hier die Direktiven ...<br />
669 <p>der Abschnitt mit dem regulären Ausdruck nicht
670 berücksichtigt, bis alle normalen
671 <directive type="section">Directory</directive>-Abschnitte und
672 <code>.htaccess</code>-Dateien angewendet wurden. Dann erst wird
673 der reguläre Ausdruck mit <code>/home/abc/public_html/abc</code>
674 abgeglichen und der entsprechende <directive
675 type="section">Directory</directive>-Abschnitt angewendet.</p>
677 <p><strong>Beachten Sie bitte, dass der vom Apache voreingestellte
678 Zugriff für <code><Directory /></code>
679 <code>Allow from All</code> ist. Das bedeutet, dass der Apache
680 jede Datei ausliefert, die durch eine URL abgebildet wird. Es wird
681 empfohlen, dass Sie dies durch einen Block wie</strong></p>
684 <Directory /><br />
686 Order Deny,Allow<br />
692 <p><strong>ändern und anschließend für
693 Verzeichnisse überschreiben, die Sie verfügbar machen
694 <em>wollen</em>. Für weitere Einzelheiten lesen Sie bitte
696 href="../misc/security_tips.html">Sicherheitshinweisen</a>.</strong></p>
698 <p>Die Verzeichnisabschnitte erscheinen in der Datei
699 <code>httpd.conf</code>. <directive
700 type="section">Directory</directive>-Direktiven dürfen nicht
701 ineinander verschachtelt werden oder innerhalb von <directive module="core"
702 type="section">Limit</directive>- oder <directive module="core"
703 type="section">LimitExcept</directive>-Abschnitten auftauchen.</p>
705 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
706 <Location> und <Files> arbeiten</a> für eine
707 Erläuterung, wie diese verschiedenen Abschnitte miteinander
708 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
711 <directivesynopsis type="section">
712 <name>DirectoryMatch</name>
713 <description>Umschließt eine Gruppe von Direktiven, die auf
714 Verzeichnisse des Dateisystems und ihre Unterverzeichnisse abgebildet
715 werden, welche auf einen regulären Ausdruck passen</description>
716 <syntax><DirectoryMatch <var>regex</var>>
717 ... </DirectoryMatch></syntax>
718 <contextlist><context>server config</context><context>virtual host</context>
722 <p><directive type="section">DirectoryMatch</directive> und
723 <code></DirectoryMatch></code> werden dazu verwendet, eine
724 Gruppe von Direktiven zusammenzufassen, die nur für das
725 genannte Verzeichnis und dessen Unterverzeichnisse gelten, genauso
726 wie bei <directive module="core" type="section">Directory</directive>.
727 Als Argument dient jedoch ein regulärer Ausdruck.
728 Beispielsweise würde</p>
731 <DirectoryMatch "^/www/.*/[0-9]{3}">
734 <p>auf Verzeichnisse in <code>/www/</code> passen, die aus drei
735 Zeichen bestehen.</p>
737 <seealso><directive type="section" module="core">Directory</directive>
738 für eine Beschreibung, wie reguläre Ausdrücke mit
739 normalen <directive type="section">Directory</directive>-Anweisungen
740 vermischt werden.</seealso>
741 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
742 <Location> und <Files> arbeiten</a> für eine
743 Erläuterung, wie diese verschiedenen Abschnitte miteinander
744 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
748 <name>DocumentRoot</name>
749 <description>Verzeichnis, welches den Haupt-Dokumentenbaum bildet, der im
750 Web sichtbar ist.</description>
751 <syntax>DocumentRoot <var>Verzeichnis</var></syntax>
752 <default>DocumentRoot /usr/local/apache/htdocs</default>
753 <contextlist><context>server config</context><context>virtual host</context>
757 <p>Die Direktive setzt das Verzeichnis, von dem aus
758 <code>httpd</code> Dateien ausliefert. Sofern nicht eine Direktive
759 wie <directive module="mod_alias">Alias</directive> greift, hängt
760 der Server Pfade aus der angeforderten URL an das Wurzelverzeichnis
761 an, um den Pfad zum Dokument zu bilden. Beispiel:</p>
764 DocumentRoot /usr/web
767 <p>Damit bezieht sich ein Zugriff auf
768 <code>http://www.my.host.com/index.html</code> auf
769 <code>/usr/web/index.html</code>. Wenn das <var>Verzeichnis</var> nicht
770 absolut angegeben ist, wird es relativ zu <directive
771 module="core">ServerRoot</directive> betrachtet.</p>
773 <p><directive>DocumentRoot</directive> sollte ohne einen
774 Schrägstrich am Ende angegeben werden.</p>
776 <seealso><a href="../urlmapping.html">URLs auf das Dateisystem
777 abbilden</a></seealso>
781 <name>EnableMMAP</name>
782 <description>Verwende Memory-Mapping, um Dateien während der
783 Auslieferung zu lesen</description>
784 <syntax>EnableMMAP On|Off</syntax>
785 <default>EnableMMAP On</default>
786 <contextlist><context>server config</context><context>virtual host</context>
787 <context>directory</context><context>.htaccess</context>
789 <override>FileInfo</override>
792 <p>Die Direktive steuert, ob <code>httpd</code> Memory-Mapping verwenden
793 darf, wenn er während der Auslieferung den Inhalt einer
794 Datei lesen muss. Wenn die Bearbeitung einer Anfrage es erfordert,
795 auf die Daten in einer Datei zuzugreifen -- zum Beispiel bei der
796 Auslieferung einer mittels <module>mod_include</module> serverseitig
797 analysierten Datei --, dann verwendet der Apache standardmäßig
798 Memory-Mapping für diese Datei, sofern das Betriebssystem es
799 unterstützt.</p>
801 <p>Memory-Mapping bedeutet zuweilen eine Performanceverbesserung.
802 In einigen Umgebungen ist es jedoch besser, Memory-Mapping zu
803 deaktivieren, um Problemen während des Betriebs vorzubeugen:</p>
806 <li>Bei einigen Multiprozessorsystemen kann Memory-Mapping die
807 Performance von <code>httpd</code> reduzieren.</li>
808 <li>Bei einem per NFS eingebundenen <directive
809 module="core">DocumentRoot</directive> kann <code>httpd</code> mit einem
810 Segmentierungsfehler <transnote>ein sogenannter "segmentation
811 fault"</transnote> abstürzen, wenn eine Datei gelöscht oder
812 gekürzt wird, während <code>httpd</code> sie im Speicher
816 <p>Bei Serverkonfigurationen, die für dieses Problem
817 anfällig sind, sollten Sie das Memory-Mapping für
818 auszuliefernde Dateien deaktivieren, indem Sie schreiben:</p>
824 <p>Bei per NFS eingebundenen Dateien kann diese Funktion
825 explizit für die störenden Dateien deaktiviert werden,
826 indem Sie angeben:</p>
829 <Directory "/pfad-zu-den-nfs-dateien">
839 <name>EnableSendfile</name>
840 <description>Verwende die sendfile-Unterstützung des Kernels, um
841 Dateien an den Client auszuliefern</description>
842 <syntax>EnableSendfile On|Off</syntax>
843 <default>EnableSendfile On</default>
844 <contextlist><context>server config</context><context>virtual host</context>
845 <context>directory</context><context>.htaccess</context>
847 <override>FileInfo</override>
848 <compatibility>Verfügbar ab Apache Version 2.0.44</compatibility>
851 <p>Die Direktive steuert, ob <code>httpd</code> die
852 sendfile-Unterstützung des Kernels verwenden kann, um
853 Dateiinhalte an den Client zu übermitteln. Wenn die Bearbeitung
854 einer Anfrage keinen Zugriff auf die Daten in der Datei erfordert --
855 zum Beispiel bei der Auslieferung einer statischen Datei -- und das
856 Betriebssystem es unterstützt, verwendet der Apache
857 standardmäßig sendfile, um den Dateiinhalt zu
858 übertragen, ohne die Datei jemals zu lesen.</p>
860 <p>Der sendfile-Mechanismus vermeidet getrennte Lese- und
861 Sendeoperationen sowie Puffer-Zuweisungen. Bei einigen Plattformen bzw.
862 Dateisystemen deaktivieren Sie diese Funktion jedoch besser, um Probleme
863 während des Betriebs zu vermeiden:</p>
866 <li>Einige Plattformen besitzen u.U. eine fehlerhafte
867 sendfile-Unterstützung, die das Erstellungssystem nicht erkennt,
868 insbesondere wenn die Binärdateien auf einem anderen Rechner erstellt
869 und auf eine solche Maschine mit fehlerhafter sendfile-Unterstützung
870 übertragen wurden.</li>
871 <li>Bei einem über das Netzwerk eingebundenen <directive
872 module="core">DocumentRoot</directive> (z.B. NFS oder SMB) ist der
873 Kernel möglicherweise nicht in der Lage, die Netzwerkdatei
874 über seinen eigenen Cache zu bedienen.</li>
875 <li>Unter Linux löst die Verwendung von <code>sendfile</code>
876 in Verbindung mit bestimmten Netzwerkkarten und IPv6
877 TCP-Checksummenfehler aus.</li>
880 <p>Bei Serverkonfigurationen, die für dieses Problam
881 anfällig sind, sollten die diese Funktion deaktivieren, indem
888 <p>Bei per NFS oder SMB eingebundenen Dateien kann diese Funktion
889 explizit für die störenden Dateien deaktiviert werden, indem
893 <Directory "/pfad-zu-den-nfs-dateien">
903 <name>ErrorDocument</name>
904 <description>Das, was der Server im Fehlerfall an den Client
905 zurückgibt</description>
906 <syntax>ErrorDocument <var>Fehlercode</var> <var>Dokument</var></syntax>
907 <contextlist><context>server config</context><context>virtual host</context>
908 <context>directory</context><context>.htaccess</context>
910 <override>FileInfo</override>
911 <compatibility>Die Syntax der Anführungszeichen bei Textnachrichten hat
912 sich im Apache 2.0 geändert</compatibility>
915 <p>Im Falle eines Problems oder Fehlers kann der Apache
916 konfiguriert werden, eine der vier Aktionen auszuführen:</p>
919 <li>Ausgabe einer einfachen, hartkodierten Fehlermeldung</li>
921 <li>Ausgabe einer angepassten Meldung</li>
923 <li>Umleitung zu einem lokalen <var>URL-Pfad</var> der das
924 Problem bzw. den Fehler behandelt</li>
926 <li>Umleitung zu einer externen <var>URL</var>, die das Problem
927 bzw. den Fehler behandelt</li>
930 <p>Die erste Option ist Voreinstellung, während die Optionen
931 2 bis 4 über die Direktive <directive>ErrorDocument</directive>
932 eingestellt werden, welcher der HTTP-Statuscode und eine
933 URL oder Nachricht folgen. Abhängig vom Problem bzw. Fehler bietet
934 der Apache manchmal zusätzliche Informationen an.</p>
936 <p>URLs können bei lokalen Adressen mit einem Schrägstrich
937 (/) beginnen oder eine komplette URL bilden, die der Client
938 auflösen kann. Alternativ kann eine Nachricht für die
939 Anzeige im Browser angeboten werden. Beispiel:</p>
942 ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br />
943 ErrorDocument 404 /cgi-bin/falsche_urls.pl<br />
944 ErrorDocument 401 /info_zur_anmeldung.html<br />
945 ErrorDocument 403 "Der Zugriff ist nicht erlaubt."
948 <p>Wenn Sie eine <directive>ErrorDocument</directive>-Anweisung
949 angeben, die auf eine entfernte URL weist (d.h. irgendetwas mit der
950 Methode <code>http</code> davor), beachten Sie bitte, dass der Apache
951 eine Umleitung zum Client sendet, um diesem mitzuteilen, wo das
952 Dokument zu finden ist, auch wenn das Dokument letztlich wieder zum
953 gleichen Server führt. Das hat mehrere Auswirkungen. Die
954 wichtigste ist, dass der Client nicht den Original-Statuscode
955 erhält sondern statt dessen einen Umleitungs-Statuscode. Dies
956 wiederum kann Web-Robots und andere Clients verwirren, die den
957 Statuscode dazu verwenden, herauszufinden ob eine URL gültig ist.
958 Wenn Sie eine entfernte URL in einer Anweisung
959 <code>ErrorDocument 401</code> verwenden, wird der Client
960 darüber hinaus nicht wissen, dass er den Benutzer zur Eingabe
961 eines Passwortes auffordern muss, da er den Statuscode 401 nicht
962 erhält. <strong>Deshalb müssen Sie sich auf ein lokales
963 Dokument beziehen, wenn Sie eine Anweisung <code>ErrorDocument
964 401</code> verwenden.</strong></p>
966 <p>Der Microsoft Internet Explorer (MSIE) ignoriert
967 standardmäßig serverseitig generierte Fehlermeldungen, wenn
968 sie "zu kurz" sind und ersetzt sie durch eigene "freundliche"
969 Fehlermeldungen. Die Größe variiert abhängig von der
970 Art des Fehlers, im Allgemeinen zeigt der MSIE jedoch den
971 serverseitig generierten Fehler, anstatt ihn zu verstecken, wenn Ihr
972 Fehlerdokument größer als 512 Bytes ist. Weitere Informationen
974 href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807"
975 >Q294807</a> in der Microsoft Knowledgebase article verfügbar.</p>
977 <p>In Versionen vor 2.0 wurden Meldungen durch ein einzelnes
978 vorangestelltes Anführungszeichen (") erkannt.</p>
981 <seealso><a href="../custom-error.html">Dokumentation zu individuellen
982 Fehlermeldungen</a></seealso>
986 <name>ErrorLog</name>
987 <description>Ablageort, an dem der Server Fehler protokolliert</description>
988 <syntax> ErrorLog <var>Dateiname</var>|syslog[:<var>facility</var>]</syntax>
989 <default>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and
991 <contextlist><context>server config</context><context>virtual host</context>
995 <p>Die Direktive <directive>ErrorLog</directive> bestimmt den Namen
996 der Datei, in welcher der Server alle auftretenden Fehler protokolliert.
997 Wenn <var>Dateiname</var> nicht absolut ist, wird er relativ zu <directive
998 module="core">ServerRoot</directive> betrachtet.</p>
1000 <example><title>Beispiel</title>
1001 ErrorLog /var/log/httpd/error_log
1004 <p>Wenn der <var>Dateiname</var> mit einem senkrechten Strich (|,
1005 engl.: Pipe) beginnt, wird angenommen, dass es sich um einen Befehl
1006 handelt, der ausgeführt wird, um das Fehlerprotokolls zu
1009 <example><title>Beispiel</title>
1010 ErrorLog "|/usr/local/bin/httpd_errors"
1013 <p>Die Verwendung von <code>syslog</code> anstelle eines Dateinamens
1014 aktiviert die Protokollierung mittels syslogd(8), sofern das System
1015 es unterstützt. Als Voreinstellung wird der syslog-Typ (syslog
1016 facility) <code>local7</code> verwendet, Sie können dies jedoch
1017 auch überschreiben, indem Sie die Syntax
1018 <code>syslog:<var>facility</var></code> verwenden, wobei
1019 <var>facility</var> einer der Namen sein kann, die üblicherweise
1020 in syslog(1) dokumentiert sind.</p>
1022 <example><title>Beispiel</title>
1023 ErrorLog syslog:user
1026 <p>SICHERHEITSHINWEIS: Lesen Sie das Dokument <a
1027 href="../misc/security_tips.html#serverroot">Sicherheitshinweise</a>
1028 zu Einzelheiten darüber, warum Ihre Sicherheit gefährdet
1029 sein kann, wenn das Verzeichnis, in dem die Log-Dateien gespeichert
1030 werden, für jemand anderen, als den Benutzer, der den Server
1031 gestartet hat, beschreibbar ist.</p>
1033 <note type="warning"><title>Anmerkung</title>
1034 <p>Bei der Eingabe eines Dateipfads auf nicht-Unix-Plattformen sollte
1035 darauf geachtet werden, nur (Vorwärts-)Schrägstriche zu
1036 verwenden, auch wenn die Plattform rückwärts gerichtete
1037 Schrägstriche (Backslashes) erlaubt. Im Allgemeinen ist es eine gute
1038 Idee, innerhalb der Konfigurationsdateien immer
1039 Vorwärts-Schrägstriche zu verwenden.</p>
1042 <seealso><directive module="core">LogLevel</directive></seealso>
1043 <seealso><a href="../logs.html">Apache-Log-Dateien</a></seealso>
1044 </directivesynopsis>
1047 <name>FileETag</name>
1048 <description>Dateiattribute, die zur Erstellung des HTTP-Response-Headers
1049 ETag verwendet werden</description>
1050 <syntax>FileETag <var>Komponente</var> ...</syntax>
1051 <default>FileETag INode MTime Size</default>
1052 <contextlist><context>server config</context><context>virtual host</context>
1053 <context>directory</context><context>.htaccess</context>
1055 <override>FileInfo</override>
1058 <p>Wenn dem Dokument eine Datei zugrundeliegt, bestimmt die Direktive
1059 <directive>FileETag</directive> die Dateiattribute, die zur Erstellung
1060 des HTTP-Response-Headers <code>ETag</code> (Entity-Tag) verwendet
1061 werden. (Der Wert von <code>ETag</code> wird bei der Cache-Verwaltung
1062 zur Einsparung von Netzwerk-Bandbreite benutzt.) Im Apache 1.3.22 und
1063 früher wurde der <code>ETag</code>-Wert <em>stets</em> aus
1064 der I-Node, der Größe und dem Datum der letzten
1065 Änderung (mtime) der Datei gebildet. Die Direktive
1066 <directive>FileETag</directive> erlaubt es Ihnen, zu bestimmen,
1067 welche dieser Eigenschaften -- falls überhaupt -- verwendet
1068 werden sollen. Die gültigen Schlüsselworte lauten:</p>
1071 <dt><strong>INode</strong></dt>
1072 <dd>Die I-Node-Nummer wird in die Berechnung mit einbezogen</dd>
1073 <dt><strong>MTime</strong></dt>
1074 <dd>Datum und Uhrzeit der letzten Änderung werden mit einbezogen</dd>
1075 <dt><strong>Size</strong></dt>
1076 <dd>Die Anzahl der Bytes in der Datei wird mit einbezogen</dd>
1077 <dt><strong>All</strong></dt>
1078 <dd>Alle verfügbaren Angaben werden verwendet. Die ist
1079 gleichbedeutend mit:
1080 <example>FileETag INode MTime Size</example></dd>
1081 <dt><strong>None</strong></dt>
1082 <dd>Es wird keine <code>ETag</code>-Angabe in die Antwort eingefügt,
1083 wenn dem Dokument eine Datei zugrundeliegt.</dd>
1086 <p>Den Schlüsselwörtern <code>INode</code>, <code>MTime</code>
1087 und <code>Size</code> kann entweder ein <code>+</code> oder ein
1088 <code>-</code> vorangestellt werden, was die Änderung einer
1089 Vorgabe erlaubt, die von einem größeren Umfeld
1090 geerbt wurde. Jedes Schlüselwort ohne ein solches Prefix
1091 hebt die ererbte Einstellung sofort und vollständig auf.</p>
1093 <p>Wenn die Konfiguration für ein Verzeichnis
1094 <code>FileETag INode MTime Size</code> enthält
1095 und die eines Unterverzeichnisses <code>FileETag -INode</code>,
1096 dann ist die Einstellung für das Unterverzeichnis (die an
1097 jedes Unter-Unterverzeichnis weitervererbt wird, welches dies nicht
1098 überschreibt) äquivalent mit
1099 <code>FileETag MTime Size</code>.</p>
1101 </directivesynopsis>
1103 <directivesynopsis type="section">
1105 <description>Enthält Direktiven, die sich nur auf passende Dateinamen
1106 beziehen</description>
1107 <syntax><Files <var>Dateiname</var>> ... </Files></syntax>
1108 <contextlist><context>server config</context><context>virtual host</context>
1109 <context>directory</context><context>.htaccess</context>
1111 <override>All</override>
1114 <p>Die Direktive <directive type="section">Files</directive>
1115 begrenzt die Reichweite der enthaltenen Anweisungen auf Dateinamen.
1116 Sie ist vergleichbar mit den Direktiven <directive
1117 module="core" type="section">Directory</directive> und <directive
1118 module="core" type="section">Location</directive>. Sie muss eine
1119 passende <code></Files></code>-Anweisung besitzen.
1120 Die innerhalb dieses Abschnittes angegebenen Direktiven werden auf
1121 jedes Objekt mit einem Basisnamen (letzte Komponente des Dateinamens)
1122 angewendet, der auf die angegebenen Dateinamen passt. <directive
1123 type="section">Files</directive>-Container werden, nachdem die
1124 <directive module="core" type="section">Directory</directive>-Container
1125 und <code>.htaccess</code>-Dateien gelesen sind, jedoch vor den
1126 <directive type="section" module="core">Location</directive>-Containern,
1127 in der Reihenfolge ihres Auftretens ausgeführt. Beachten Sie, dass
1128 <directive type="section">Files</directive>-Anweisungen innerhalb von
1129 <directive type="section" module="core">Directory</directive>-Containern
1130 auftreten können, um den Teil des Dateisystems einzuschränken,
1131 den sie betreffen.</p>
1133 <p>Das Argument <var>Dateiname</var> kann einen Dateinamen oder eine
1134 Zeichenkette mit Platzhaltern enthalten, wobei <code>?</code> auf ein
1135 einzelnes Zeichen passt und <code>*</code> auf eine beliebige Folge von
1136 Zeichen. Erweiterte reguläre Ausdrücke können ebenfalls
1137 verwendet werden, indem das Zeichen <code>~</code> hinzugefügt wird.
1138 Beispielsweise würde</p>
1141 <Files ~ "\.(gif|jpe?g|png)$">
1144 <p>auf die gebräuchlichsten Grafikformate im Internet passen.
1145 <directive module="core" type="section">FilesMatch</directive> wird
1146 jedoch bevorzugt.</p>
1148 <p>Beachten Sie bitte, dass die <directive
1149 type="section">Files</directive>-Container anders als <directive
1150 type="section" module="core">Directory</directive>- und <directive
1151 type="section" module="core">Location</directive>-Container innerhalb
1152 von <code>.htaccess</code>-Dateien verwendet werden können.
1153 Dies erlaubt den Anwendern auf Dateiebene die Kontrolle über ihre
1154 eigenen Dateien.</p>
1156 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
1157 <Location> und <Files> arbeiten</a> für eine
1158 Erläuterung, wie diese verschiedenen Abschnitte miteinander
1159 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
1160 </directivesynopsis>
1162 <directivesynopsis type="section">
1163 <name>FilesMatch</name>
1164 <description>Enthält Direktiven, die für Dateinamen gelten, die
1165 auf einen regulären Ausdruck passen</description>
1166 <syntax><FilesMatch <var>regex</var>> ... </FilesMatch></syntax>
1167 <contextlist><context>server config</context><context>virtual host</context>
1168 <context>directory</context><context>.htaccess</context>
1170 <override>All</override>
1173 <p>Die Direktive <directive type="section">FilesMatch</directive>
1174 begrenzt wie die Direktive <directive module="core"
1175 type="section">Files</directive> die enthaltenen Anweisungen auf
1176 Dateinamen. Sie akzeptiert jedoch reguläre Ausdrücke.
1177 Beispielsweise würde</p>
1180 <FilesMatch "\.(gif|jpe?g|png)$">
1183 <p>auf die gebräuchlichsten Grafikformate im Internet passen.</p>
1186 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
1187 <Location> und <Files> arbeiten</a> für eine
1188 Erläuterung, wie diese verschiedenen Abschnitte miteinander
1189 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
1190 </directivesynopsis>
1193 <name>ForceType</name>
1194 <description>Erzwingt die Auslieferung aller passendenden Dateien mit dem
1195 angegebenen MIME-Content-Type</description>
1196 <syntax>ForceType <var>MIME-Type</var>|None</syntax>
1197 <contextlist><context>directory</context><context>.htaccess</context>
1199 <override>FileInfo</override>
1200 <compatibility>Wurde im Apache 2.0 in den Core verschoben</compatibility>
1203 <p>Wenn sie innerhalb einer <code>.htaccess</code>-Datei, eines
1204 <directive type="section" module="core">Directory</directive>-,
1205 <directive type="section" module="core">Location</directive>-
1206 <directive type="section" module="core">Files</directive>-Containers
1207 angegeben wird, erzwingt die Direktive die Auslieferung aller
1208 entsprechenden Dateien mit dem Content-Type, der durch
1209 <var>MIME-Type</var> definiert wurde. Wenn Sie zum Beispiel ein
1210 Verzeichnis voller GIF-Dateien haben, die Sie nicht alle durch
1211 <code>.gif</code> kennzeichnen wollen, können Sie angeben:</p>
1217 <p>Beachten Sie bitte, dass die Direktive anders als <directive
1218 module="core">DefaultType</directive> alle MIME-Type-Zuordnungen
1219 überschreibt, einschließlich Dateiendungen, die einen
1220 Medientyp bezeichnen könnten.</p>
1222 <p>Sie können jede <directive>ForceType</directive>-Angabe
1223 durch die Verwendung des Wertes <code>None</code> überschreiben:</p>
1226 # erzwinge image/gif für alle Dateien:<br />
1227 <Location /images><br />
1229 ForceType image/gif<br />
1231 </Location><br />
1233 # hier jedoch normale MIME-Type-Zuordnungen:<br />
1234 <Location /images/mixed><br />
1236 ForceType None<br />
1241 </directivesynopsis>
1244 <name>HostnameLookups</name>
1245 <description>Aktiviert DNS-Lookups auf Client-IP-Adressen</description>
1246 <syntax>HostnameLookups On|Off|Double</syntax>
1247 <default>HostnameLookups Off</default>
1248 <contextlist><context>server config</context><context>virtual host</context>
1249 <context>directory</context></contextlist>
1252 <p>Diese Direktive aktiviert die DNS-Abfrage <transnote>ein sogenannter
1253 DNS-Lookup</transnote>, so dass Hostnamen protokolliert (und in
1254 <code>REMOTE_HOST</code> an CGIs/SSIs übergeben) werden könnnen.
1255 Der Wert <code>Double</code> bezieht sich auf ein
1256 Double-Reverse-DNS-Lookup. D.h. nachdem ein Reverse-Lookup
1257 durchgeführt wurde, wird dann auf dem Ergebnis ein
1258 Forward-Lookup ausgeführt. Wenigstens eine der IP-Adressen
1259 aus dem Forward-Lookup muss der Originaladresse entsprechen.
1260 (In der "tcpwrappers"-Terminologie wird dies <code>PARANOID</code>
1263 <p>Unabhängig von der Einstellung wird ein Double-Reverse-Lookup
1264 durchgeführt, wenn <module>mod_authz_host</module> zur
1265 Zugriffskontrolle per Hostnamen eingesetzt wird. Dies ist aus
1266 Sicherheitsgründen notwendig. Beachten Sie, dass das Ergebnis dieses
1267 Double-Reverse-Lookups nicht generell verfügbar ist, solange Sie
1268 nicht <code>HostnameLookups Double</code> setzen. Wenn beispielsweise
1269 nur <code>HostnameLookups On</code> angegeben ist und eine Anfrage
1270 für ein Objekt erfolgt, welches durch Hostnamen-Beschränkungen
1271 geschützt ist, dann wird CGIs nur das Ergebnis des
1272 Singel-Reverse-Lookups in <code>REMOTE_HOST</code> übergeben,
1273 egal ob das Doble-Reverse-Lookup fehlschlug oder nicht.</p>
1275 <p>Die Voreinstellung ist <code>Off</code>, um Netzwerktraffic bei den
1276 Angeboten einzusparen, die nicht tatsächlich Reverse-Lookups
1277 benötigen. Es ist auch für die Endanwender besser, da sie nicht
1278 die zusätzliche Wartezeit ertragen müssen, die ein Lookup mit
1279 sich bringt. Hoch frequentierte Angebote sollten diese Direktive auf
1280 <code>Off</code>lassen. Das Hilfsprogramm <a
1281 href="../programs/logresolve.html">logresolve</a>, das
1282 standardmäßig in das Unterverzeichnis <code>bin</code>
1283 Ihres Installationsverzeichnisses kompiliert wird, kann dazu verwendet
1284 werden, um offline Hostnamen zu protokollierten IP-Adressen
1287 </directivesynopsis>
1289 <directivesynopsis type="section">
1290 <name>IfDefine</name>
1291 <description>Schließt Direktiven ein, die nur ausgeführt werden,
1292 wenn eine Testbedingung beim Start wahr ist</description>
1293 <syntax><IfDefine [!]<var>Parametername</var>> ...
1294 </IfDefine></syntax>
1295 <contextlist><context>server config</context><context>virtual host</context>
1296 <context>directory</context><context>.htaccess</context>
1298 <override>All</override>
1301 <p>Der Container <code><IfDefine <var>Test</var>>...</IfDefine>
1302 </code> wird dazu verwendet, Direktiven als bedingt zu kennzeichnen.
1303 Die Direktiven innerhalb eines <directive
1304 type="section">IfDefine</directive>-Abschnittes werden nur ausgeführt,
1305 wenn <var>Test</var> wahr ist. Ist <var>Test</var> falsch, wird alles
1306 zwischen der Start- und Endemarkierung ignoriert.</p>
1308 <p>In der <directive type="section">IfDefine</directive>-Anweisung kann
1309 <var>Test</var> eine von zwei Formen annehmen:</p>
1312 <li><var>Parametername</var></li>
1314 <li><code>!</code><var>Parametername</var></li>
1317 <p>Im ersten Fall werden die Direktiven zwischen der Start- und
1318 Endemarkierung nur ausgeführt, wenn der Parameter namens
1319 <var>Parametername</var> definiert ist. Die zweite Form kehrt den
1320 Test um und führt die Direktiven nur dann aus, wenn
1321 <var>Parametername</var> <strong>nicht</strong> definiert ist.</p>
1323 <p>Das Argument <var>Parametername</var> ist ein sogenanntes
1324 "Define", das beim beim Start des Servers in der
1325 <code>httpd</code>-Befehlszeile durch <code>-D<var>Parameter</var></code>
1328 <p><directive type="section">IfDefine</directive>-Container können
1329 ineinander verschachtelt werden, um einfache Multi-Parameter-Tests
1330 zu implementieren. Beispiel:</p>
1333 httpd -DReverseProxy ...<br />
1336 <IfDefine ReverseProxy><br />
1338 LoadModule rewrite_module modules/mod_rewrite.so<br />
1339 LoadModule proxy_module modules/libproxy.so<br />
1344 </directivesynopsis>
1346 <directivesynopsis type="section">
1347 <name>IfModule</name>
1348 <description>Schließt Direktiven ein, die abhängig vom
1349 Vorhandensein oder Fehlen eines speziellen Moduls ausgeführt
1350 werden</description>
1351 <syntax><IfModule [!]<var>Modulname</var>> ...
1352 </IfModule></syntax>
1353 <contextlist><context>server config</context><context>virtual host</context>
1354 <context>directory</context><context>.htaccess</context>
1356 <override>All</override>
1359 <p>Der Container <code><IfModule
1360 <var>Test</var>>...</IfModule></code> wird dazu verwendet,
1361 Direktiven als abhängig von dem Vorhandensein eines speziellen
1362 Moduls zu kennzeichnen. Die Direktiven innerhalb eines <directive
1363 type="section">IfModule</directive>-Abschnitts werden nur
1364 ausgeführt, wenn <var>Test</var> wahr ist. Ist <var>Test</var>
1365 falsch, wird alles zwischen der Start- und Endemarkierung ignoriert.</p>
1367 <p>In der <directive type="section">IfModule</directive>-Anweisung
1368 kann <var>Test</var> eine von zwei Formen annehmen:</p>
1371 <li><var>Modulname</var></li>
1373 <li><code>!</code><var>Modulname</var></li>
1376 <p>Im ersten Fall werden die Direktiven zwischen der Start- und
1377 Endemarkierung nur ausgeführt, das Modul namens
1378 <var>Modulname</var> im Apache enthalten ist -- entweder einkompiliert
1379 oder mittels <directive module="mod_so">LoadModule</directive>
1380 dynamisch geladen. Die zweite Form dreht den Test um und führt die
1381 Direktiven nur aus, wenn <var>Modulname</var> <strong>nicht</strong>
1384 <p>Das Argument <var>Modulname</var> ist der Dateiname des Moduls zum
1385 Zeitpunkt seiner Kompilierung, z.B. <code>mod_rewrite.c</code>.
1386 Wenn ein Modul aus mehreren Quelltext-Dateien besteht, verwenden Sie den
1387 Namen der Datei, welche die Zeichenfolge
1388 <code>STANDARD20_MODULE_STUFF</code> enthält.</p>
1390 <p><directive type="section">IfModule</directive>-Container können
1391 inneinander verschachtelt werden, um einfache Multi-Modul-Tests
1392 durchzuführen.</p>
1394 <p>Dieser Container sollte verwendet werden, wenn Sie eine
1395 Konfigurationsdatei benötigen, die unabhängig davon funktioniert,
1396 ob ein bestimmtes Modul verfügbar ist oder nicht. Normalerweise
1397 ist es nicht notwendig, Direktiven in <directive
1398 type="section">IfModule</directive>-Containern unterzubringen.</p>
1400 </directivesynopsis>
1403 <name>Include</name>
1404 <description>Fügt andere Konfigurationsdateien innerhalb der
1405 Server-Konfigurationsdatei ein</description>
1406 <syntax>Include <var>Dateiname</var>|<var>Verzeichnis</var></syntax>
1407 <contextlist><context>server config</context><context>virtual host</context>
1408 <context>directory</context>
1410 <compatibility>Die Platzhalter-Suche ist verfügbar seit
1411 2.0.41</compatibility>
1414 <p>Die Direktive erlaubt das Einfügen anderer Konfigurationsdateien
1415 in die Konfigurationsdatei des Servers.</p>
1417 <p>Shell-typische (<code>fnmatch()</code>) Platzhlaterzeichen können
1418 dazu verwendet werden, mehrere Dateien auf einmal in alphabetischer
1419 Reihenfolge einzufügen. Wenn <directive>Include</directive>
1420 darüber hinaus auf ein Verzeichnis anstatt auf eine Datei zeigt,
1421 liest der Apache alle Dateien in diesem Verzeichnis und allen
1422 Unterverzeichnissen ein. Das Einfügen ganzer Verzeichnisse ist
1423 jedoch nicht empfehlenswert, da temporäre Dateien sehr leicht
1424 versehentlich in einem Verzeichnis zurückgelassen werden, was
1425 <code>httpd</code> scheitern lassen kann.</p>
1427 <p>Der angegebene Dateiname kann ein absoluter Pfad sein oder relativ zum
1428 <directive module="core">ServerRoot</directive>-Verzeichnis angegeben
1434 Include /usr/local/apache2/conf/ssl.conf<br />
1435 Include /usr/local/apache2/conf/vhosts/*.conf
1438 <p>Oder Sie geben Pfade relativ zu Ihrem <directive
1439 module="core">ServerRoot</directive>-Verzeichnis an:</p>
1442 Include conf/ssl.conf<br />
1443 Include conf/vhosts/*.conf
1446 <p>Der Aufruf von <code>apachectl configtest</code> liefert eine Liste
1447 der Dateien, die während des Konfigurations-Tests verarbeitet
1451 root@host# apachectl configtest<br />
1452 Processing config file: /usr/local/apache2/conf/ssl.conf<br />
1453 Processing config file: /usr/local/apache2/conf/vhosts/vhost1.conf<br />
1454 Processing config file: /usr/local/apache2/conf/vhosts/vhost2.conf<br />
1459 <seealso><a href="../programs/apachectl.html">apachectl</a></seealso>
1460 </directivesynopsis>
1463 <name>KeepAlive</name>
1464 <description>Aktiviert persistente HTTP-Verbindungen</description>
1465 <syntax>KeepAlive On|Off</syntax>
1466 <default>KeepAlive On</default>
1467 <contextlist><context>server config</context><context>virtual host</context>
1471 <p>Die Keep-Alive-Erweiterung von HTTP/1.0 und die
1472 HTTP/1.1-Funktionalität persistenter Verbindungen unterstützt
1473 langlebige HTTP-Sitzungen, die es erlauben, mehrere Anfragen über
1474 die gleich TCP-Verbindung zu senden. In einigen Fällen wurde eine
1475 Beschleunigung der Wartezeiten von beinahe 50% für HTML-Dokumente
1476 mit vielen Bildern festgestellt. Um Keep-Alive-Verbindungen zu aktivieren,
1477 setzen Sie <code>KeepAlive On</code>.</p>
1479 <p>Bei HTTP/1.0-Clients werden Keep-Alive-Verbindungen nur dann verwendet,
1480 wenn sie vom Client eigens angefordert werden. Desweiteren können
1481 Keep-Alive-Verbindungen bei einem HTTP/1.0-Client nur dann verwendet
1482 werden, wenn die Länge des Inhalts im Voraus bekannt ist. Dies
1483 impliziert, dass dynamische Inhalte wie CGI-Ausgaben, SSI-Seiten und
1484 servergenerierte Verzeichnisauflistungen im Allgemeinen keine
1485 Keep-Alive-Verbindungen mit HTTP/1.0-Clients verwenden. Bei
1486 HTTP/1.1-Clients sind Keep-Alive-Verbindungen Voreinstellung, solange
1487 nichts anderes angegeben ist. Wenn der Client es anfordert, wird
1488 Chunked-Encoding verwendet, um Inhalte mit unbekannter Länge
1489 über persistente Verbindungen zu senden.</p>
1492 <seealso><directive module="core">MaxKeepAliveRequests</directive></seealso>
1493 </directivesynopsis>
1496 <name>KeepAliveTimeout</name>
1497 <description>Zeitspanne, die der Server während persistenter Verbindungen
1498 auf nachfolgende Anfragen wartet</description>
1499 <syntax>KeepAliveTimeout <var>Sekunden</var></syntax>
1500 <default>KeepAliveTimeout 15</default>
1501 <contextlist><context>server config</context><context>virtual host</context>
1505 <p>Dies legt die Anzahl der Sekunden fest, die der Apache auf weitere
1506 Anfragen wartet, bevor er die Verbindung schließt. Nachdem einmal
1507 eine Anfrage entgegen genommen wurde, wird die durch die Direktive
1508 <directive module="core">Timeout</directive> festgelegte Auszeit
1511 <p>Auf stark belasteten Servern kann ein hoher
1512 <directive>KeepAliveTimeout</directive>-Wert zu Durchsatzminderungen
1513 führen. Je höher die Auszeit angegeben ist, desto länger
1514 ist der Apache damit beschäftigt, auf untätige Clients zu
1517 </directivesynopsis>
1519 <directivesynopsis type="section">
1521 <description>Beschränkt die eingeschlossenen Zugriffskontrollen auf
1522 bestimmte HTTP-Methoden</description>
1523 <syntax><Limit <var>Methode</var> [<var>Methode</var>] ... > ...
1524 </Limit></syntax>
1525 <contextlist><context>server config</context><context>virtual host</context>
1526 <context>directory</context><context>.htaccess</context>
1528 <override>All</override>
1531 <p>Zugriffskontrollen gelten normalerweise für <strong>alle</strong>
1532 Zugriffsmethoden, was normalerweise auch das gewünschte Verhalten ist.
1533 <strong>Im Allgemeinen sollten Zugriffskontrollen nicht in einen
1534 <directive type="section">Limit</directive>-Container gepackt
1535 werden.</strong></p>
1537 <p>Der Sinn der Direktive <directive type="section">Limit</directive>
1538 ist es, den Effekt der Zugriffskontrollen auf die angegebenen
1539 HTTP-Methoden zu beschränken. Bei allen anderen Methoden haben
1540 die in der <directive type="section">Limit</directive>-Gruppe
1541 enthaltenen Zugriffsbeschränkungen <strong>keine Wirkung</strong>.
1542 Im folgenden Beispiel gilt die Zugriffskontrolle nur für die
1543 Methoden <code>POST</code>, <code>PUT</code> und <code>DELETE</code>.
1544 Alle anderen Methoden bleiben ungeschützt:</p>
1547 <Limit POST PUT DELETE><br />
1549 Require valid-user<br />
1554 <p>Sie können eine oder mehrere der folgenden Methoden angeben:
1555 <code>GET</code>, <code>POST</code>, <code>PUT</code>, <code>DELETE</code>,
1556 <code>CONNECT</code>, <code>OPTIONS</code>,
1557 <code>PATCH</code>, <code>PROPFIND</code>, <code>PROPPATCH</code>,
1558 <code>MKCOL</code>, <code>COPY</code>, <code>MOVE</code>,
1559 <code>LOCK</code> und <code>UNLOCK</code>. <strong>Die Methodennamen
1560 unterscheiden zwischen Groß- und Kleinschreibung.</strong> Wenn
1561 <code>GET</code> verwendet wird, sind <code>HEAD</code>-Anfragen
1562 ebenfalls eingeschränkt. Die <code>TRACE</code>-Methode kann nicht
1563 limitiert werden.</p>
1565 <note type="warning">
1566 Wenn es um Zugriffsbeschränkungen geht, sollte
1567 ein <directive module="core" type="section"
1568 >LimitExcept</directive>-Container sollte immmer einem <directive
1569 module="core" type="section">Limit</directive>-Container vorgezogen
1570 werden, da <directive module="core" type="section">LimitExcept</directive>
1571 einen Schutz gegen beliebige Methoden bietet.
1574 </directivesynopsis>
1576 <directivesynopsis type="section">
1577 <name>LimitExcept</name>
1578 <description>Beschränkt Zugriffskontrollen auf alle HTTP-Methoden
1579 außer den genannten</description>
1580 <syntax><LimitExcept <var>Methode</var> [<var>Methode</var>] ... > ...
1581 </LimitExcept></syntax>
1582 <contextlist><context>server config</context><context>virtual host</context>
1583 <context>directory</context><context>.htaccess</context>
1585 <override>All</override>
1588 <p><directive type="section">LimitExcept</directive> und
1589 <code></LimitExcept></code> werden dazu verwendet, eine Gruppe
1590 von Anweisungen zur Zugriffskontrolle zusammenzufassen, die dann auf
1591 jede HTTP-Methode angewendet werden, die <strong>nicht</strong>
1592 als Argument angegeben ist. D.h. dies ist das Gegenteil des
1593 <directive type="section" module="core">Limit</directive>-Containers
1594 und kann zur Steuerung von Standard- und nicht-Standard-/unbekannten
1595 Methoden verwendet werden. Für weitere Einzelheiten lesen Sie bitte
1596 die Beschreibung zu <directive module="core"
1597 type="section">Limit</directive>.</p>
1602 <LimitExcept POST GET><br />
1604 Require valid-user<br />
1606 </LimitExcept>
1610 </directivesynopsis>
1613 <name>LimitInternalRecursion</name>
1614 <description>Bestimmt die maximale Anzahl interner Umleitungen und
1615 verschachtelter Unteranfragen</description>
1616 <syntax>LimitInternalRecursion <var>Zahl</var> [<var>Zahl</var>]</syntax>
1617 <default>LimitInternalRecursion 10</default>
1618 <contextlist><context>server config</context><context>virtual host</context>
1620 <compatibility>Verfügbar ab Apache 2.0.47</compatibility>
1623 <p>Eine interne Umleitung erfolgt beispielsweise, wenn die Direktive
1624 <directive module="mod_actions">Action</directive> verwendet wird, welche
1625 die Originalanfrage intern zu einem CGI-Skript weiterleitet. Eine
1626 Unteranfrage <transnote>engl. Subrequest</transnote> ist ein Mechanismus des
1627 Apache, um herauszufinden, was bei einer URI geschehen würde, wäre
1628 sie angefordert worden. <module>mod_dir</module> z.B. verwendet
1629 Unteranfragen, um nach den Dateien zu suchen, die in der <directive
1630 module="mod_dir">DirectoryIndex</directive>-Anweisung aufgeführt
1633 <p><directive>LimitInternalRecursion</directive> bewahrt den Server vor
1634 einem Absturz, wenn er in eine Endlosschleife aus internen Umleitungen
1635 oder Unteranfragen hineinläuft. Derartige Schleifen werden
1636 gewöhnlich durch Fehlkonfiguration verursacht.</p>
1638 <p>Die Direktive setzt zwei verschiedene Begrenzungen, welche je Anfrage
1639 ausgewertet werden. Die erste <var>Zahl</var> bestimmt die maximale
1640 Anzahl der Umleitungen, die aufeinander folgen dürfen. Die zweite
1641 <var>Zahl</var> legt fest, wie tief Unteranfragen ineinander
1642 verschachtelt werden dürfen. Wenn Sie lediglich eine <var>Zahl</var>
1643 angeben, wird sie beiden Begrenzungen zugewiesen.</p>
1645 <example><title>Beispiel</title>
1646 LimitInternalRecursion 5
1649 </directivesynopsis>
1652 <name>LimitRequestBody</name>
1653 <description>Begrenzt die Gesamtgröße des vom Client gesendeten
1654 HTTP-Request-Body</description>
1655 <syntax>LimitRequestBody <var>Bytes</var></syntax>
1656 <default>LimitRequestBody 0</default>
1657 <contextlist><context>server config</context><context>virtual host</context>
1658 <context>directory</context><context>.htaccess</context>
1660 <override>All</override>
1663 <p>Die Direktive gibt die Anzahl der <var>Bytes</var> zwischen 0
1664 (unbegrenzt) und 2147483647 (2GB) an, die im Request-Body (Datenteil der
1665 Anfrage) erlaubt sind.</p>
1667 <p>Die Direktive <directive>LimitRequestBody</directive> erlaubt es dem
1668 Benutzer, die Größe des HTTP-Request-Bodys in dem Kontext zu
1669 begrenzen, in dem die Anweisung angegeben ist (Server, pro Verzeichnis,
1670 pro Datei oder pro Adresse). Wenn die Anfrage des Clients dieses Limit
1671 überschreitet, gibt der Server einen Fehler zurück anstatt die
1672 Anfrage zu bearbeiten. Die Größe des Datenteils einer Anfrage
1673 kann sehr stark variieren, abhängig von der Art der Ressource und
1674 den für diese Ressource erlaubten Methoden. CGI-Skripte verwenden
1675 den Datenteil üblicherweise zum Empfang von Formulardaten. Wird
1676 die <code>PUT</code>-Methode angewendet, dann muss der Wert mindestens
1677 so groß sein wie irgendeine Darstellungsform, die der Server
1678 für diese Ressource akzeptieren soll.</p>
1680 <p>Die Direktive gibt dem Serveradministrator eine größere
1681 Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der
1682 Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich
1685 <p>Wenn Sie beispielsweise das Hochladen von Dateien zu einer bestimmten
1686 Adresse erlauben, aber die Größe der hochgeladenen Dateien
1687 auf 100K beschränken wollen, können Sie die folgende Anweisung
1691 LimitRequestBody 102400
1695 </directivesynopsis>
1698 <name>LimitRequestFields</name>
1699 <description>Begrenzt die Anzahl der HTTP-Request-Header, die vom Client
1700 entgegengenommen werden</description>
1701 <syntax>LimitRequestFields <var>Anzahl</var></syntax>
1702 <default>LimitRequestFields 100</default>
1703 <contextlist><context>server config</context></contextlist>
1706 <p><var>Anzahl</var> ist ein Integer-Wert (eine positive Ganzzahl)
1707 zwischen 0 (unbegrenzt) und 32767. Die Voreinstellung wird durch die
1708 Konstante <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (<code>100</code>
1709 bei der Auslieferung) zur Kompilierungszeit gesetzt.</p>
1711 <p>Die Direktive <directive>LimitRequestFields</directive> erlaubt es
1712 dem Serveradministrator, die maximale Anzahl der in einem HTTP-Request
1713 erlaubten HTTP-Request-Header zu verändern. Für den Server
1714 muss dieser Wert größer sein als die Anzahl der Headerzeilen,
1715 die ein normaler Client senden könnte. Die Anzahl der Request-Header,
1716 die ein gewöhnlicher Client verwendet, überschreitet selten 20
1717 Zeilen. Allerdings kann dies zwischen den verschiedenen
1718 Client-Ausführungen variieren, oft abhängig vom Ausmaß,
1719 mit dem der Anwender die genaue Content-Negotiation-Unterstützung
1720 seines Browsers konfiguriert hat. Optionale HTTP-Erweiterungen
1721 äußern sich oft in Form von HTTP-Headern.</p>
1723 <p>Die Direktive gibt dem Serveradministrator eine größere
1724 Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der
1725 Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich
1726 sein kann. Der Wert sollte erhöht werden, wenn normale Clients
1727 eine Fehlermeldung vom Server erhalten, die besagt, dass mit der Anfrage
1728 zu viele Headerzeilen gesendet wurden.</p>
1733 LimitRequestFields 50
1737 </directivesynopsis>
1740 <name>LimitRequestFieldSize</name>
1741 <description>Begrenzt die Länge des vom Client gesendeten
1742 HTTP-Request-Headers</description>
1743 <syntax>LimitRequestFieldsize <var>Bytes</var></syntax>
1744 <default>LimitRequestFieldsize 8190</default>
1745 <contextlist><context>server config</context></contextlist>
1748 <p>Die Direktive gibt die Anzahl der <var>Bytes</var> zwischen 0
1749 und dem Wert der zur Kompilierungszeit definierten Konstante
1750 <code>DEFAULT_LIMIT_REQUEST_FIELDSIZE</code> (<code>8190</code> bei
1751 der Auslieferung) an, die in einem HTTP-Header erlaubt sind.</p>
1753 <p>Die Direktive <directive>LimitRequestFieldsize</directive> erlaubt es
1754 dem Serveradministrator, die maximale Größe eines
1755 HTTP-Request-Headers auf einen Wert unterhalb der normalen, im Server
1756 einkompilierten Größe des Eingabepuffers zu verringern.
1757 Für den Server muss der Wert groß genug sein, um eine beliebige
1758 Headerzeile einer normalen Client-Anfrage vorzuhalten. Die
1759 Größe variiert stark zwischen den verschiedenen
1760 Client-Ausführungen, oft abhängig vom Ausmaß, mit dem
1761 der Anwender die genaue Content-Negotiation-Unterstützung seines
1762 Browsers konfiguriert hat.</p>
1764 <p>Die Direktive gibt dem Serveradministrator eine größere
1765 Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der
1766 Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich
1772 LimitRequestFieldSize 4094
1775 <note>Unter normalen Umständen sollte die Voreinstellung nicht
1776 verändert werden.</note>
1778 </directivesynopsis>
1781 <name>LimitRequestLine</name>
1782 <description>Begrenzt die Länge der vom Client entgegengenommenen
1783 HTTP-Anfragezeile</description>
1784 <syntax>LimitRequestLine <var>Bytes</var></syntax>
1785 <default>LimitRequestLine 8190</default>
1786 <contextlist><context>server config</context></contextlist>
1789 <p>Die Direktive legt die Anzahl der <var>Bytes</var> zwischen 0 und
1790 dem Wert der zur Kompilierungszeit definierten Konstante
1791 <code>DEFAULT_LIMIT_REQUEST_LINE</code> (<code>8190</code> bei der
1792 Auslieferung) fest, die in der HTTP-Anfragezeile erlaubt sind.</p>
1794 <p>Die Direktive <directive>LimitRequestLine</directive> erlaubt es dem
1795 Serveradministrator, die maximale Größe der
1796 HTTP-Anfragezeile auf einen Wert unterhalb der normalen, im Server
1797 einkompilierten Größe des Eingabepuffers zu verringern. Da
1798 die Anfragezeile aus der HTTP-Methode, der URI und der Protokollversion
1799 besteht, bedeutet die <directive>LimitRequestLine</directive>-Direktive
1800 eine Beschränkung der Länge der für eine Anfrage an den
1801 Server erlaubten Anfrage-URI. Für den Server muss der Wert groß
1802 genug sein, um jeden seiner Ressourcennamen vorzuhalten,
1803 einschließlich aller Informationen, die im Query-String einer
1804 <code>GET</code>-Anfrage übergeben werden können.</p>
1806 <p>Die Direktive gibt dem Serveradministrator eine größere
1807 Kontrolle gegenüber abnormalem Verhalten von Clients, was bei der
1808 Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich
1814 LimitRequestLine 4094
1817 <note>Unter normalen Umständen sollte die Voreinstellung nicht
1818 verändert werden.</note>
1820 </directivesynopsis>
1823 <name>LimitXMLRequestBody</name>
1824 <description>Begrenzt die Größe eines XML-basierten
1825 Request-Bodys</description>
1826 <syntax>LimitXMLRequestBody <var>Bytes</var></syntax>
1827 <default>LimitXMLRequestBody 1000000</default>
1828 <contextlist><context>server config</context><context>virtual host</context>
1829 <context>directory</context><context>.htaccess</context></contextlist>
1830 <override>All</override>
1833 <p>Dies gibt die Grenze für die maximale Größe (in Bytes)
1834 des XML-basierten Request-Bodys an. Der Wert <code>0</code> deaktiviert
1835 diese Prüfung.</p>
1840 LimitXMLRequestBody 0
1844 </directivesynopsis>
1846 <directivesynopsis type="section">
1847 <name>Location</name>
1848 <description>Wendet die enthaltenen Direktiven nur auf die entsprechenden
1849 URLs an</description>
1850 <syntax><Location
1851 <var>URL-Pfad</var>|<var>URL</var>> ... </Location></syntax>
1852 <contextlist><context>server config</context><context>virtual host</context>
1856 <p>Die Direktive <directive type="section">Location</directive>
1857 begrenzt die Reichweite der enthaltenen Anweisungen auf URLs.
1858 Sie ist der Direktive <directive type="section"
1859 module="core">Directory</directive> ähnlich und startet einen
1860 Abschnitt, der mit der Anweisung <code></Location></code>
1861 abgeschlossen wird. <directive
1862 type="section">Location</directive>-Container werden, nachdem die
1863 <directive type="section" module="core">Directory</directive>-Container
1864 und <code>.htaccess</code>-Dateien gelesen wurden, und nach den
1865 <directive type="section" module="core">Files</directive>-Containern, in
1866 der Reihenfolge ausgeführt, in der sie in der Konfigurationsdatei
1869 <p><directive type="section">Location</directive>-Abschnitte operieren
1870 vollständig außerhalb des Dateisystems. Dies hat mehrere
1871 Konsequenzen. An Wichtigsten, <directive
1872 type="section">Location</directive>-Anweisungen sollten nicht dafür
1873 verwendet werden, den Zugriff zu Teilen des Dateisystems zu steuern. Da
1874 mehrere unterschiedliche URLs auf die gleiche Stelle des Dateisystems
1875 zeigen können, könnte eine solche Zugriffskontrolle u.U.
1876 umgangen werden.</p>
1878 <note><title>Wann sollte<directive
1879 type="section">Location</directive> verwendet werden</title>
1881 <p>Verwenden Sie <directive type="section">Location</directive>, um
1882 Anweisungen auf Inhalte anzuwenden, die außerhalb des Dateisystems
1883 abgelegt sind. Benutzen Sie <directive
1884 type="section" module="core">Directory</directive> und <directive
1885 type="section" module="core">Files</directive> für Inhalte, die
1886 innerhalb des Dateisystems abgelegt sind. Eine Ausnahme bildet
1887 <code><Location /></code>, welches ein einfacher Weg ist, um eine
1888 Konfiguration auf den gesamten Server anzuwenden.</p>
1891 <p>Für alle nicht-Proxy-Anfragen ist die entsprechende URL
1892 ein URL-Pfad in der Form <code>/path/</code>. Es dürfen weder ein
1893 Schema, noch ein Hostname, noch ein Port, noch ein Query-String einbezogen
1894 werden. Für Proxy-Anfragen hat die Vergleichs-URL die Form
1895 <code>schema://servername/path</code>. Das Präfix muss angegeben
1898 <p>Die URL kann Platzhalter verwenden. In einer Zeichenfolge mit
1899 Platzhaltern entspricht <code>?</code> einem einzelnen Zeichen und
1900 <code>*</code>einer beliebigen Zeichenfolge.</p>
1902 <p>Erweiterte reguläre Ausdrücke können ebenfalls
1903 verwendet werden, indem das Zeichen <code>~</code> hinzugefügt
1904 wird. Beispielsweise würde</p>
1907 <Location ~ "/(extra|special)/data">
1910 <p>auf URLs passen, welche die Zeichenfolge <code>/extra/data</code>
1911 oder <code>/special/data</code> enthalten. Die Direktive <directive
1912 type="section" module="core">LocationMatch</directive> verhält sich
1913 genauso wie <directive type="section">Location</directive> mit
1914 regulären Ausdrücken.</p>
1916 <p>Die Funktionalität von <directive
1917 type="section">Location</directive> ist insbesondere dann nützlich,
1918 wenn sie mit der <directive module="core">SetHandler</directive>-Direktive
1919 kombiniert wird. Um zum Beispiel Statusabfragen zu aktivieren, sie aber
1920 nur von Browsern aus <code>foo.com</code> zuzulassen, könnten Sie
1924 <Location /status><br />
1926 SetHandler server-status<br />
1927 Order Deny,Allow<br />
1929 Allow from .foo.com<br />
1934 <note><title>Anmerkung zu / (Schrägstrich, Slash)</title>
1935 <p>Das Slash-Zeichen hat eine besondere Bedeutung, je nachdem, wo es
1936 in der URL erscheint. Manche werden sein Verhalten vom Dateisystem
1937 gewohnt sein, wo mehrere aufeinanderfolgende Schrägstriche
1938 häufig zu einem Schrägstrich zusammengefaßt werden
1939 (<em>d.h.</em> <code>/home///foo</code> ist das gleiche wie
1940 <code>/home/foo</code>). Im URL-Raum ist dies nicht notwendigerweise
1941 genauso. Bei der Direktive <directive type="section"
1942 module="core">LocationMatch</directive> und der <directive type="section"
1943 >Location</directive>-Version mit regulären Ausdrücken
1944 müssen Sie explizit mehrere Schrägstriche angeben, wenn Sie
1945 genau dies beabsichtigen.</p>
1947 <p>Beispielsweise würde <code><LocationMatch ^/abc></code>
1948 auf die angeforderte URL <code>/abc</code> passen, nicht aber auf
1949 <code>//abc</code>. Die Direktive <directive type="section"
1950 >Location</directive> (ohne reguläre Ausdrücke) verhält
1951 sich ähnlich, wenn sie für Proxy-Anfragen verwendet wird.
1952 Wenn <directive type="section">Location</directive> (ohne
1953 reguläre Ausdrücke) jedoch für nicht-Proxy-Anfragen
1954 verwendet wird, werden stillscheigend mehrere Schrächstriche mit
1955 mit einem einzigen Schrägstrich gleichgesetzt. Geben Sie
1956 beispielsweise <code><Location /abc/def></code> an und die
1957 Anfrage lautet auf <code>/abc//def</code>, dann greift die Anweisung.</p>
1960 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
1961 <Location> und <Files> arbeiten</a> für eine
1962 Erläuterung, wie diese verschiedenen Abschnitte miteinander
1963 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
1964 </directivesynopsis>
1966 <directivesynopsis type="section">
1967 <name>LocationMatch</name>
1968 <description>Wendet die enthaltenen Direktiven nur auf URLs an, die auf
1969 reguläre Ausdrücke passen</description>
1970 <syntax><LocationMatch
1971 <var>regex</var>> ... </LocationMatch></syntax>
1972 <contextlist><context>server config</context><context>virtual host</context>
1976 <p>Die Direktive <directive type="section">LocationMatch</directive>
1977 begrenzt die Reichweite der enthaltenen Anweisungen in der gleichen Weise
1978 wie <directive module="core" type="section">Location</directive> auf URLs.
1979 Sie verwendet jedoch reguläre Ausdrücke als Argument anstelle
1980 einer einfachen Zeichenkette. Beispielsweise würde</p>
1983 <LocationMatch "/(extra|special)/data">
1986 <p>auf URLs passen, welche die Zeichenfolge <code>/extra/data</code>
1987 oder <code>/special/data</code> enthalten.</p>
1990 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
1991 <Location> und <Files> arbeiten</a> für eine
1992 Erläuterung, wie diese verschiedenen Abschnitte miteinander
1993 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
1994 </directivesynopsis>
1997 <name>LogLevel</name>
1998 <description>Steuert die Ausführlichkeit des Fehlerprotokolls</description>
1999 <syntax>LogLevel <var>Level</var></syntax>
2000 <default>LogLevel warn</default>
2001 <contextlist><context>server config</context><context>virtual host</context>
2005 <p><directive>LogLevel</directive> stellt die Ausführlichkeit
2006 der Nachrichten ein, die im Fehlerprotokoll aufgezeichnet werden (siehe
2007 Direktive <directive module="core">ErrorLog</directive>). Die folgenden,
2008 nach absteigender Aussagekraft sortierten <var>Level</var> sind
2013 <th><strong>Level</strong> </th>
2015 <th><strong>Beschreibung</strong> </th>
2017 <th><strong>Beispiel</strong> </th>
2021 <td><code>emerg</code> </td>
2023 <td>Notfall - das System ist unbenutzbar.</td>
2025 <td>"Child cannot open lock file. Exiting"
2026 <transnote>"Kindprozess kann die Lock-Datei nicht öffnen.
2027 Beende Programm"</transnote></td>
2031 <td><code>alert</code> </td>
2033 <td>Maßnahmen müssen unverzüglich ergriffen
2036 <td>"getpwuid: couldn't determine user name from uid"
2037 <transnote>"getpwuid: kann keinen Benutzernamen aus der UID
2038 ermitteln"</transnote></td>
2042 <td><code>crit</code> </td>
2044 <td>Kritischer Zustand.</td>
2046 <td>"socket: Failed to get a socket, exiting child"
2047 <transnote>"socket: Socket-Zuweisung fehlgeschlagen, beende
2048 Kindprozess"</transnote></td>
2052 <td><code>error</code> </td>
2054 <td>Fehlerbedingung.</td>
2056 <td>"Premature end of script headers"
2057 <transnote>"Vorzeitiges Ende der Skript-Header"</transnote></td>
2061 <td><code>warn</code> </td>
2065 <td>"child process 1234 did not exit, sending another SIGHUP"
2066 <transnote>"Kindprozess 1234 nicht beendet, sende ein weiteres
2067 SIGHUP"</transnote></td>
2071 <td><code>notice</code> </td>
2073 <td>Normaler, aber signifikanter Zustand.</td>
2075 <td>"httpd: caught SIGBUS, attempting to dump core in ..."
2076 <transnote>"httpd: SIGBUS empfangen, versuche Speicherabbild nach ...
2077 zu schreiben"</transnote></td>
2081 <td><code>info</code> </td>
2083 <td>Information.</td>
2085 <td>"Server seems busy, (you may need to increase
2086 StartServers, or Min/MaxSpareServers)..."
2087 <transnote>"Server scheint beschäftigt zu sein,
2088 (möglicherweise müssen Sie StartServers oder
2089 Min/MaxSpareServers erhöhen)"</transnote></td>
2093 <td><code>debug</code> </td>
2095 <td>Debug-Level-Nachrichten</td>
2097 <td>"Opening config file ..."
2098 <transnote>"Öffne Konfigurationsdatei ..."</transnote></td>
2102 <p>Geben Sie einen bestimmten Level an, denn werden Nachrichten von
2103 allen höheren Leveln ebenso angezeigt. <em>Z.B.:</em> Wenn
2104 <code>LogLevel info</code> eingestellt ist, dann werden Nachrichten der
2105 Log-Level <code>notice</code> und <code>warn</code> ebenso eingetragen.</p>
2107 <p>Es wird empfohlen, mindestens den Level <code>crit</code> zu
2116 <note><title>Hinweis</title>
2117 <p>Beim Protokollieren in eine reguläre Datei können
2118 Nachrichten des Levels <code>notice</code> nicht unterdrückt
2119 werden und werden daher immer protokolliert. Dies trifft allerdings
2120 nicht zu, wenn mittels <code>syslog</code> protokolliert wird.</p>
2123 </directivesynopsis>
2126 <name>MaxKeepAliveRequests</name>
2127 <description>Anzahl der Anfragen, die bei einer persistenten Verbindung
2128 zulässig sind</description>
2129 <syntax>MaxKeepAliveRequests <var>Anzahl</var></syntax>
2130 <default>MaxKeepAliveRequests 100</default>
2131 <contextlist><context>server config</context><context>virtual host</context>
2135 <p>Die Direktive <directive>MaxKeepAliveRequests</directive>
2136 begrenzt die Anzahl der Anfragen, die pro Verbindung zulässig sind,
2137 wenn <directive module="core" >KeepAlive</directive> eingeschaltet ist.
2138 Bei der Einstellung <code>0</code> sind unbegrenzt viele Anfragen
2139 erlaubt. Wir empfehlen für diese Einstellung einen hohen Wert
2140 für eine maximale Serverleistung.</p>
2145 MaxKeepAliveRequests 500
2148 </directivesynopsis>
2151 <name>NameVirtualHost</name>
2152 <description>Bestimmt eine IP-Adresse für den Betrieb namensbasierter
2153 virtueller Hosts</description>
2154 <syntax>NameVirtualHost <var>Adresse</var>[:<var>Port</var>]</syntax>
2155 <contextlist><context>server config</context></contextlist>
2158 <p>Die Direktive <directive>NameVirtualHost</directive> ist erforderlich,
2159 wenn Sie <a href="../vhosts/">namensbasierte virtuelle Hosts</a>
2160 konfigurieren möchten.</p>
2162 <p>Obwohl <var>Adresse</var> eine Hostname sein kann, wird empfohlen,
2163 dass Sie stets eine IP-Adresse verwenden, z.B.:</p>
2166 NameVirtualHost 111.22.33.44
2169 <p>Mit der <directive>NameVirtualHost</directive>-Anweisung geben Sie
2170 die IP-Adresse an, unter der der Server Anfragen für
2171 namensbasierte virtuelle Hosts entgegennimmt. Das ist üblicherweise
2172 die Adresse, zu der die Namen Ihrer namensbasierten virtuellen Hosts
2173 aufgelöst werden. Falls eine Firewall oder ein anderer Proxy die
2174 Anfrage in Empfang nimmt und Sie zu einer weiteren IP-Adresse des Servers
2175 weiterleitet, müssen Sie die IP-Adresse der physikalischen
2176 Schnittstelle der Maschine angeben, welche die Anfragen bedient.
2177 Wenn Sie mehrere namensbasierte Hosts an verschiedenen Adressen
2178 betreiben, wiederholen Sie einfach die Anweisung für jede
2181 <note><title>Anmerkung</title>
2182 <p>Beachten Sie, dass der "Hauptserver" und jeder
2183 <code>_default_</code>-Server <strong>niemals</strong> bei einer
2184 Anfrage an einer <directive>NameVirtualHost</directive>-IP-Adresse
2185 bedient wird (es sei denn, Sie geben aus irgendwelchen Gründen
2186 <directive>NameVirtualHost</directive> an, definieren dann aber keine
2187 <directive>VirtualHost</directive>s für diese Adresse).</p>
2190 <p>Optional können Sie die Nummer eines Ports angeben, an dem
2191 namensbasierte virtuelle Hosts verwendet werden sollen. Beispiel:</p>
2194 NameVirtualHost 111.22.33.44:8080
2197 <p>IPv6-Adressen müssen, wie im folgenden Beispiel angegeben, in
2198 eckige Klammern eingeschlossen werden:</p>
2201 NameVirtualHost [fe80::a00:20ff:fea7:ccea]:8080
2204 <p>Um an allen Schnittstellen Anfragen zu empfangen, können Sie
2205 <code>*</code> als Argument verwenden.</p>
2211 <note><title>Argument der Direktive <directive
2212 type="section">VirtualHost</directive></title>
2213 <p>Beachten Sie, dass das Argument der <directive
2214 type="section">VirtualHost</directive>-Anweisung exakt auf das Argument
2215 der <directive>NameVirtualHost</directive>-Anweisung passen muss.</p>
2218 NameVirtualHost 1.2.3.4<br />
2219 <VirtualHost 1.2.3.4><br />
2221 </VirtualHost><br />
2225 <seealso><a href="../vhosts/">Dokumentation zu virtuellen Hosts</a></seealso>
2226 </directivesynopsis>
2229 <name>Options</name>
2230 <description>Definiert, welche Eigenschaften oder Funktionen in einem
2231 bestimmten Verzeichnis verfügbar sind</description>
2233 [+|-]<var>Option</var> [[+|-]<var>Option</var>] ...</syntax>
2234 <default>Options All</default>
2235 <contextlist><context>server config</context><context>virtual host</context>
2236 <context>directory</context><context>.htaccess</context>
2238 <override>Options</override>
2241 <p>Die Direktive <directive>Options</directive> steuert, welche
2242 Eigenschaften bzw. Funktionen in einem bestimmten Verzeichnis
2243 verfügbar sind.</p>
2245 <p><var>Option</var> kann auf <code>None</code> gesetzt werden, wobei
2246 keine der besonderen Eigenschaften verfügbar sind, oder auf eines
2247 oder mehrere der folgenden:</p>
2250 <dt><code>All</code></dt>
2252 <dd>Alle Optionen außer <code>MultiViews</code>. Dies ist
2253 die Voreinstellung.</dd>
2255 <dt><code>ExecCGI</code></dt>
2257 <dd>Die Ausführung von CGI-Skripten, welche <module>mod_cgi</module>
2258 verwenden, ist erlaubt.</dd>
2260 <dt><code>FollowSymLinks</code></dt>
2262 <dd>Der Server folgt symbolischen Links in diesem Verzeichnis.
2264 <p>Auch wenn der Server symbolischen Links folgt, bedeutet dies
2265 <em>nicht</em>, dass der zum Abgleich gegen <directive type="section"
2266 module="core">Directory</directive>-Abschnitte verwendete Pfadname
2268 <p>Beachten Sie auch, dass diese Option innerhalb eines
2269 <directive type="section" module="core">Location</directive>-Abschnitts
2270 <strong>ignoriert wird</strong>.</p>
2273 <dt><code>Includes</code></dt>
2276 Server Side Includes, die von <module>mod_include</module> bereitgestellt
2277 werden, sind erlaubt.</dd>
2279 <dt><code>IncludesNOEXEC</code></dt>
2281 <dd>Server Side Includes sind erlaubt, <code>#exec cmd</code>
2282 und <code>#exec cgi</code> sind jedoch deaktiviert. Es ist aber noch
2283 möglich, CGI-Skripte aus
2284 <directive module="mod_alias">ScriptAlias</directive>-Verzeichnissen mittels
2285 <code>#include virtual</code> einzubinden.</dd>
2287 <dt><code>Indexes</code></dt>
2289 <dd>Wenn eine URL, die auf ein Verzeichnis zeigt, in dem sich keine durch
2290 <directive module="mod_dir">DirectoryIndex</directive> definierte
2291 Indexdatei (<em>z.B.</em> <code>index.html</code>) befindet, dann liefert
2292 <module>mod_autoindex</module> eine formatierte Auflistung des
2293 Verzeichnisses zurück.</dd>
2295 <dt><code>MultiViews</code></dt>
2297 <dd>"MultiViews" sind bei der Verwendung von
2298 <module>mod_negotiation</module> erlaubt (siehe <a
2299 href="../content-negotiation.html">Content-Negotiation</a>).</dd>
2301 <dt><code>SymLinksIfOwnerMatch</code></dt>
2303 <dd>Der Server folgt nur symbolischen Links, bei denen die Zieldatei
2304 bzw. das Zielverzeichnis der gleichen Benutzerkennung gehört, wie
2306 <note><title>Anmerkung</title> Diese Option wird innerhalb eines
2307 <directive module="core" type="section">Location</directive>-Abschnitts
2308 ignoriert.</note></dd>
2311 <p>Wenn mehrere <directive>Options</directive> auf ein Verzeichnis
2312 angewandt werden können, dann wird normalerweise die
2313 spezifischste <transnote>Gemeint ist die zuletzt
2314 ausgeführte Option.</transnote> verwendet und alle anderen werden
2315 ignoriert; die Optionen werden nicht vermischt. (Siehe auch <a
2316 href="../sections.html#mergin">Wie Abschnitte zusammengeführt
2317 werden.</a>.) Wenn jedoch <em>allen</em> Optionen der
2318 <directive>Options</directive>-Anweisung eines der Zeichen
2319 <code>+</code> oder <code>-</code> vorangestellt wird, werden die Optionen
2320 zusammengemischt. Jede Option mit vorangestelltem <code>+</code> wird
2321 zu den momentan gültigen Optionen hinzugefügt und jede Option
2322 mit vorangestelltem <code>-</code> wird aus den derzeit gültigen
2323 Optionen entfernt.</p>
2325 <p>So wird zum Beispiel ohne die Zeichen <code>+</code> und
2329 <Directory /web/docs><br />
2331 Options Indexes FollowSymLinks<br />
2333 </Directory><br />
2335 <Directory /web/docs/spec><br />
2337 Options Includes<br />
2342 <p>für das Verzeichnis <code>/web/docs/spec</code> wird jetzt
2343 lediglich <code>Includes</code> gesetzt. Wenn die zweite
2344 <directive>Options</directive>-Anweisung jedoch <code>+</code>-
2345 und <code>-</code>-Zeichen verwenden würde,</p>
2348 <Directory /web/docs><br />
2350 Options Indexes FollowSymLinks<br />
2352 </Directory><br />
2354 <Directory /web/docs/spec><br />
2356 Options +Includes -Indexes<br />
2361 <p>dann würden die Optionen <code>FollowSymLinks</code> und
2362 <code>Includes</code> für das Verzeichnis <code>/web/docs/spec</code>
2365 <note><title>Anmerkung</title>
2366 <p>Die Verwendung von <code>-IncludesNOEXEC</code> oder
2367 <code>-Includes</code> deaktiviert Server Side Includes unabhängig
2368 von der vorigen Einstellung vollständig.</p>
2371 <p>Die Voreinstellung ist <code>All</code>, sofern keine anderen Angaben
2374 </directivesynopsis>
2377 <name>Require</name>
2378 <description>Wählt die authentisierten Benutzer aus, die auf eine
2379 Ressource zugreifen können</description>
2380 <syntax>Require <var>Name</var> [<var>Name</var>] ...</syntax>
2381 <contextlist><context>directory</context><context>.htaccess</context>
2383 <override>AuthConfig</override>
2386 <p>Die Direktive wählt aus, welche authentisierten Benutzer auf ein
2387 Verzeichnis zugreifen dürfen. Folgende Syntax ist erlaubt:</p>
2390 <dt><code>Require user <var>User-ID</var> [<var>User-ID</var>]
2392 <dd>Nur die genannten Benutzer dürfen auf die Ressource
2395 <dt><code>Require group <var>Gruppenname</var> [<var>Gruppenname</var>]
2397 <dd>Nur Benutzer der genannten Gruppen dürfen auf die
2398 Ressource zugreifen.</dd>
2400 <dt><code>Require valid-user</code></dt>
2401 <dd>Alle gültigen Benutzer dürfen auf die Ressource
2405 <p><directive>Require</directive> muss von den Direktiven
2406 <directive module="core">AuthName</directive> und <directive
2407 module="core">AuthType</directive> sowie Direktiven wie
2408 <directive module="mod_authn_file">AuthUserFile</directive>
2409 und <directive module="mod_authz_groupfile">AuthGroupFile</directive>
2410 (zur Definition von Benutzern und Gruppen) begleitet werden, um
2411 korrekt zu funktionieren. Beispiel:</p>
2414 AuthType Basic<br />
2415 AuthName "geschütztes Verzeichnis"<br />
2416 AuthUserFile /web/users<br />
2417 AuthGroupFile /web/groups<br />
2421 <p>Zugriffskontrollen, die in dieser Form angewandt werden, gelten
2422 für <strong>alle</strong> Methoden. <strong>Dies ist normalerweise
2423 gewünscht.</strong> Wenn Sie Zugriffskontrollen nur auf bestimmte
2424 Methoden anwenden möchten, während andere Methoden
2425 ungeschützt bleiben, dann müssen Sie die
2426 <directive>Require</directive>-Anweisung innerhalb eines
2427 <directive module="core" type="section">Limit</directive>-Abschnitts
2430 <seealso><directive module="core">Satisfy</directive></seealso>
2431 <seealso><module>mod_authz_host</module></seealso>
2432 </directivesynopsis>
2435 <name>RLimitCPU</name>
2436 <description>Begrenzt den CPU-Verbrauch von Prozessen, die von
2437 Apache-Kindprozessen gestartet wurden</description>
2438 <syntax>RLimitCPU <var>Sekunden</var>|max [<var>Sekunden</var>|max]</syntax>
2439 <default>unbestimmt; verwendet die Voreinstellung des Systems</default>
2440 <contextlist><context>server config</context><context>virtual host</context>
2441 <context>directory</context><context>.htaccess</context></contextlist>
2442 <override>All</override>
2445 <p>Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine
2446 weiche Ressourcenbegrenzung für alle Prozesse, der zweite Parameter
2447 setzt die Maximalgrenze für die Ressourcennutzung. Jeder der
2448 Parameter kann eine Zahl oder <code>max</code> sein. <code>max</code>
2449 zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum
2450 verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung
2451 erfordert, dass der Server als <code>root</code> läuft, zumindest in
2452 der anfänglichen Startphase.</p>
2454 <p>Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden
2455 Apache-Kindprozessen abgespalten werden, nicht auf die
2456 Apache-Kindprozesse selbst. Das beinhaltet CGI-Skripte und
2457 SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess
2458 abgespalten werden, wie z.B. Protokollierung.</p>
2460 <p>CPU-Ressourcenbegrenzung wird in Sekunden pro Prozess
2461 ausgedrückt.</p>
2463 <seealso><directive module="core">RLimitMEM</directive></seealso>
2464 <seealso><directive module="core">RLimitNPROC</directive></seealso>
2465 </directivesynopsis>
2468 <name>RLimitMEM</name>
2469 <description>Begrenzt den Speicherverbrauch von Prozessen, die von
2470 Apache-Kindprozessen gestartet wurden</description>
2471 <syntax>RLimitMEM <var>Bytes</var>|max [<var>Bytes</var>|max]</syntax>
2472 <default>unbestimmt; verwendet die Voreinstellung des Systems</default>
2473 <contextlist><context>server config</context><context>virtual host</context>
2474 <context>directory</context><context>.htaccess</context></contextlist>
2475 <override>All</override>
2478 <p>Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine
2479 weiche Ressourcenbegrenzung für alle Prozesse, der zweite Parameter
2480 setzt die Maximalgrenze für die Ressourcennutzung. Jeder der
2481 Parameter kann eine Zahl oder <code>max</code> sein. <code>max</code>
2482 zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum
2483 verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung
2484 erfordert, dass der Server als <code>root</code> läuft, zumindest in
2485 der anfänglichen Startphase.</p>
2487 <p>Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden
2488 Apache-Kindprozessen abgespalten werden, nicht auf die
2489 Apache-Kindprozesse selbst. Das beinhaltet CGI-Skripte und
2490 SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess
2491 abgespalten werden, wie z.B. Protokollierung.</p>
2493 <p>Die Begrenzung des Speicherverbrauchs wird in Bytes pro Prozess
2494 ausgedrückt.</p>
2496 <seealso><directive module="core">RLimitCPU</directive></seealso>
2497 <seealso><directive module="core">RLimitNPROC</directive></seealso>
2498 </directivesynopsis>
2501 <name>RLimitNPROC</name>
2502 <description>Begrenzt die Anzahl der Prozesse, die von Prozessen gestartet
2503 werden können, der ihrerseits von Apache-Kinprozessen gestartet
2504 wurden</description>
2505 <syntax>RLimitNPROC <var>Zahl</var>|max [<var>Zahl</var>|max]</syntax>
2506 <default>unbestimmt; verwendet die Voreinstellung des Systems</default>
2507 <contextlist><context>server config</context><context>virtual host</context>
2508 <context>directory</context><context>.htaccess</context></contextlist>
2509 <override>All</override>
2512 <p>Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine
2513 weiche Ressourcenbegrenzung für alle Prozesse, der zweite Parameter
2514 setzt die Maximalgrenze für die Ressourcennutzung. Jeder der
2515 Parameter kann eine Zahl oder <code>max</code> sein. <code>max</code>
2516 zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum
2517 verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung
2518 erfordert, dass der Server als <code>root</code> läuft, zumindest in
2519 der anfänglichen Startphase.</p>
2521 <p>Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden
2522 Apache-Kindprozessen abgespalten werden, nicht auf die
2523 Apache-Kindprozesse selbst. Dies beinhaltet CGI-Skripte und
2524 SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess
2525 abgespalten werden, wie z.B. Protokollierung.</p>
2527 <p>Prozessbegrenzungen steuern die Anzahl der Prozesse pro Benutzer.</p>
2529 <note><title>Anmerkung</title>
2530 <p>Wenn CGI-Prozesse nicht unter anderen Benutzerkennungen als der
2531 User-ID des Webservers laufen, dann beschränkt diese Direktive
2532 die Anzahl der Prozesse, die der Server selbst erstellen kann.
2533 Kennzeichen einer solchen Situation sind
2534 <strong><code>cannot fork</code></strong>-Meldungen
2535 <transnote><code>kann nicht abspalten</code></transnote> in der
2536 Datei <code>error_log</code>.</p>
2539 <seealso><directive module="core">RLimitMEM</directive></seealso>
2540 <seealso><directive module="core">RLimitCPU</directive></seealso>
2541 </directivesynopsis>
2544 <name>Satisfy</name>
2545 <description>Zusammenspiel von rechnerbasierter Zugriffskontrolle und
2546 Benutzerauthentisierung</description>
2547 <syntax>Satisfy Any|All</syntax>
2548 <default>Satisfy All</default>
2549 <contextlist><context>directory</context><context>.htaccess</context>
2551 <override>AuthConfig</override>
2554 <p>Verfahrensweise für den Zugriff, falls sowohl <directive
2555 module="mod_authz_host">Allow</directive> als auch <directive
2556 module="core">Require</directive> verwendet werden. Der Parameter kann
2557 entweder <code>All</code> oder <code>Any</code> sein. Die Direktive ist
2558 nur dann nützlich, wenn der Zugriff zu einem bestimmten Bereich
2559 durch Benutzername/Passwort <em>und</em> Clientrechner-Adressen
2560 eingeschränkt ist. In diesem Fall verlangt die Voreinstellung
2561 (<code>All</code>), dass der Client die Adressbeschränkung passiert
2562 <em>und</em> eine gültige Benutzerkennung und ein gültiges
2563 Passwort übermittelt. Mit der Auswahl <code>Any</code> wird dem
2564 Client der Zugriff erlaubt, wenn er entweder die Rechner-Beschänkung
2565 passiert oder einen gültigen Benutzernamen und ein gültiges
2566 Passwort übermittelt. Dies kann verwendet werden, um einen Bereich
2567 mit einem Passwort zu schützen, jedoch Clients von bestimmten
2568 Adressen ohne Abfrage des Passwortes zuzulassen.</p>
2570 <p>Wenn Sie beispielsweise möchten, dass Personen aus Ihrem
2571 privaten Netzwerk unbechänkten Zugriff zu Teilen Ihres
2572 Webangebots haben, jedoch verlangen, dass Personen außerhalb
2573 Ihres privaten Netzwerks ein Passwort übergeben müssen,
2574 können Sie eine Konfiguration ähnlich der folgenden
2578 Require valid-user<br />
2579 Allow from 192.168.1<br />
2583 <seealso><directive module="mod_authz_host">Allow</directive></seealso>
2584 <seealso><directive module="core">Require</directive></seealso>
2585 </directivesynopsis>
2588 <name>ScriptInterpreterSource</name>
2589 <description>Methode zur Ermittlung des Interpreters von
2590 CGI-Skripten</description>
2591 <syntax>ScriptInterpreterSource Registry|Registry-Strict|Script</syntax>
2592 <default>ScriptInterpreterSource Script</default>
2593 <contextlist><context>server config</context><context>virtual host</context>
2594 <context>directory</context><context>.htaccess</context></contextlist>
2595 <override>FileInfo</override>
2596 <compatibility>ausschließlich Win32;
2597 Die Option <code>Registry-Strict</code> ist verfügbar seit Apache
2598 2.0.</compatibility>
2601 <p>Die Direktive steuert, wie der Apache den Interpreter zur Ausführung
2602 von CGI-Skripten bestimmt. Die Voreinstellung ist <code>Script</code>. Dies
2603 veranlaßt den Apache, den Interpreter zu verwenden, auf den die
2604 Shebang-Zeile (erste Zeile, beginnt mit <code>#!</code>) im Skript zeigt.
2605 Auf Win32-Systemen sieht diese Zeile üblicherweise so aus:</p>
2608 #!C:/Perl/bin/perl.exe
2611 <p>oder, wenn perl im Pfad (Umgebungsvariable <code>PATH</code>) liegt,
2618 <p>Die Einstellung <code>ScriptInterpreterSource Registry</code>
2619 veranlaßt eine Suche in <code>HKEY_CLASSES_ROOT</code> der
2620 Windows-Registrierungsdatenbank und verwendet die Endung der Skript-Datei
2621 (z.B. <code>.pl</code>) als Suchargument. Der durch den Unterschlüssel
2622 <code>Shell\ExecCGI\Command</code> oder, falls dieser nicht existiert,
2623 <code>Shell\Open\Command</code> definierte Befehl wird zum Öffnen der
2624 Skript-Datei verwendet. Wenn der Schlüssel zur Dateiendung oder
2625 beide Unterschlüssel fehlen, dann verwendet der Apache die Option
2626 <code>Script</code>.</p>
2628 <note type="warning"><title>Sicherheit</title>
2629 <p>Seien Sie vorsichtig, <code>ScriptInterpreterSource Registry</code> bei
2630 Verzeichnissen zu verwenden, auf die eine <directive
2631 module="mod_alias">ScriptAlias</directive>-Anweisung zeigt, denn der
2632 Apache versucht <strong>jede</strong> Datei innerhalb des Verzeichnisses
2633 auszuführen. Die Einstellung <code>Registry</code> kann
2634 unerwünschte Programmaufrufe bei Dateien verursachen, die
2635 üblicherweise nicht ausgeführt werden. Auf den meisten
2636 Windows-Systemen beispielsweise startet der voreingestellte
2637 Öffnen-Befehl für <code>.htm</code>-Dateien den Microsoft
2638 Internet Explorer, so dass jede HTTP-Anfrage nach einer existierenden
2639 <code>.htm</code>-Datei im Skript-Verzeichnis den Browser im Hintergrund
2640 starten würde. Dies ist eine wirksame Methode, Ihr System binnen
2641 etwa einer Minute zum Absturz zu bringen.</p>
2644 <p>Die seit Apache 2.0 neue Option <code>Registry-Strict</code>
2645 macht das gleiche wie <code>Registry</code>, verwendet jedoch nur den
2646 Unterschlüssel <code>Shell\ExecCGI\Command</code>. Der Schlüssel
2647 <code>ExecCGI</code> ist gewöhnlich nicht voreingestellt. Er muss
2648 manuell eingerichtet werden und schützt Ihr System so for
2649 versehentlichen Programmaufrufen.</p>
2651 </directivesynopsis>
2654 <name>ServerAdmin</name>
2655 <description>E-Mail-Adresse, die der Server in Fehlermeldungen einfügt,
2656 welche an den Client gesendet werden</description>
2657 <syntax>ServerAdmin <var>E-Mail-Adresse</var></syntax>
2658 <contextlist><context>server config</context><context>virtual host</context>
2662 <p><directive>ServerAdmin</directive> legt die E-Mail-Adresse fest,
2663 die der Server in jede Fehlermeldung einfügt, die er an den
2664 Client zurückschickt.</p>
2666 <p>Es kann sich lohnen, hierfür eine reservierte Adresse
2670 ServerAdmin www-admin@foo.example.com
2673 <p>da Anwender nicht unbedingt erwähnen, dass sie vom Server
2676 </directivesynopsis>
2679 <name>ServerAlias</name>
2680 <description>Alternativer Name für einen Host, der verwendet wird, wenn
2681 Anfragen einem namensbasierten virtuellen Host zugeordnet werden</description>
2682 <syntax>ServerAlias <var>Hostname</var> [<var>Hostname</var>] ...</syntax>
2683 <contextlist><context>virtual host</context></contextlist>
2686 <p>Die Direktive <directive>ServerAlias</directive> bestimmt die
2687 alternativen Namen eines Hosts zur Verwendung mit <a
2688 href="../vhosts/name-based.html">namensbasierten virtuellen Hosts</a>.</p>
2691 <VirtualHost *><br />
2692 ServerName server.domain.com<br />
2693 ServerAlias server server2.domain.com server2<br />
2695 </VirtualHost>
2698 <seealso><a href="../vhosts/">Apache-Dokumentation zu virtuellen
2700 </directivesynopsis>
2703 <name>ServerName</name>
2704 <description>Rechnername und Port, die der Server dazu verwendet, sich
2705 selbst zu identifizieren</description>
2707 <var>voll-qualifizierter-Domainname</var>[:<var>port</var>]</syntax>
2708 <contextlist><context>server config</context><context>virtual host</context>
2710 <compatibility>Diese Direktive löst in Version 2.0 die
2711 Funktionalität der Direktive <directive>Port</directive> aus
2712 Version 1.3 ab.</compatibility>
2715 <p>Die Direktive <directive>ServerName</directive> bestimmt den
2716 Rechnernamen und Port, den der Server dazu verwendet, sich selbst
2717 zu identifizieren. Diese werden bei der Erstellung von Umleitungs-URLs
2718 benötigt. Wenn beispielsweise der Name der Maschine, die den Webserver
2719 beherbergt, <code>simple.example.com</code> lautet, die Maschine jedoch
2720 auch einen DNS-Alias <code>www.example.com</code> besitzt und Sie den
2721 Webserver so identifizieren möchten, sollten Sie die folgende
2722 Anweisung verwenden:</p>
2725 ServerName www.example.com:80
2728 <p>Wenn kein <directive>ServerName</directive> angegeben wurde,
2729 dann versucht der Server den Rechnernamen mittels eines Reverse-Lookup
2730 herzuleiten. Wenn kein Post im Servernamen angegeben wurde, dann
2731 verwendet der Server den Port der eingegangenen Anfrage. Für eine
2732 optimale Zuverlässigkeit und Berechenbarkeit sollten Sie einen
2733 eindeutigen Rechnernamen und Port angeben, in dem Sie die Direktive
2734 <directive>ServerName</directive> verwenden.</p>
2736 <p>Wenn Sie <a href="../vhosts/name-based.html">namensbasierte
2737 virtuelle Hosts</a> verwenden, gibt <directive>ServerName</directive>
2738 innerhalb eines <directive type="section"
2739 module="core">VirtualHost</directive>-Abschnitts an, welcher
2740 Hostname im <code>Host:</code>-Header der Anfrage auftauchen muss,
2741 damit sie diesem virtuellen Host zugeordnet wird.</p>
2743 <p>Lesen Sie bitte die Beschreibung der Direktive <directive
2744 module="core">UseCanonicalName</directive> für Einstellungen, die
2745 bestimmen, ob selbstreferenzierende URLs (z.B. vom Modul
2746 <module>mod_dir</module>) auf den angegebenen Port zeigen oder auf die
2747 Portnummern die in der Anfrage des Clients angegeben ist.</p>
2750 <seealso><a href="../dns-caveats.html">Probleme bezüglich DNS und
2751 Apache</a></seealso>
2752 <seealso><a href="../vhosts/">Apache-Dokumentation zu virtuellen
2754 <seealso><directive module="core">UseCanonicalName</directive></seealso>
2755 <seealso><directive module="core">NameVirtualHost</directive></seealso>
2756 <seealso><directive module="core">ServerAlias</directive></seealso>
2757 </directivesynopsis>
2760 <name>ServerPath</name>
2761 <description>Veralteter URL-Pfad für einen namensbasierten
2762 virtuellen Host, auf den von einem inkompatiblen Browser zugegriffen
2764 <syntax>ServerPath <var>URL-Pfad</var></syntax>
2765 <contextlist><context>virtual host</context></contextlist>
2768 <p>Die Direktive <directive>ServerPath</directive> legt den
2769 veralteten <transnote>Gemeint ist eigentlich "Altlast" aufgrund
2770 antiquierter Clients.</transnote> URL-Pfad eines Hosts zur Verwendung mit
2771 <a href="../vhosts/">namensbasierten virtuellen Hosts</a> fest.</p>
2773 <seealso><a href="../vhosts/">Apache-Dokumentation zu virtuellen
2775 </directivesynopsis>
2778 <name>ServerRoot</name>
2779 <description>Basisverzeichnis der Serverinstallation</description>
2780 <syntax>ServerRoot <var>Verzeichnis</var></syntax>
2781 <default>ServerRoot /usr/local/apache</default>
2782 <contextlist><context>server config</context></contextlist>
2785 <p>Die Direktive <directive>ServerRoot</directive> bestimmt das
2786 Verzeichnis, in dem der Server installiert ist. Üblicherweise
2787 enthält es die Unterverzeichnisse <code>conf/</code> und
2788 <code>logs/</code>. Relative Pfadangaben für andere
2789 Konfigurationsdateien werden relativ zu diesem Verzeichnis betrachtet.</p>
2791 <example><title>Beispiel</title>
2792 ServerRoot /home/httpd
2795 <seealso><a href="../invoking.html">Die <code>httpd</code>-Option
2796 <code>-d</code></a></seealso>
2797 <seealso><a href="../misc/security_tips.html#serverroot">Sicherheitshinweise</a>
2798 für Informationen, wie die Rechte auf das <directive
2799 >ServerRoot</directive>-Verzeichnis richtig gesetzt werden</seealso>
2800 </directivesynopsis>
2803 <name>ServerSignature</name>
2804 <description>Konfiguriert die Fußzeile von servergenerierten
2805 Dokumenten</description>
2806 <syntax>ServerSignature On|Off|EMail</syntax>
2807 <default>ServerSignature Off</default>
2808 <contextlist><context>server config</context><context>virtual host</context>
2809 <context>directory</context><context>.htaccess</context>
2811 <override>All</override>
2814 <p>Die Direktive <directive>ServerSignature</directive> ermöglicht
2815 die Gestaltung einer unter servergenerierten Dokumenten (z.B.
2816 Fehlerdokumente, FTP-Verzeichnislisten von <module>mod_proxy</module>,
2817 <module>mod_info</module>-Ausgaben, ...) angefügten
2818 Fußzeile. Ein möglicher Grund für die Aktivierung einer
2819 solchen Fußzeile ist, dass der Anwender bei einer Kette von
2820 Proxy-Servern oft keine Möglichkeit hat, zu erkennen, welcher der
2821 verketteten Server gegenwärtig die zurückgegebene Fehlermeldung
2824 <p>Die (Vor-)Einstellung <code>Off</code> unterdrückt die
2825 Fußzeile (und ist damit kompatibel zum Verhalten des Apache 1.2 und
2826 früher). Die Einstellung <code>On</code> fügt schlicht eine
2827 Zeile mit der Versionsnummer des Servers und dem Servernamen (<directive
2828 module="core">ServerName</directive>) des bedienenden virtuellen Hosts an.
2829 Die Einstellung <code>EMail</code> erstellt zusätzlich einen
2830 "mailto:"-Verweis zum Serveradministrator (<directive
2831 module="core">ServerAdmin</directive>) des referenzierten Dokuments.</p>
2833 <p>Ab Version 2.0.44 werden die Details der angegebenen Versionsnummer des
2834 Servers von der Direktive <directive
2835 module="core">ServerTokens</directive> kontrolliert.</p>
2837 <seealso><directive module="core">ServerTokens</directive></seealso>
2838 </directivesynopsis>
2841 <name>ServerTokens</name>
2842 <description>Konfiguriert den HTTP-Response-Header
2843 <code>Server</code></description>
2844 <syntax>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</syntax>
2845 <default>ServerTokens Full</default>
2846 <contextlist><context>server config</context></contextlist>
2849 <p>die Direktive steuert, ob der Response-Header <code>Server</code>,
2850 der an den Client zurückgesendet wird, eine Beschreibung des
2851 allgemeinen Betriesbsystemtyps des Servers wie auch Informationen
2852 über einkompilierte Module enthält.</p>
2855 <dt><code>ServerTokens Prod[uctOnly]</code></dt>
2857 <dd>Der Server sendet (<em>z.B.</em>): <code>Server:
2860 <dt><code>ServerTokens Major</code></dt>
2862 <dd>Der Server sendet (<em>z.B.</em>): <code>Server:
2863 Apache/2</code></dd>
2865 <dt><code>ServerTokens Minor</code></dt>
2867 <dd>Der Server sendet (<em>z.B.</em>): <code>Server:
2868 Apache/2.0</code></dd>
2870 <dt><code>ServerTokens Min[imal]</code></dt>
2872 <dd>Der Server sendet (<em>z.B.</em>): <code>Server:
2873 Apache/2.0.41</code></dd>
2875 <dt><code>ServerTokens OS</code></dt>
2877 <dd>Der Server sendet (<em>z.B.</em>): <code>Server: Apache/2.0.41
2880 <dt><code>ServerTokens Full</code> (oder nicht angegeben)</dt>
2882 <dd>Der Server sendet (<em>z.B.</em>): <code>Server: Apache/2.0.41
2883 (Unix) PHP/4.2.2 MyMod/1.2</code></dd>
2886 <p>Diese Einstellung gilt für den gesamten Server und kann nicht
2887 auf Virtual-Host-Basis aktiviert oder deaktiviert werden.</p>
2889 <p>Ab Version 2.0.44 steuert diese Direktive auch die Informationen, die
2890 durch die Direktive <directive module="core">ServerSignature</directive>
2891 angeboten werden.</p>
2893 <seealso><directive module="core">ServerSignature</directive></seealso>
2894 </directivesynopsis>
2897 <name>SetHandler</name>
2898 <description>Erzwingt die Verarbeitung aller passenden Dateien durch
2899 einen Handler</description>
2900 <syntax>SetHandler <var>Handlername</var>|None</syntax>
2901 <contextlist><context>server config</context><context>virtual host</context>
2902 <context>directory</context><context>.htaccess</context>
2904 <override>FileInfo</override>
2905 <compatibility>Seit Apache 2.0 im Core</compatibility>
2908 <p>Wenn die Direktive innerhalb einer <code>.htaccess</code>-Datei
2909 oder in einem <directive type="section"
2910 module="core">Directory</directive>- oder
2911 <directive type="section" module="core">Location</directive>-Abschnitt
2912 angegeben wird, erzwingt sie, dass alle entsprechenden Dateien von dem
2913 durch <var>Handlername</var> angegebenen <a
2914 href="../handler.html">Handler</a> analysiert werden. Wenn Sie
2915 beispielsweise ein Verzeichnis haben, dessen Dateien unabhängig von
2916 der Endung gänzlich als Image-Maps interpretiert werden sollen,
2917 können Sie folgendes in eine <code>.htaccess</code>-Datei in
2918 dem Verzeichnis schreiben:</p>
2921 SetHandler imap-file
2924 <p>Noch ein Beispiel: wenn Sie den Server immer, wenn die URL
2925 <code>http://servername/status</code> aufgerufen wird, einen
2926 Statusbericht anzeigen lassen möchten, dann können
2927 Sie folgendes in die <code>httpd.conf</code> schreiben:</p>
2930 <Location /status><br />
2932 SetHandler server-status<br />
2936 <p>Sie können eine zuvor definierte
2937 <directive>SetHandler</directive>-Anweisung aufheben, indem Sie den Wert
2938 <code>None</code> verwenden.</p>
2940 <seealso><directive module="mod_mime">AddHandler</directive></seealso>
2941 </directivesynopsis>
2944 <name>SetInputFilter</name>
2945 <description>Bestimmt die Filter, die Client-Anfragen und POST-Eingaben
2946 verarbeiten</description>
2947 <syntax>SetInputFilter <var>Filter</var>[;<var>Filter</var>...]</syntax>
2948 <contextlist><context>server config</context><context>virtual host</context>
2949 <context>directory</context><context>.htaccess</context>
2951 <override>FileInfo</override>
2954 <p>Die Direktive <directive>SetInputFilter</directive> bestimmt den oder
2955 die Filter, die Client-Anfragen und POST-Eingaben verarbeiten, wenn
2956 sie vom Server empfangen werden. Diese gelten zusätzlich zu
2957 anderweitig definierten Filtern, einschließlich denen der Direktive
2958 <directive module="mod_mime">AddInputFilter</directive>.</p>
2960 <p>Wenn mehr als ein Filter angegeben wird, dann müssen diese
2961 durch Semikolon voneinander getrennt in der Reihenfolge angegeben werden,
2962 in der sie die Daten verarbeiten sollen.</p>
2964 <seealso><a href="../filter.html">Filter</a>-Dokumentation</seealso>
2965 </directivesynopsis>
2968 <name>SetOutputFilter</name>
2969 <description>Bestimmt die Filter, die Antworten des Servers verarbeiten</description>
2970 <syntax>SetOutputFilter <var>Filter</var>[;<var>Filter</var>...]</syntax>
2971 <contextlist><context>server config</context><context>virtual host</context>
2972 <context>directory</context><context>.htaccess</context>
2974 <override>FileInfo</override>
2977 <p>Die Direktive <directive>SetOutputFilter</directive> bestimmt
2978 die Filter, die Antworten des Servers verarbeiten, bevor sie an den
2979 Client gesendet werden. Diese gelten zusätzlich zu anderweitig
2980 definierten Filtern, einschließlich denen der Direktive
2981 <directive module="mod_mime">AddOutputFilter</directive>.</p>
2983 <p>Die folgende Konfiguration verarbeitet zum Beispiel alle Dateien
2984 im Verzeichnis <code>/www/data</code> als Server Side Includes.</p>
2987 <Directory /www/data/><br />
2989 SetOutputFilter INCLUDES<br />
2994 <p>Wenn mehr als ein Filter angegeben wird, dann müssen diese
2995 durch Semikolon voneinander getrennt in der Reihenfolge angegeben werden,
2996 in der sie die Daten verarbeiten sollen.</p>
2998 <seealso><a href="../filter.html">Filter</a>-Dokumentation</seealso>
2999 </directivesynopsis>
3002 <name>TimeOut</name>
3003 <description>Zeitspanne, die der Server auf verschiedene Ereignisse wartet,
3004 bevor er die Anfrage abbricht</description>
3005 <syntax>TimeOut <var>Sekunden</var></syntax>
3006 <default>TimeOut 300</default>
3007 <contextlist><context>server config</context></contextlist>
3010 <p>Die Direktive <directive>TimeOut</directive> definiert derzeit die
3011 Zeitspanne, die der Apache auf drei Dinge wartet:</p>
3014 <li>Die gesamte Zeispanne, die benötigt wird, um eine GET-Anfrage
3017 <li>Die Zeitspanne zwischen dem Empfang von TCP-Paketen einer
3018 POST- oder PUT-Anfrage.</li>
3020 <li>Die Zeitspanne zwischen ACKs bei der Übermittlung der
3021 TCP-Pakete der Antwort.</li>
3024 <p>Wir haben vor, diese Zeitspannen in Zukunft separat konfigurierbar zu
3025 machen. Vor Version 1.2 war der Zeitgeber auf 1200 voreingestellt, wurde
3026 dann aber auf 300 herabgesetzt, was immer noch weit mehr ist, als in den
3027 meisten Situationen benötigt wird. Die Voreinstellung wurde nicht
3028 weiter herabgesetzt, da gelegentlich noch Stellen im Code existieren
3029 können, wo der Zeitgeber nicht zurückgesetzt wird, wenn ein
3030 Paket verschickt wird.</p>
3032 </directivesynopsis>
3035 <name>UseCanonicalName</name>
3036 <description>Bestimmt, wie der Server seinen eigenen Namen und Port
3037 ermittelt</description>
3038 <syntax>UseCanonicalName On|Off|DNS</syntax>
3039 <default>UseCanonicalName On</default>
3040 <contextlist><context>server config</context><context>virtual host</context>
3041 <context>directory</context></contextlist>
3044 <p>In vielen Situationen muss der Apache eine
3045 <em>selbstreferenzierende</em> URL -- d.h. eine URL, die auf den selben
3046 Server zurück verweist -- zusammenbauen. Bei <code>UseCanonicalName
3047 On</code> verwendet der Apache den Hostnamen und Port, der in der
3048 <directive module="core">ServerName</directive>-Anweisung angegeben ist,
3049 um den kanonischen Namen des Servers zu erstellen. Dieser Name wird in
3050 allen selbstreferenzierenden URLs sowie in CGI-Skripten für die
3051 Werte von <code>SERVER_NAME</code> und <code>SERVER_PORT</code>
3054 <p>Bei <code>UseCanonicalName Off</code> bildet der Apache
3055 selbstreferenzierende URLs, indem er den vom Client übermittelten
3056 Hostnamen und Port verwendet, sofern diese vorhanden sind (andernfalls
3057 wird der kanonische Name, wie oben beschrieben, benutzt). Die Werte
3058 sind die gleichen, die zur Anwendung von <a
3059 href="../vhosts/name-based.html">namensbasierten virtuellen Hosts</a>
3060 verwendet werden, und sie sind mit den gleichen Clients verfügbar
3061 <transnote>, die auch in der Lage sind, auf namensbasierte virtuelle Hosts
3062 zuzugreifen, d.h. einen <code>Host</code>-Header mitschicken</transnote>.
3063 Die CGI-Variablen <code>SERVER_NAME</code> und <code>SERVER_PORT</code>
3064 werden ebenfalls aus den vom Client angeboten Werten erstellt.</p>
3066 <p>Ein Intranet-Server, auf den Anwender mit kurzen Namen wie
3067 <code>www</code> zugreifen, ist ein Beispiel, wo dies sinnvoll sein kann.
3068 Sie werden bemerken, dass der Apache den Benutzer auf
3069 <code>http://www.domain.com/splat/</code> umleitet, wenn dieser einen
3070 Kurznamen und eine URL, die einem Verzeichnis entspricht, ohne
3071 abschließenden Schrägstrich eingibt, wie z.B.
3072 <code>http://www/splat</code>. Wenn Sie Authentisierung aktiviert haben,
3073 bewirkt dies, dass der Benutzer sich zweimal identifizieren muss
3074 (einmal für <code>www</code> und noch einmal für
3075 <code>www.domain.com</code> -- lesen Sie für weitere Informationen <a
3076 href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">die
3077 FAQ zu diesem Thema</a>). Wenn <directive>UseCanonicalName</directive>
3078 jedoch auf <code>Off</code> gesetzt ist, denn wird der Apache zu
3079 <code>http://www/splat/</code> umleiten.</p>
3081 <p>Es existiert noch eine dritte Option, <code>UseCanonicalName DNS</code>,
3082 die für den Betrieb von IP-basierten Massen-Virtual-Hosts gedacht ist,
3083 um antiquierte Clients zu unterstützen, die keinen
3084 <code>Host:</code>-Header bereit stellen. Um selbstreferenzierende
3085 URLs zu ermitteln, führt der Apache bei dieser Option ein
3086 Reverse-DNS-Lookup auf die IP-Adresse des Servers aus, zu der der Client
3087 Verbindung aufgenommen hat.</p>
3089 <note type="warning"><title>Warnung</title>
3090 <p>Wenn CGI-Skripte Vermutungen aufgrund des Wertes von
3091 <code>SERVER_NAME</code> anstellen, können sie durch diese
3092 Option fehlschlagen. Clients steht es im Wesentlichen frei, einen Wert
3093 für den Hostnamen anzugeben, wie er will. Wenn das
3094 CGI-Skript <code>SERVER_NAME</code> jedoch lediglich dazu verwendet,
3095 selbstreferenzierende URLs zu erstellen, sollte das gerade noch
3096 in Ordnung sein.</p>
3099 <seealso><directive module="core">ServerName</directive></seealso>
3100 <seealso><directive module="mpm_common">Listen</directive></seealso>
3101 </directivesynopsis>
3103 <directivesynopsis type="section">
3104 <name>VirtualHost</name>
3105 <description>Enthält Direktiven, die nur auf bestimmte Hostnamen oder
3106 IP-Adressen angewendet werden</description>
3107 <syntax><VirtualHost
3108 <var>Adresse</var>[:<var>Port</var>] [<var>Adresse</var>[:<var>Port</var>]]
3109 ...> ... </VirtualHost></syntax>
3110 <contextlist><context>server config</context></contextlist>
3113 <p><directive type="section">VirtualHost</directive> und
3114 <code></VirtualHost></code> werden dazu verwendet, eine Gruppe
3115 von Direktiven zusammenzufassen, die nur auf einen bestimmten virtuellen
3116 Host angewendet werden. Jede Direktive, die im Virtual-Host-Kontext
3117 zulässig ist, kann verwendet werden. Wenn der Server eine Anfrage
3118 für ein bestimmtes Dokument eines bestimmten virtuellen Hosts
3119 empfängt, dann benutzt er die im
3120 <directive type="section">VirtualHost</directive>-Container enthaltenen
3121 Konfigurationsanweisungen. <var>Adresse</var> kann sein:</p>
3124 <li>Die IP-Adresse des virtuellen Hosts.</li>
3126 <li>Ein voll qualifizierter Domainname für die IP-Adresse des
3127 virtuellen Hosts.</li>
3129 <li>Das Zeichen <code>*</code>, welches nur in Kombination mit
3130 <code>NameVirtualHost *</code> verwendet wird, um allen IP-Adressen
3131 zu entsprechen.</li>
3133 <li>Die Zeichenkette <code>_default_</code>, die nur mit IP-basierten
3134 virtuellen Hosts verwendet wird, um nicht zugewiesene IP-Adressen
3138 <example><title>Beispiel</title>
3139 <VirtualHost 10.1.2.3><br />
3141 ServerAdmin webmaster@host.foo.com<br />
3142 DocumentRoot /www/docs/host.foo.com<br />
3143 ServerName host.foo.com<br />
3144 ErrorLog logs/host.foo.com-error_log<br />
3145 TransferLog logs/host.foo.com-access_log<br />
3147 </VirtualHost>
3150 <p>IPv6-Adressen müssen in eckigen Klammern angegeben werden, da die
3151 optionale Portnummer sonst nicht erkannt werden kann. Hier ein
3155 <VirtualHost [fe80::a00:20ff:fea7:ccea]><br />
3157 ServerAdmin webmaster@host.example.com<br />
3158 DocumentRoot /www/docs/host.example.com<br />
3159 ServerName host.example.com<br />
3160 ErrorLog logs/host.example.com-error_log<br />
3161 TransferLog logs/host.example.com-access_log<br />
3163 </VirtualHost>
3166 <p>Jeder virtuelle Host muss einer anderen IP-Adresse, einem anderen Port
3167 oder einem anderen Hostnamen für den Server entsprechen. Im ersten
3168 Fall muss die Servermaschine so eingerichtet sein, dass sie IP-Pakete
3169 für mehrere Adressen akzeptiert. (Wenn der Rechner nicht mehrere
3170 Netzwerkkarten besitzt, kann dies mit dem Befehl <code>ifconfig
3171 alias</code> durchgeführt werden -- sofern Ihr Betriebssystem das
3172 unterstützt).</p>
3174 <note><title>Anmerkung</title>
3175 <p>Die Verwendung von <directive type="section">VirtualHost</directive>
3176 beeinflusst <strong>nicht</strong>, an welchen Adressen der Apache
3177 lauscht. Sie müssen mit <directive
3178 module="mpm_common">Listen</directive> sicherstellen, dass der Apache
3179 an der richtigen Adresse lauscht.</p>
3182 <p>Bei der Verwendung IP-basierter virtuellen Hosts kann der spezielle
3183 Name <code>_default_</code> benutzt werden. In diesem Fall weist
3184 der Apache jede IP-Adresse diesem virtuellen Host zu, die nicht explizit in
3185 einem anderen virtuellen Host angegeben ist. Falls kein virtueller Host
3186 <code>_default_</code> angegeben ist, wird die "Hauptserver"-Konfiguration,
3187 die aus allen Definitionen außerhalb der Virtual-Host-Abschnitte
3188 besteht, für nicht passende IPs verwendet. (Beachten Sie jedoch,
3189 dass eine IP-Adressen die zu einer <directive
3190 module="core">NameVirtualHost</directive>-Anweisung passt, weder den
3191 "Hauptserver" noch den virtuellen Host <code>_default_</code> verwendet.
3192 Lesen Sie für weitere Details die Dokumentation zu <a
3193 href="../vhosts/name-based.html">namensbasierten virtuell Hosts</a>.)</p>
3195 <p>Sie können einen speziellen <code>:Port</code> angeben,
3196 um den entsprechenden Port zu wechseln. Falls nicht angegeben, wird
3197 er auf den gleichen Port voreingestellt, wie die letzte
3198 <directive module="mpm_common">Listen</directive>-Anweisung des
3199 Hauptservers. Sie können auch <code>:*</code> angeben, um alle
3200 Ports dieser Adresse zu akzeptieren. (Dies wird zusammen mit
3201 <code>_default_</code> empfohlen.)</p>
3203 <note type="warning"><title>Sicherheit</title>
3204 <p>Lesen Sie das Dokument <a
3205 href="../misc/security_tips.html">Sicherheitshinweise</a> für
3206 Details, warum Ihre Sicherheit gefährdet sein kann, wenn das
3207 Verzeichnis, in dem Protokolldateien gespeichert werden, für
3208 jemanden anderes als den Benutzer beschreibbar ist, der den Server
3212 <seealso><a href="../vhosts/">Apache-Dokumentation zu virtuellen
3214 <seealso><a href="../dns-caveats.html">Probleme bezüglich DNS und
3215 Apache</a></seealso>
3216 <seealso><a href="../bind.html">Bestimmen, welche Adressen und Ports
3217 der Apache verwendet</a></seealso>
3218 <seealso><a href="../sections.html">Wie die Abschnitte <Directory>,
3219 <Location> und <Files> arbeiten</a> für eine
3220 Erläuterung, wie diese verschiedenen Abschnitte miteinander
3221 kombiniert werden, wenn eine Anfrage empfangen wird</seealso>
3222 </directivesynopsis>