summaryrefslogtreecommitdiffstats
path: root/docs/manual/server-wide.xml
blob: bb13d89c396bb04546bf5d40b1653ecda2efabb5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.en.xsl"?>
<!-- $LastChangedRevision$ -->

<!--
 Copyright 2002-2006 The Apache Software Foundation or its licensors, as
 applicable.

 Licensed 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.
-->

<manualpage metafile="server-wide.xml.meta">

  <title>Server-Wide Configuration</title>

<summary>
<p>This document explains some of the directives provided by
the <module>core</module> server which are used to configure
the basic operations of the server.</p>
</summary>

  <section id="identification">
    <title>Server Identification</title>

    <related>
      <directivelist>
        <directive module="core">ServerName</directive>
        <directive module="core">ServerAdmin</directive>
        <directive module="core">ServerSignature</directive>
        <directive module="core">ServerTokens</directive>
        <directive module="core">UseCanonicalName</directive>
        <directive module="core">UseCanonicalPhysicalPort</directive>
      </directivelist>
    </related>

    <p>The <directive module="core">ServerAdmin</directive> and
    <directive module="core">ServerTokens</directive> directives
    control what information about the server will be presented
    in server-generated documents such as error messages. The
    <directive module="core">ServerTokens</directive> directive
    sets the value of the Server HTTP response header field.</p>

    <p>The <directive module="core">ServerName</directive>,
    <directive module="core">UseCanonicalName</directive> and
    <directive module="core">UseCanonicalPhysicalPort</directive>
    directives are used by the server to determine how to construct
    self-referential URLs. For example, when a client requests a
    directory, but does not include the trailing slash in the
    directory name, Apache must redirect the client to the full
    name including the trailing slash so that the client will
    correctly resolve relative references in the document.</p>
  </section>

  <section id="locations">
    <title>File Locations</title>

    <related>
      <directivelist>
        <directive module="mpm_common">CoreDumpDirectory</directive>
        <directive module="core">DocumentRoot</directive>
        <directive module="core">ErrorLog</directive>
        <directive module="mpm_common">LockFile</directive>
        <directive module="mpm_common">PidFile</directive>
        <directive module="mpm_common">ScoreBoardFile</directive>
        <directive module="core">ServerRoot</directive>
      </directivelist>
    </related>

    <p>These directives control the locations of the various files
    that Apache needs for proper operation. When the pathname used
    does not begin with a slash (/), the files are located relative
    to the <directive module="core">ServerRoot</directive>. Be careful
    about locating files in paths which are writable by non-root users.
    See the <a href="misc/security_tips.html#serverroot">security tips</a>
    documentation for more details.</p>
  </section>

  <section id="resource">
    <title>Limiting Resource Usage</title>

    <related>
      <directivelist>
        <directive module="core">LimitRequestBody</directive>
        <directive module="core">LimitRequestFields</directive>
        <directive module="core">LimitRequestFieldsize</directive>
        <directive module="core">LimitRequestLine</directive>
        <directive module="core">RLimitCPU</directive>
        <directive module="core">RLimitMEM</directive>
        <directive module="core">RLimitNPROC</directive>
        <directive module="mpm_common">ThreadStackSize</directive>
      </directivelist>
    </related>

    <p>The <directive>LimitRequest</directive>*
    directives are used to place limits on the amount of resources
    Apache will use in reading requests from clients. By limiting
    these values, some kinds of denial of service attacks can be
    mitigated.</p>

    <p>The <directive>RLimit</directive>* directives
    are used to limit the amount of resources which can be used by
    processes forked off from the Apache children. In particular,
    this will control resources used by CGI scripts and SSI exec
    commands.</p>

    <p>The <directive module="mpm_common">ThreadStackSize</directive>
    directive is used with some platforms to control the stack size.</p>
  </section>
</manualpage>