| <?xml version="1.0"?> |
| <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> |
| <?xml-stylesheet type="text/xsl" href="../style/manual.de.xsl"?> |
| <!-- English Revision: 151408:1805221 (outdated) --> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <modulesynopsis metafile="mpm_common.xml.meta"> |
| |
| <name>mpm_common</name> |
| <description>Eine Sammlung von Direktiven, die in mehr als einem |
| Multi-Processing-Modul (MPM) implementiert sind.</description> |
| <status>MPM</status> |
| |
| <directivesynopsis> |
| <name>AcceptMutex</name> |
| <description>Vom Apache verwendete Methode zur Serialisierung mehrerer |
| Kindprozesse, die Anfragen an Netzwerk-Sockets entgegennehmen.</description> |
| <syntax>AcceptMutex Default|<var>Methode</var></syntax> |
| <default>AcceptMutex Default</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>leader</module><module>perchild</module> |
| <module>prefork</module><module>threadpool</module><module>worker</module> |
| </modulelist> |
| |
| <usage> |
| <p>Die Direktive <directive>AcceptMutex</directive> bestimmt die |
| Methode, die der Apache zur Serialisierung mehrerer Kindprozesse |
| verwendet, welche Anfragen an Netzwerk-Sockets entgegennehmen. Vor |
| Apache 2.0 war diese Methode nur zur Kompilierungszeit einstellbar. |
| Die optimale Methode ist sehr stark von der Architektur und |
| Plattform abhängig. Lesen Sie bitte <a |
| href="../misc/perf-tuning.html">Perfomance-Hinweise</a> für |
| weitere Details.</p> |
| |
| <p>Wenn die Direktive auf <code>Default</code> eingestellt ist, dann |
| wird die zur Kompilierungszeit gewählte Voreinstellung verwendet. |
| Weitere mögliche Methoden sind unten angegeben. Beachten Sie, dass |
| nicht alle Methoden auf allen Plattformen verfügbar sind. Wird |
| eine Methode angegeben, die nicht verfügbar ist, dann wird |
| eine Nachricht in das Fehlerprotokoll geschrieben, welche die |
| verfügbaren Methoden auflistet.</p> |
| |
| <dl> |
| <dt><code>flock</code></dt> |
| <dd>verwendet die Systemfunktion <code>flock(2)</code>, um die |
| durch die <directive module="mpm_common" |
| >LockFile</directive>-Direktive definierte Datei zu sperren.</dd> |
| |
| <dt><code>fcntl</code></dt> |
| <dd>verwendet die Systemfunktion <code>fcntl(2)</code>, um die |
| durch die <directive module="mpm_common" |
| >LockFile</directive>-Direktive definierte Datei zu sperren.</dd> |
| |
| <dt><code>posixsem</code></dt> |
| <dd>verwendet POSIX-kompatible Semaphore, um den Mutex zu |
| implementieren.</dd> |
| |
| <dt><code>pthread</code></dt> |
| <dd>verwendet gemäß der POSIX-Thread-Spezifikation |
| implementierte POSIX-Mutexe.</dd> |
| |
| <dt><code>sysvsem</code></dt> |
| <dd>verwendet Semaphoren des SysV-Typs, um den Mutex zu |
| implementieren.</dd> |
| </dl> |
| |
| <p>Um die bei der Kompilierung gewählte Voreinstellung für |
| Ihr System herauszufinden, können Sie Ihr <directive module="core" |
| >LogLevel</directive> auf <code>debug</code> setzen. Dann wird der |
| voreingestellte <directive>AcceptMutex</directive> ins <directive |
| module="core">ErrorLog</directive> geschrieben.</p> |
| |
| <note type="warning"><title>Warnung</title> |
| <p>Auf den meisten Systemen stoppt der Server mit der Beantwortung von |
| Anfragen, wenn die Option <code>pthread</code> ausgewählt wurde und |
| ein Kindprozess unkontrolliert endet während er den |
| <code>AcceptCntl</code>-Mutex hält. In diesem Fall muss der Server |
| manuell neu gestartet werden, um wieder weiter zu arbeiten.</p> |
| <p>Eine Ausnahme stellt Solaris dar, da es einen Mechanismus anbietet, den |
| der Apache verwendet und der üblicherweise die Freigabe des Mutex |
| erlaubt, nachdem ein Kindprozess, der gerade einen Mutex hält, |
| abgestürzt ist.</p> |
| <p>Wenn Ihr System die Funktion |
| <code>pthread_mutexattr_setrobust_np()</code> bereitstellt, können |
| Sie wahrscheinlich die Option <code>pthread</code> problemlos |
| verwenden.</p> |
| </note> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>CoreDumpDirectory</name> |
| <description>Verzeichnis, in das der Apache zu wechseln versucht, bevor er |
| einen Hauptspeicherauszug erstellt</description> |
| <syntax>CoreDumpDirectory <var>Verzeichnis</var></syntax> |
| <default>Für die Voreinstellung siehe Beschreibung</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>beos</module><module>leader</module> |
| <module>mpm_winnt</module><module>perchild</module><module>prefork</module> |
| <module>threadpool</module><module>worker</module></modulelist> |
| |
| <usage> |
| <p>Dies beeinflusst das Verzeichnis, in welches der Apache zu wechseln |
| versucht, bevor er einen Hauptspeicherauszug <transnote>einen |
| so genannten Core-Dump</transnote> erstellt. Die Voreinstellung ist das |
| <directive module="core">ServerRoot</directive>-Verzeichnis. Da dieses |
| jedoch nicht für den Benutzer beschreibbar sein soll, unter dem |
| der Server läuft, werden normalerweise keine |
| Hauptspeicherauszüge geschrieben. Wenn Sie zum Debuggen |
| einen Hauptspeicherauszug haben möchten, können Sie |
| ihn mit dieser Direktive an einem anderen Ort ablegen lassen.</p> |
| |
| <note><title>Hauptspeicherauszüge unter Linux</title> |
| <p>Wenn Apache als <code>root</code> startet und zu einem anderen Benutzer |
| wechselt, <em>deaktiviert</em> der Linux-Kernel Hauptspeicherauszüge |
| auch dann, wenn der Prozess in dem Verzeichnis schreiben darf. Ab Linux |
| 2.4 reaktiviert Apache (ab 2.0.46) Hauptspeicherauszüge wieder, |
| jedoch nur dann, wenn Sie explizit |
| <directive>CoreDumpDirectory</directive> konfigurieren.</p> |
| </note> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>EnableExceptionHook</name> |
| <description>Aktiviert einen Hook, der nach einem Absturz noch |
| Ausnahmefehler behandeln lassen kann</description> |
| <syntax>EnableExceptionHook On|Off</syntax> |
| <default>EnableExceptionHook Off</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>leader</module><module>perchild</module> |
| <module>prefork</module><module>threadpool</module> |
| <module>worker</module></modulelist> |
| <compatibility>Verfügbar seit Version 2.0.49</compatibility> |
| |
| <usage> |
| <p>Diese Direktive ist aus Sicherheitsgründen nur verfügbar, |
| wenn der Server mit der Option <code>--enable-exception-hook</code> |
| konfiguriert wurde. Sie aktiviert einen Hook, der es externen Modulen |
| erlaubt, sich dort einzuhängen und nach dem Absturz eines |
| Kindprozesses noch Aktionen durchzuführen.</p> |
| |
| <p>Es existieren bereits zwei Module, <code>mod_whatkilledus</code> und |
| <code>mod_backtrace</code>, welche diesen Hook verwenden. Weitere |
| Informationen hierzu finden Sie auf Jeff Trawicks <a |
| href="http://www.apache.org/~trawick/exception_hook.html" |
| >EnableExceptionHook-Seite</a>.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>Group</name> |
| <description>Benutzergruppe, unter welcher der Server Anfragen |
| beantwortet</description> |
| <syntax>Group <var>Unix-Gruppe</var></syntax> |
| <default>Group #-1</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>beos</module><module>leader</module> |
| <module>mpmt_os2</module><module>perchild</module><module>prefork</module> |
| <module>threadpool</module><module>worker</module></modulelist> |
| <compatibility>Seit Apache 2.0 nur in der globalen Server-Konfiguration |
| gültig</compatibility> |
| |
| <usage> |
| <p>Die Direktive <directive>Group</directive> bestimmt die |
| Benutzergruppe, unter welcher der Server Anfragen beantwortet. |
| Um diese Direktive zu verwenden, muss der Server als <code>root</code> gestartet |
| werden. Wenn Sie den Server unter einem nicht-root-Benutzer starten, |
| wird er nicht zur angegebenen Gruppe wechseln können und statt |
| dessen weiter mit der Gruppe des ursprünglichen Benutzers |
| laufen. <var>Unix-Gruppe</var> kann sein:</p> |
| |
| <dl> |
| <dt>Ein Gruppenname</dt> |
| <dd>Verweist auf die durch den Namen angegebene Gruppe.</dd> |
| |
| <dt><code>#</code> gefolgt von einer Gruppennummer.</dt> |
| <dd>Verweist auf die durch ihre Nummer angegebene Gruppe.</dd> |
| </dl> |
| |
| <example><title>Beispiel</title> |
| Group www-group |
| </example> |
| |
| <p>Es wird empfohlen, dass Sie eine neue Gruppe speziell zum Betrieb |
| des Servers erstellen. Einige Administratoren verwenden den Benutzer |
| <code>nobody</code>. Dies ist jedoch nicht immer möglich |
| oder gewünscht.</p> |
| |
| <note type="warning"><title>Sicherheit</title> |
| <p>Setzen Sie <directive>Group</directive> (oder <directive |
| module="mpm_common">User</directive>) nicht auf <code>root</code>, |
| solange Sie nicht ganz genau wissen, was Sie tun und welche Gefahren |
| Sie eingehen.</p> |
| </note> |
| |
| <p>Wichtiger Hinweis: Die Verwendung der Direktive innerhalb von |
| <directive module="core" type="section">VirtualHost</directive> |
| wird nicht länger unterstützt. Benutzen Sie <directive |
| module="mod_suexec">SuexecUserGroup</directive> um Ihren Server |
| für <program>suexec</program> einzurichten.</p> |
| |
| <note><title>Anmerkung</title> |
| <p>Obwohl die Direktive <directive>Group</directive> in den MPMs |
| <module>beos</module> und <module>mpmt_os2</module> existiert, ist |
| sie dort tatsächlich eine Leeranweisung und exisitert nur |
| aus Kompatibilitätsgründen.</p> |
| </note> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>PidFile</name> |
| <description>Datei, in welcher der Server die Prozess-ID des Daemons |
| ablegt</description> |
| <syntax>PidFile <var>Dateiname</var></syntax> |
| <default>PidFile logs/httpd.pid</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>beos</module><module>leader</module> |
| <module>mpm_winnt</module><module>mpmt_os2</module> |
| <module>perchild</module><module>prefork</module> |
| <module>threadpool</module><module>worker</module></modulelist> |
| |
| <usage> |
| <p>Die Direktive <directive>PidFile</directive> bestimmt die Datei, |
| in welcher der Server die Prozess-ID des Daemons ablegt. Wenn der |
| Dateiname nicht absolut angegeben wird, wird er relativ zu |
| <directive module="core">ServerRoot</directive> interpretiert.</p> |
| |
| <example><title>Beispiel</title> |
| PidFile /var/run/apache.pid |
| </example> |
| |
| <p>Es ist oft hilfreich, dem Server ein Signal senden zu können, |
| damit er seine <directive module="core">ErrorLog</directive>s und |
| <directive module="mod_log_config">TransferLog</directive>s |
| schließt und dann neu öffnet und seine |
| Konfigurationsdateien neu einliest. Dies kann durch Senden eines |
| SIGHUP-Signals (kill -1) an die Prozess-ID geschehen, die im |
| <directive>PidFile</directive> eingetragen ist.</p> |
| |
| <p>Die <directive>PidFile</directive>-Datei unterliegt den |
| gleichen Warnungen über die Ablage von Protokolldateien |
| und <a href="../misc/security_tips.html#serverroot">Sicherheit</a>.</p> |
| |
| <note><title>Anmerkung</title> |
| <p>Ab Apache 2 wird empfohlen, nur das Skript <program> |
| apachectl</program> zum (Neu-)Starten und Stoppen des Servers zu |
| verwenden.</p> |
| </note> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>Listen</name> |
| <description>IP-Adressen und Ports, an denen der Server lauscht</description> |
| <syntax>Listen [<var>IP-Addresse</var>:]<var>Port</var></syntax> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>beos</module><module>leader</module> |
| <module>mpm_netware</module><module>mpm_winnt</module> |
| <module>mpmt_os2</module><module>perchild</module> |
| <module>prefork</module><module>threadpool</module><module>worker</module> |
| </modulelist> |
| <compatibility>Seit Apache 2.0 vorgeschrieben</compatibility> |
| |
| <usage> |
| <p>Die Direktive <directive>Listen</directive> weist den Apache an, |
| nur an den angegebenen IP-Adressen oder Ports zu lauschen. |
| Standardmäßig antwortet er auf alle Anfragen an allen |
| IP-Interfaces. <directive>Listen</directive> ist nun eine notwendige |
| Anweisung. Wenn sie nicht in der Konfigurationsdatei enthalten ist, |
| wird der Server-Start fehlschlagen. Dies ist eine Änderung |
| gegenüber früheren Versionen des Apache.</p> |
| |
| <p>Die Direktive <directive>Listen</directive> weist den Server an, |
| ankommende Anfragen am angegebenen Port oder der |
| Kombination aus Adresse und Port entgegenzunehmen. Wenn nur eine Portnummer |
| angegeben ist, dann lauscht der Server am angegebenen Port an allen |
| Interfaces. Wenn sowohl eine IP-Adresse als auch ein Port angegeben |
| sind, dann lauscht der Server am angegeben Port und Interface.</p> |
| |
| <p>Es können mehrere <directive>Listen</directive>-Anweisungen |
| verwendet werden, um eine Reihe von Adressen und Port anzugeben, an |
| denen gelauscht werden soll. Der Server antwortet auf Anfragen von |
| jedem der aufgeführten Adressen und Ports.</p> |
| |
| <p>Um beispielsweise den Server Verbindungen an den beiden Ports 80 und |
| 8000 annehmen zu lassen, verwenden Sie:</p> |
| |
| <example> |
| Listen 80<br /> |
| Listen 8000 |
| </example> |
| |
| <p>Um den Server Verbindungen an zwei angegebenen Interfaces und Ports |
| annehmen zu lassen, verwenden Sie:</p> |
| |
| <example> |
| Listen 192.170.2.1:80<br /> |
| Listen 192.170.2.5:8000 |
| </example> |
| |
| <p>IPv6-Adressen müssen wie in dem folgenden Beispiel in eckige |
| Klammern eingeschlossen werden:</p> |
| |
| <example> |
| Listen [2001:db8::a00:20ff:fea7:ccea]:80 |
| </example> |
| |
| <note><title>Fehlermöglichkeit</title> |
| Mehrere <directive>Listen</directive>-Direktiven für gleiche |
| IP-Adresse und Port führen zur Fehlermeldung |
| <code>Address already in use</code> <transnote>Adresse schon in |
| Benutzung</transnote>. |
| </note> |
| </usage> |
| <seealso><a href="../dns-caveats.html">DNS-Probleme</a></seealso> |
| <seealso><a href="../bind.html">Bestimmen, welche Adressen und Ports der |
| Apache verwendet</a></seealso> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>ListenBackLog</name> |
| <description>Maximale Länge der Warteschlange schwebender |
| Verbindungen</description> |
| <syntax>ListenBacklog <var>backlog</var></syntax> |
| <default>ListenBacklog 511</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>beos</module><module>leader</module> |
| <module>mpm_netware</module><module>mpm_winnt</module> |
| <module>mpmt_os2</module><module>perchild</module><module>prefork</module> |
| <module>threadpool</module><module>worker</module></modulelist> |
| |
| <usage> |
| <p>Die maximale Länge der Warteschlange schwebender Verbindungen. |
| Üblicherweise ist keine Feineinstellung notwendig oder sinnvoll, |
| auf einigen System kann es jedoch gewünscht sein, diesen Wert bei |
| TCP-SYN-Angriffen zu erhöhen. Beachten Sie auch die Beschreibung des |
| backlog-Parameters der Systemfunktion <code>listen(2)</code>.</p> |
| |
| <p>Der Wert wird vom Betriebssystem oft auf eine niedrigere |
| Einstellung begrenzt. Dies variiert von Betriebssystem zu Betriebssystem. |
| Beachten Sie auch, dass viele Betriebssyteme nicht genau beachten, |
| was für backlog angegeben ist, jedoch einen Wert basierend auf der |
| Angabe (normalerweiseweise jedoch größer als diese) verwenden.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>LockFile</name> |
| <description>Ablageort der Lock-Datei für die Serialisierung von |
| entgegengenommenen Anfragen</description> |
| <syntax>LockFile <var>Dateiname</var></syntax> |
| <default>LockFile logs/accept.lock</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>leader</module><module>perchild</module> |
| <module>prefork</module><module>threadpool</module><module>worker</module> |
| </modulelist> |
| |
| <usage> |
| <p>Die Direktive <directive>LockFile</directive> legt den Pfad zur |
| Lock-Datei fest, die verwendet wird, wenn der Apache mit einer der |
| <directive module="mpm_common">AcceptMutex</directive>-Einstellungen |
| <code>fcntl</code> oder <code>flock</code> verwendet wird. Die Anweisung |
| sollte normalerweise bei der Voreinstellung belassen werden. |
| Der Hauptgrund, sie zu ändern, ist, wenn das |
| <code>logs</code>-Verzeichnis auf einem per NFS-eingebundenen Laufwerk |
| liegt, da <strong>die Lock-Datei auf einer lokalen Platte abgelegt sein |
| muss</strong>. Die PID <transnote>Prozess-ID</transnote> des |
| Hauptserverprozesses wird automatisch an den Dateinamen angehängt.</p> |
| |
| <note type="warning"><title>Sicherheit</title> |
| <p>Es ist am besten, die Ablage in einem allgemein <transnote>für |
| jedermann</transnote> beschreibbaren |
| Verzeichnis wie <code>/var/tmp</code> <em>zu vermeiden</em>, da |
| ein Denial-of-Servide-Angriff gestartet werden könnte und der |
| Server am Start gehindert werden könnte, indem eine Lock-Datei |
| mit dem gleichen Namen erstellt wird, wie der Server sie zu erstellen |
| versuchen würde.</p> |
| </note> |
| </usage> |
| <seealso><directive module="mpm_common">AcceptMutex</directive></seealso> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>MaxClients</name> |
| <description>Maximale Anzahl der Kindprozesse, die zur Bedienung von Anfragen |
| gestartet wird</description> |
| <syntax>MaxClients <var>Anzahl</var></syntax> |
| <default>Für Details siehe Beschreibung</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>beos</module><module>leader</module> |
| <module>prefork</module><module>threadpool</module><module>worker</module> |
| </modulelist> |
| |
| <usage> |
| <p>Die Direktive <directive>MaxClients</directive> setzt die Grenze |
| für die Anzahl gleichzeitig bedienter Anfragen. Jeder |
| Verbindungsversuch oberhalb der <directive |
| >MaxClients</directive>-Begrenzung wird üblicherweise in eine |
| Warteschlange gestellt, bis zu einer Anzahl basierend auf der |
| <directive module="mpm_common">ListenBacklog</directive>-Anweisung. |
| Sobald ein Kindprozess am Ende einer anderen Anfrage freigegeben wird, |
| wird die Verbindung bedient.</p> |
| |
| <p>Für Server ohne Thread-Unterstützung (<em>z.B.</em> |
| <module>prefork</module>) wird <directive>MaxClients</directive> als |
| maximale Anzahl der Kindprozesse verstanden, die zur Bedienung von |
| Anfragen gestartet werden. Die Voreinstellung ist <code>256</code>. Um |
| diesen Wert zu erhöhen, muss auch <directive |
| module="mpm_common">ServerLimit</directive> angehoben werden.</p> |
| |
| <p>Bei Servern mit Thread-Unterstützung und bei Hybrid-Servern |
| (<em>z.B.</em> <module>beos</module> oder <module>worker</module>) |
| begrenzt <directive>MaxClients</directive> die Gesamtzahl der Threads, |
| die für die Bedienung von Anfragen verfügbar sind. |
| Die Voreinstellung für <module>beos</module> ist <code>50</code>. |
| Bei Hybrid-MPMs ist die Voreinstellung <code>16</code> (<directive |
| module="mpm_common">ServerLimit</directive>) multipliziert mit |
| dem Wert <code>25</code> (<directive module="mpm_common" |
| >ThreadsPerChild</directive>). Um <directive>MaxClients</directive> |
| auf einen Wert zu erhöhen, der mehr als 16 Prozesse erfordert, |
| müssen Sie daher auch <directive module="mpm_common" |
| >ServerLimit</directive> anheben.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>MaxMemFree</name> |
| <description>Maximale Menge des Arbeitsspeichers, den die |
| Haupt-Zuteilungsroutine verwalten darf, ohne <code>free()</code> |
| aufzurufen</description> |
| <syntax>MaxMemFree <var>KBytes</var></syntax> |
| <default>MaxMemFree 0</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>beos</module><module>leader</module> |
| <module>mpm_netware</module><module>prefork</module> |
| <module>threadpool</module><module>worker</module><module>mpm_winnt</module></modulelist> |
| |
| <usage> |
| <p>Die Direktive <directive>MaxMemFree</directive> gibt die maximale |
| Menge freier Kilobytes an, welche die Haupt-Zuteilungsroutine verwalten |
| darf, ohne <code>free()</code> aufzurufen. Wenn keine Angabe gemacht wird, |
| oder Null angegeben ist, wird dieser Wert nicht eingeschränkt.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>MaxRequestsPerChild</name> |
| <description>Obergrenze für die Anzahl von Anfragen, die ein einzelner |
| Kindprozess während seines Lebens bearbeitet</description> |
| <syntax>MaxRequestsPerChild <var>number</var></syntax> |
| <default>MaxRequestsPerChild 10000</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>leader</module><module>mpm_netware</module> |
| <module>mpm_winnt</module><module>mpmt_os2</module> |
| <module>perchild</module><module>prefork</module> |
| <module>threadpool</module><module>worker</module></modulelist> |
| |
| <usage> |
| <p>Die Direktive <directive>MaxRequestsPerChild</directive> legt die |
| Grenze für die Anzahl von Anfragen fest, die ein einzelner |
| Kinprozess während seines Lebens bearbeitet. Nach |
| <directive>MaxRequestsPerChild</directive> Anfragen stirbt der |
| Kindprozess. Wenn <directive>MaxRequestsPerChild</directive> |
| <code>0</code> ist, endet der Prozess niemals.</p> |
| |
| <note><title>Abweichende Voreinstellungen</title> |
| <p>Die Voreinstellung für <module>mpm_netware</module> und |
| <module>mpm_winnt</module> ist <code>0</code>.</p> |
| </note> |
| |
| <p>Die Begrenzung von <directive>MaxRequestsPerChild</directive> auf einen |
| Wert ungleich Null hat zwei vorteilhafte Auswirkungen:</p> |
| |
| <ul> |
| <li>sie begrenzt die Menge an Arbeitsspeicher, die ein Prozess |
| durch (versehentliche) Speicherlecks verbrauchen kann.</li> |
| |
| <li>das Festlegen einer endlichen Lebensdauer von Prozessen hilft, die |
| Anzahl von Prozessen zu reduzieren, wenn die Serverlast |
| zurückgeht.</li> |
| </ul> |
| |
| <note><title>Anmerkung</title> |
| <p>Bei <directive module="core">KeepAlive</directive>-Anfragen |
| wird nur die erste Anfrage für diese begrenzung gezählt. |
| Eigentlich wird nur die Begrenzung für die Anzahl der |
| <em>Verbindungen</em> pro Kindprozess geändert.</p> |
| </note> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>MaxSpareThreads</name> |
| <description>Maximale Anzahl unbeschäftigter Threads</description> |
| <syntax>MaxSpareThreads <var>Anzahl</var></syntax> |
| <default>Für Details siehe Beschreibung</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>beos</module><module>leader</module> |
| <module>mpm_netware</module><module>mpmt_os2</module> |
| <module>perchild</module><module>threadpool</module><module>worker</module> |
| </modulelist> |
| |
| <usage> |
| <p>Maximale Anzahl unbeschäftigter Threads. Die verschiedenen MPMs |
| behandeln diese Anweisung unterschiedlich.</p> |
| |
| <p>Die Voreinstellung für <module>perchild</module> ist |
| <code>MaxSpareThreads 10</code>. Das MPM überwacht die Anzahl der |
| unbeschäftigten Threads auf der Basis einzelner Kindprozesse. Wenn |
| zu viele unbeschäftigte Threads in einem Kindprozess existieren, |
| beendet der Server Threads innerhalb dieses Kindprozesses.</p> |
| |
| <p>Die Voreinstellung für <module>worker</module>, |
| <module>leader</module> und <module>threadpool</module> ist |
| <code>MaxSpareThreads 250</code>. Diese MPMs behandeln Threads |
| auf einer serverweiten Basis. Wenn zu viele unbeschäftigte Threads |
| im Server existieren, dann werden solange Kindprozesse beendet, bis |
| die Anzahl der unbeschäftigten Threads kleiner als der |
| angegebene Wert ist.</p> |
| |
| <p>Die Voreinstellung für <module>mpm_netware</module> ist |
| <code>MaxSpareThreads 100</code>. Da dieses MPM nur einen einzigen |
| Prozess ausführt, ist die Zählung überschüssiger |
| Threads ebenfalls serverweit.</p> |
| |
| <p><module>beos</module> and <module>mpmt_os2</module> arbeiten |
| ähnlich wie <module>mpm_netware</module>. Die Voreinstellung |
| für <module>beos</module> ist <code>MaxSpareThreads 50</code>. |
| Die Voreinstellung für <module>mpmt_os2</module> ist |
| <code>10</code>.</p> |
| |
| <note><title>Restriktionen</title> |
| <p>Der Wertebereich von <directive>MaxSpareThreads</directive> |
| ist eingeschränkt. Apache korrigiert den angegebenen Wert |
| automatisch gemäß den folgenden Regeln:</p> |
| <ul> |
| <li><module>perchild</module> verlangt, dass <directive |
| >MaxSpareThreads</directive> kleiner oder gleich <directive |
| module="mpm_common">ThreadLimit</directive> ist.</li> |
| |
| <li><module>mpm_netware</module> verlangt einen Wert größer |
| als <directive module="mpm_common">MinSpareThreads</directive>.</li> |
| |
| <li>Bei <module>leader</module>, <module>threadpool</module> und |
| <module>worker</module> muss der Wert größer oder gleich |
| der Summe aus <directive |
| module="mpm_common">MinSpareThreads</directive> und |
| <directive module="mpm_common">ThreadsPerChild</directive> sein.</li> |
| </ul> |
| </note> |
| </usage> |
| <seealso><directive module="mpm_common">MinSpareThreads</directive></seealso> |
| <seealso><directive module="mpm_common">StartServers</directive></seealso> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>MinSpareThreads</name> |
| <description>Minimale Anzahl unbeschäftigter Threads, die zur |
| Bedienung von Anfragespitzen zur Verfügung stehen</description> |
| <syntax>MinSpareThreads <var>Anzahl</var></syntax> |
| <default>Für Details siehe Beschreibung</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>beos</module><module>leader</module> |
| <module>mpm_netware</module><module>mpmt_os2</module> |
| <module>perchild</module><module>threadpool</module><module>worker</module> |
| </modulelist> |
| |
| <usage> |
| <p>Minimale Anzahl unbeschäftigter Threads, um Anfragespitzen |
| zu bedienen. Die verschiedenen MPMs behandeln die Anweisung |
| unterschiedlich.</p> |
| |
| <p><module>perchild</module> verwendet die Voreinstellung |
| <code>MinSpareThreads 5</code> und überwacht die Anzahl der |
| unbeschäftigten Threads auf der Basis einzelner Kindprozesse. Wenn |
| in einem Kindprozess nicht genügend unbeschäftigte |
| Threads vorhanden sind, erstellt der Server neue Threads innerhalb |
| dieses Kindprozesses. Wenn Sie also <directive module="perchild" |
| >NumServers</directive> auf <code>10</code> und <directive |
| >MinSpareThreads</directive> auf einen Wert von <code>5</code> setzen, |
| haben Sie mindestens 50 unbeschäftigte Threads auf Ihrem |
| System.</p> |
| |
| <p><module>worker</module>, <module>leader</module> und |
| <module>threadpool</module> verwenden eine Voreinstellung von |
| <code>MinSpareThreads 75</code> und behandeln unbeschäftigte |
| Threads auf serverweiter Basis. Wenn nicht genügend |
| unbeschäftigte Threads im Server vorhanden sind, dann |
| werden solange Kindprozesse erzeugt, bis die Anzahl unbeschäftigter |
| Threads größer als der angegebene Wert ist.</p> |
| |
| <p><module>mpm_netware</module> verwendet die Voreinstellung |
| <code>MinSpareThreads 10</code> und verfolgt dies serverweit, da |
| es ein Einzelprozess-MPM ist.</p> |
| |
| <p><module>beos</module> und <module>mpmt_os2</module> arbeiten |
| ähnlich wie <module>mpm_netware</module>. Die Voreinstellung |
| für <module>beos</module> ist <code>MinSpareThreads 1</code>. |
| Die Voreinstellung für <module>mpmt_os2</module> ist |
| <code>5</code>.</p> |
| |
| </usage> |
| <seealso><directive module="mpm_common">MaxSpareThreads</directive></seealso> |
| <seealso><directive module="mpm_common">StartServers</directive></seealso> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>ScoreBoardFile</name> |
| <description>Ablageort der Datei, die zur Speicherung von Daten zur |
| Koordinierung der Kindprozesse verwendet wird</description> |
| <syntax>ScoreBoardFile <var>Dateipfad</var></syntax> |
| <default>ScoreBoardFile logs/apache_status</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>beos</module><module>leader</module> |
| <module>mpm_winnt</module><module>perchild</module><module>prefork</module> |
| <module>threadpool</module><module>worker</module></modulelist> |
| |
| <usage> |
| <p>Apache verwendet ein Scoreboard zur Kommunikation zwischen |
| seinen Eltern- und Kindprozessen. Einige Architekturen erfordern |
| eine Datei zur Unterstützung der Kommunikation. Wenn die Datei |
| undefiniert bleibt, versucht der Apache zuerst, das Scoreboard im |
| Arbeitsspeicher zu erstellen (Verwendung von anonymem Shared-Memory), |
| und versucht bei einem Fehlschlag anschließend die Datei auf |
| der Festplatte zu erstellen (Verwendung von Datei-basiertem |
| Shared-Memory). Die Angabe dieser Direktive veranlaßt den |
| Apache stets, die Datei auf der Festplatte zu erstellen.</p> |
| |
| <example><title>Beispiel</title> |
| ScoreBoardFile /var/run/apache_status |
| </example> |
| |
| <p>Datei-basiertes Shared-Memory ist für Applikationen von |
| Drittanbietern hilfreich, die direkten Zugriff auf das Scoreboard |
| benötigen.</p> |
| |
| <p>Wenn Sie eine <directive>ScoreBoardFile</directive>-Anweisung |
| verwenden, erreichen Sie eventuell eine höhere Geschwindigkeit, wenn |
| Sie die Datei auf einer RAM-Disk ablegen. Achten Sie darauf, die |
| gleichen Warnungen wie über die Ablage von Protokolldateien und |
| <a href="../misc/security_tips.html">Sicherheit</a> zu beherzigen.</p> |
| </usage> |
| <seealso><a href="../stopping.html">Apache beenden und neu |
| starten</a></seealso> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>SendBufferSize</name> |
| <description>Größe des TCP-Puffers</description> |
| <syntax>SendBufferSize <var>Bytes</var></syntax> |
| <default>SendBufferSize 0</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>beos</module><module>leader</module> |
| <module>mpm_netware</module><module>mpm_winnt</module> |
| <module>mpmt_os2</module><module>perchild</module><module>prefork</module> |
| <module>threadpool</module><module>worker</module></modulelist> |
| |
| <usage> |
| <p>Der Server setzt die Größe des TCP-Puffers auf die |
| angegebene Anzahl Bytes. Dies ist sehr hilfreich, um Voreinstellungen |
| alter Standardbetriebssysteme für Hochgeschwindigkeitsverbindungen |
| mit hoher Latenzzeit anzuheben (<em>d.h.</em> 100ms oder so, wie bei |
| Interkontinentalverbindungen).</p> |
| |
| <p>Wird der Wert auf <code>0</code> gesetzt, dann verwendet der Server |
| die Voreinstellung des Betriebssystems.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>ServerLimit</name> |
| <description>Obergrenze für die konfigurierbare Anzahl von |
| Prozessen</description> |
| <syntax>ServerLimit <var>Anzahl</var></syntax> |
| <default>Für Details siehe Beschreibung</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>leader</module><module>perchild</module> |
| <module>prefork</module><module>threadpool</module><module>worker</module> |
| </modulelist> |
| |
| <usage> |
| <p>Bei dem MPM <module>prefork</module> bestimmt die Direktive |
| den während der Lebensdauer des Apache-Prozesses maximal |
| einstellbaren Wert für <directive |
| module="mpm_common">MaxClients</directive>. Beim MPM |
| <module>worker</module> bestimmt die Direktive in Verbindung mit |
| <directive module="mpm_common">ThreadLimit</directive> den Maximalwert |
| für <directive module="mpm_common">MaxClients</directive> |
| für die Lebensdauer des Apache-Prozesses. Jeder Versuch, diese |
| Anweisung während eines Neustarts zu ändern, wird ignoriert. |
| <directive module="mpm_common">MaxClients</directive> kann jedoch |
| während eines Neustarts geändert werden.</p> |
| |
| <p>Lassen Sie besondere Vorsicht bei der Verwendung dieser Direktive |
| walten. Wenn <directive>ServerLimit</directive> auf einen Wert deutlich |
| höher als notwendig gesetzt wird, wird zusätzliches, |
| unbenutztes Shared-Memory belegt. Wenn sowohl |
| <directive>ServerLimit</directive> als auch <directive |
| module="mpm_common">MaxClients</directive> auf Werte gesetzt werden, die |
| größer sind, als das System sie handhaben kann, dann kann |
| der Apache möglicherweise nicht starten, oder das System kann |
| instabil werden.</p> |
| |
| <p>Verwenden Sie die Direktive bei dem MPM <module>prefork</module> |
| nur, wenn Sie <directive module="mpm_common">MaxClients</directive> |
| auf mehr als 256 (Voreinstellung) setzen müssen. Setzen Sie den |
| Wert nicht höher als den Wert, den Sie für <directive |
| module="mpm_common">MaxClients</directive> angeben möchten.</p> |
| |
| <p>Verwenden Sie die Direktive bei <module>worker</module>, |
| <module>leader</module> und <module>threadpool</module> nur, wenn Ihre |
| <directive module="mpm_common">MaxClients</directive>- und |
| <directive module="mpm_common">ThreadsPerChild</directive>-Einstellungen |
| mehr als 16 Serverprozesse (Voreinstellung) erfordern. Setzen Sie den |
| Wert dieser Direktive nicht höher, als die Anzahl der Serverprozesse, |
| die dafür erforderlich ist, was Sie bei <directive |
| module="mpm_common">MaxClients</directive> und |
| <directive module="mpm_common">ThreadsPerChild</directive> angeben |
| möchten.</p> |
| |
| <p>Verwenden Sie die Direktive beim MPM <module>perchild</module> nur, |
| wenn Sie <directive module="perchild">NumServers</directive> auf einen |
| Wert größer als 8 (Voreinstellung) setzen müssen.</p> |
| |
| <note><title>Anmerkung</title> |
| <p>Eine feste Begrenzung von <code>ServerLimit 20000</code> ist in den |
| Server einkompiliert (bei dem MPM <module>prefork</module> 200000). |
| Dies soll unangenehme Effekte durch Tippfehler verhindern.</p> |
| </note> |
| </usage> |
| <seealso><a href="../stopping.html">Apache beenden und neu |
| starten</a></seealso> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>StartServers</name> |
| <description>Anzahl der Kindprozesse des Servers, die beim Start erstellt |
| werden</description> |
| <syntax>StartServers <var>Anzahl</var></syntax> |
| <default>Für Details siehe Beschreibung</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>leader</module><module>mpmt_os2</module> |
| <module>prefork</module><module>threadpool</module><module>worker</module> |
| </modulelist> |
| |
| <usage> |
| <p>Die Direktive <directive>StartServers</directive> bestimmt |
| die Anzahl der Kindprozesse des Servers, die beim Start erstellt |
| werden. Da die Anzahl der Prozesse abhängig von der Last |
| dynamisch kontrolliert wird, besteht normalerweise wenig |
| Grund für eine Änderung dieses Parameters.</p> |
| |
| <p>Die Voreinstellung unterscheidet sich von MPM zu MPM. Bei |
| <module>leader</module>, <module>threadpool</module> und |
| <module>worker</module> ist die Voreinstellung |
| <code>StartServers 3</code>. Die Voreinstellung bei |
| <module>prefork</module> ist <code>5</code> und bei |
| <module>mpmt_os2</module> <code>2</code>.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>StartThreads</name> |
| <description>Anzahl der Threads, die beim Start erstellt werden</description> |
| <syntax>StartThreads <var>Anzahl</var></syntax> |
| <default>Für Details siehe Beschreibung</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>beos</module><module>mpm_netware</module> |
| <module>perchild</module></modulelist> |
| |
| <usage> |
| <p>Anzahl der Threads, die beim Start erstellt werden. Da die Anzahl |
| der Threads abhängig von der Last dynamisch kontrolliert wird, |
| besteht normalerweise wenig Grund für eine Änderung |
| dieses Parameters.</p> |
| |
| <p>Die Voreinstellung für <module>perchild</module> ist |
| <code>StartThreads 5</code>. Die Direktive setzt während des |
| Starts die Anzahl der Threads pro Prozess.</p> |
| |
| <p>Die Voreinstellung bei <module>mpm_netware</module> ist |
| <code>StartThreads 50</code>. Da hier lediglich ein einzelner Prozess |
| existiert, ist dies die Gesamtzahl der Threads, die beim Start |
| erstellt wird, um Anfragen zu bedienen.</p> |
| |
| <p>Die Voreinstellung für <module>beos</module> ist <code>StartThreads |
| 10</code>. Die Einstellung reflektiert ebenfalls die Gesamtzahl der Threads, die |
| beim Start erstellt werden, um Anfragen zu bedienen.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>ThreadLimit</name> |
| <description>Bestimmt die Obergrenze der konfigurierbaren Anzahl von Threads |
| pro Kindprozess</description> |
| <syntax>ThreadLimit <var>Anzahl</var></syntax> |
| <default>Für Details siehe Beschreibung</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>leader</module><module>mpm_winnt</module> |
| <module>perchild</module><module>threadpool</module><module>worker</module> |
| </modulelist> |
| <compatibility>Verfügbar für <module>mpm_winnt</module> ab |
| Apache 2.0.41</compatibility> |
| |
| <usage> |
| <p>Die Direktive bestimmt den während der Lebensdauer des |
| Apache-Prozesses maximal einstellbaren Wert für |
| <directive module="mpm_common">ThreadsPerChild</directive>. Jeder |
| Versuch, diese Direktive während eines Neustarts zu ändern, |
| wird ignoriert. <directive module="mpm_common">ThreadsPerChild</directive> |
| kann jedoch während eines Neustarts modifiziert werden bis zu dem |
| Wert dieser Anweisung.</p> |
| |
| <p>Lassen Sie besondere Vorsicht bei der Verwendung dieser Direktive |
| walten. Wenn <directive>ThreadLimit</directive> auf einen Wert |
| deutlich höher als <directive |
| module="mpm_common">ThreadsPerChild</directive> gesetzt wird, wird |
| zusätzliches, ungenutztes Shared-Memory belegt. Wenn sowohl |
| <directive>ThreadLimit</directive> als auch <directive |
| module="mpm_common">ThreadsPerChild</directive> auf Werte gesetzt werden, |
| die größer sind, als das System sie handhaben kann, dann kann |
| der Apache möglicherweise nicht starten oder das System kann |
| instabil werden. Setzen Sie den Wert dieser Direktive nicht höher |
| als Ihre größte erwartete Einstellung für |
| <directive module="mpm_common">ThreadsPerChild</directive> |
| während der aktuellen Ausführung des Apache.</p> |
| |
| <p>Die Voreinstellung für <directive>ThreadLimit</directive> ist |
| <code>1920</code> wenn sie zusammen mit <module>mpm_winnt</module> |
| verwendet wird, und <code>64</code> bei der Verwendung mit anderen |
| MPMs.</p> |
| |
| <note><title>Anmerkung</title> |
| <p>Eine feste Begrenzung von <code>ThreadLimit 20000</code> |
| (oder <code>ThreadLimit 15000</code> bei <module>mpm_winnt</module>) |
| ist in den Server einkompiliert. Dies soll unangenehme Effekte durch |
| Tippfehler verhindern.</p> |
| </note> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>ThreadsPerChild</name> |
| <description>Anzahl der Threads, die mit jedem Kindprozess gestartet |
| werden</description> |
| <syntax>ThreadsPerChild <var>Anzahl</var></syntax> |
| <default>Für Details siehe Beschreibung</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>leader</module><module>mpm_winnt</module> |
| <module>threadpool</module><module>worker</module></modulelist> |
| |
| <usage> |
| <p>Die Direktive legt die Anzahl der Threads fest, die mit jedem |
| Kindprozess gestartet werden. Der Kindprozess erstellt diese Threads |
| beim Start und erstellt später keine weiteren mehr. Wenn Sie ein |
| MPM wie <module>mpm_winnt</module> verwenden, wo nur ein |
| Kindprozess existiert, dann sollte diese Angabe hoch genug sein, |
| die gesamte Last des Servers zu bewältigen. Wenn Sie ein MPM |
| wie <module>worker</module> verwenden, wo mehrere Kindprozesse |
| existieren, dann sollte die <em>Gesamt</em>zahl der Thread groß |
| genug sein, die übliche Last auf dem Server zu bewältigen.</p> |
| |
| <p>Die Voreinstellung für <directive>ThreadsPerChild</directive> ist |
| <code>64</code>, wenn <module>mpm_winnt</module> verwendet wird, und |
| <code>25</code> bei der Verwendung der anderen MPMs.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>ThreadStackSize</name> |
| <description>Die Größe des Stacks in Bytes, der von Threads |
| verwendet wird, die Client-Verbindungen bearbeiten.</description> |
| <syntax>ThreadStackSize <var>size</var></syntax> |
| <default>65536 unter NetWare; variiert bei anderen Betriebssystemen.</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>leader</module><module>mpm_netware</module> |
| <module>mpm_winnt</module><module>perchild</module> |
| <module>threadpool</module><module>worker</module> |
| </modulelist> |
| <compatibility>Verfügbar seit Version 2.1</compatibility> |
| |
| <usage> |
| <p>Die Direktive <directive>ThreadStackSize</directive> legt die |
| Größe des Stacks (für Autodaten) der Threads fest, die |
| Client-Verbindungen bearbeiten und Module aufrufen, welche bei der |
| Verarbeitung dieser Verbindungen helfen. In den meisten Fällen ist die |
| Voreinstellung des Betriebssystems angemessen, doch unter bestimmten |
| Umständen kann es sinnvoll sein, den Wert anzupassen:</p> |
| |
| <ul> |
| <li>Auf Plattformen mit einer relativ kleinen Voreingestellung für |
| die Größe des Thread-Stacks (z.B. HP-UX) kann der Apache bei |
| der Verwendung einiger Drittanbietermodule, die einen relativ hohen Bedarf |
| an Speicherplatz haben, abstürzen. Ebendiese Module arbeiten |
| möglicherweise problemlos auf anderen Plattformen, wo der |
| voreingestellte Thread-Stack größer ist. Derartige |
| Abstürze können Sie vermeiden, indem Sie |
| <directive>ThreadStackSize</directive> auf einen höheren Wert als die |
| Betriebssystemvoreinstellung setzen. Eine solche Anpassung ist nur |
| notwendig, wenn es vom Anbieter des Moduls so spezifiziert wurde oder die |
| Diagnose eines Apache-Absturzes ergeben hat, das die |
| Thread-Stackgröße zu klein war.</li> |
| |
| <li>Auf Plattformen, wo die voreingestellte Thread-Stackgröße |
| für die Webserverkonfiguration deutlich größer als |
| notwendig ist, kann eine größere Anzahl von Threads pro |
| Kindprozess erreicht werden, wenn <directive>ThreadStackSize</directive> |
| auf einen Wert kleiner als die Betriebssystemvoreinstellung gesetzt wird. |
| Da es einzelne Anfragen geben kann, die mehr Stack zur Verarbeitung |
| benötigen, sollte eine derartige Korrektur ausschließlich in |
| Testumgebungen zum Einsatz kommen, auf denen die gesamte |
| Webserververarbeitung ausprobiert werden kann. Eine Änderung der |
| Webserverkonfiguration kann den aktuellen Wert der |
| <directive>ThreadStackSize</directive> ungültig machen.</li> |
| </ul> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>User</name> |
| <description>Die Benutzerkennung, unter welcher der Server Anfragen |
| beantwortet</description> |
| <syntax>User <var>Unix-User-ID</var></syntax> |
| <default>User #-1</default> |
| <contextlist><context>server config</context></contextlist> |
| <modulelist><module>leader</module><module>perchild</module> |
| <module>prefork</module><module>threadpool</module><module>worker</module> |
| </modulelist> |
| <compatibility>Seit Apache 2.0 nur in der globalen Server-Konfiguration |
| gültig</compatibility> |
| |
| <usage> |
| <p>Die Direktive <directive>User</directive> legt die Benutzerkennung |
| fest, mit der der Server Anfragen beantwortet. Um diese Anweisung |
| zu verwenden, muss der Server als <code>root</code> gestartet werden. |
| Wenn Sie den Server unter einem nicht-root-Benutzer starten, kann |
| er nicht zu dem minder privilegierten Benutzer wechseln und wird statt |
| dessen weiter mit der ursprünglichen Benutzerkennung laufen. |
| Wenn Sie den Server als <code>root</code> starten, dann ist es normal, |
| dass der Elternprozess als root weiterläuft. |
| <var>Unix-User-ID</var> kann sein:</p> |
| |
| <dl> |
| <dt>Ein Benutzername</dt> |
| <dd>Verweist auf den durch Namen angegebenen Benutzer.</dd> |
| |
| <dt># gefolgt von einer Benutzernummer.</dt> |
| <dd>Verweist auf einen durch eine Nummer angegebenen Benutzer.</dd> |
| </dl> |
| |
| <p>Der Benutzer sollte keine Rechte besitzen, die dazu führen, |
| dass er in der Lage ist, auf Dateien zuzugreifen, die nicht dafür |
| bestimmt sind, für die Außenwelt sichtbar zu sein. |
| Gleichermaßen sollte der Benutzer nicht in der Lage sein, |
| Code auszuführen, der nicht für HTTP-Anfragen bestimmt ist. |
| Es wird empfohlen, einen neuen Benutzer und eine neue Gruppe speziell |
| zur Ausführung des Servers zu erstellen. Einige Administratoren |
| verwenden den Benutzer <code>nobody</code>. Dies ist jedoch nicht |
| immer wünschenswert, da der Benuter <code>nobody</code> andere |
| Rechte auf dem System besitzen kann.</p> |
| |
| <note type="warning"><title>Sicherheit</title> |
| <p>Setzen Sie <directive>User</directive> (oder <directive |
| module="mpm_common">Group</directive>) nicht auf <code>root</code>, |
| solange Sie nicht genau wissen, was Sie tun, und welches die Gefahren |
| sind.</p> |
| </note> |
| |
| <p>Beim MPM <module>perchild</module>, das dafür gedacht ist, |
| virtuelle Hosts unter verschiedenen Benutzerkennungen auszuführen, |
| bestimmt die Direktive <directive>User</directive> die |
| Benutzerkennung für den Hauptserver und bildet den Rückfallwert |
| für <directive type="section" |
| module="core">VirtualHost</directive>-Abschnitte ohne eine |
| <directive module="perchild">AssignUserID</directive>-Anweisung.</p> |
| |
| <p>Wichtiger Hinweis: Die Verwendung dieser Direktive innerhalb von |
| <directive module="core" type="section">VirtualHost</directive> wird |
| nicht mehr unterstützt. Benutzen Sie <directive |
| module="mod_suexec">SuexecUserGroup</directive>, um Ihren Server |
| für <program>suexec</program> einzurichten.</p> |
| |
| <note><title>Anmerkung</title> |
| <p>Obwohl die Direktive <directive>User</directive> in den MPMs |
| <module>beos</module> und <module>mpmt_os2</module> existiert, ist |
| sie dort tatsächlich eine Leeranweisung und exisitert nur |
| aus Kompatibilitätsgründen.</p> |
| </note> |
| </usage> |
| </directivesynopsis> |
| |
| </modulesynopsis> |