]> granicus.if.org Git - apache/blob - docs/manual/server-wide.xml
Documentation rebuild
[apache] / docs / manual / server-wide.xml
1 <?xml version='1.0' encoding='UTF-8' ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.en.xsl"?>
4 <!-- $LastChangedRevision$ -->
5
6 <!--
7  Licensed to the Apache Software Foundation (ASF) under one or more
8  contributor license agreements.  See the NOTICE file distributed with
9  this work for additional information regarding copyright ownership.
10  The ASF licenses this file to You under the Apache License, Version 2.0
11  (the "License"); you may not use this file except in compliance with
12  the License.  You may obtain a copy of the License at
13
14      http://www.apache.org/licenses/LICENSE-2.0
15
16  Unless required by applicable law or agreed to in writing, software
17  distributed under the License is distributed on an "AS IS" BASIS,
18  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  See the License for the specific language governing permissions and
20  limitations under the License.
21 -->
22
23 <manualpage metafile="server-wide.xml.meta">
24
25   <title>Server-Wide Configuration</title>
26
27 <summary>
28 <p>This document explains some of the directives provided by
29 the <module>core</module> server which are used to configure
30 the basic operations of the server.</p>
31 </summary>
32
33   <section id="identification">
34     <title>Server Identification</title>
35
36     <related>
37       <directivelist>
38         <directive module="core">ServerName</directive>
39         <directive module="core">ServerAdmin</directive>
40         <directive module="core">ServerSignature</directive>
41         <directive module="core">ServerTokens</directive>
42         <directive module="core">UseCanonicalName</directive>
43         <directive module="core">UseCanonicalPhysicalPort</directive>
44       </directivelist>
45     </related>
46
47     <p>The <directive module="core">ServerAdmin</directive> and
48     <directive module="core">ServerTokens</directive> directives
49     control what information about the server will be presented
50     in server-generated documents such as error messages. The
51     <directive module="core">ServerTokens</directive> directive
52     sets the value of the Server HTTP response header field.</p>
53
54     <p>The <directive module="core">ServerName</directive>,
55     <directive module="core">UseCanonicalName</directive> and
56     <directive module="core">UseCanonicalPhysicalPort</directive>
57     directives are used by the server to determine how to construct
58     self-referential URLs. For example, when a client requests a
59     directory, but does not include the trailing slash in the
60     directory name, httpd must redirect the client to the full
61     name including the trailing slash so that the client will
62     correctly resolve relative references in the document.</p>
63   </section>
64
65   <section id="locations">
66     <title>File Locations</title>
67
68     <related>
69       <directivelist>
70         <directive module="mpm_common">CoreDumpDirectory</directive>
71         <directive module="core">DocumentRoot</directive>
72         <directive module="core">ErrorLog</directive>
73         <directive module="core">Mutex</directive>
74         <directive module="mpm_common">PidFile</directive>
75         <directive module="mpm_common">ScoreBoardFile</directive>
76         <directive module="core">ServerRoot</directive>
77       </directivelist>
78     </related>
79
80     <p>These directives control the locations of the various files
81     that httpd needs for proper operation. When the pathname used
82     does not begin with a slash (/), the files are located relative
83     to the <directive module="core">ServerRoot</directive>. Be careful
84     about locating files in paths which are writable by non-root users.
85     See the <a href="misc/security_tips.html#serverroot">security tips</a>
86     documentation for more details.</p>
87   </section>
88
89   <section id="resource">
90     <title>Limiting Resource Usage</title>
91
92     <related>
93       <directivelist>
94         <directive module="core">LimitRequestBody</directive>
95         <directive module="core">LimitRequestFields</directive>
96         <directive module="core">LimitRequestFieldsize</directive>
97         <directive module="core">LimitRequestLine</directive>
98         <directive module="core">RLimitCPU</directive>
99         <directive module="core">RLimitMEM</directive>
100         <directive module="core">RLimitNPROC</directive>
101         <directive module="mpm_common">ThreadStackSize</directive>
102       </directivelist>
103     </related>
104
105     <p>The <directive>LimitRequest</directive>*
106     directives are used to place limits on the amount of resources
107     httpd will use in reading requests from clients. By limiting
108     these values, some kinds of denial of service attacks can be
109     mitigated.</p>
110
111     <p>The <directive>RLimit</directive>* directives
112     are used to limit the amount of resources which can be used by
113     processes forked off from the httpd children. In particular,
114     this will control resources used by CGI scripts and SSI exec
115     commands.</p>
116
117     <p>The <directive module="mpm_common">ThreadStackSize</directive>
118     directive is used with some platforms to control the stack size.</p>
119   </section>
120
121   <section id="implementation">
122     <title>Implementation Choices</title>
123
124     <related>
125       <directivelist>
126         <directive module="core">Mutex</directive>
127       </directivelist>
128     </related>
129
130     <p>The <directive>Mutex</directive> directive can be used to change
131     the underlying implementation used for mutexes, in order to relieve
132     functional or performance problems with <glossary>APR</glossary>'s
133     default choice.</p>
134   </section>
135
136 </manualpage>