Fix ServerAdmin and ServerAlias
[sysconfig/apache2.git] / apache2.conf
1 #
2 # Based upon the NCSA server configuration files originally by Rob McCool.
3 #
4 # This is the main Apache server configuration file.  It contains the
5 # configuration directives that give the server its instructions.
6 # See http://httpd.apache.org/docs/2.2/ for detailed information about
7 # the directives.
8 #
9 # Do NOT simply read the instructions in here without understanding
10 # what they do.  They're here only as hints or reminders.  If you are unsure
11 # consult the online docs. You have been warned.  
12 #
13 # The configuration directives are grouped into three basic sections:
14 #  1. Directives that control the operation of the Apache server process as a
15 #     whole (the 'global environment').
16 #  2. Directives that define the parameters of the 'main' or 'default' server,
17 #     which responds to requests that aren't handled by a virtual host.
18 #     These directives also provide default values for the settings
19 #     of all virtual hosts.
20 #  3. Settings for virtual hosts, which allow Web requests to be sent to
21 #     different IP addresses or hostnames and have them handled by the
22 #     same Apache server process.
23 #
24 # Configuration and logfile names: If the filenames you specify for many
25 # of the server's control files begin with "/" (or "drive:/" for Win32), the
26 # server will use that explicit path.  If the filenames do *not* begin
27 # with "/", the value of ServerRoot is prepended -- so "/var/log/apache2/foo.log"
28 # with ServerRoot set to "" will be interpreted by the
29 # server as "//var/log/apache2/foo.log".
30 #
31
32 ### Section 1: Global Environment
33 #
34 # The directives in this section affect the overall operation of Apache,
35 # such as the number of concurrent requests it can handle or where it
36 # can find its configuration files.
37 #
38
39 #
40 # ServerRoot: The top of the directory tree under which the server's
41 # configuration, error, and log files are kept.
42 #
43 # NOTE!  If you intend to place this on an NFS (or otherwise network)
44 # mounted filesystem then please read the LockFile documentation (available
45 # at <URL:http://httpd.apache.org/docs-2.1/mod/mpm_common.html#lockfile>);
46 # you will save yourself a lot of trouble.
47 #
48 # Do NOT add a slash at the end of the directory path.
49 #
50 ServerRoot "/etc/apache2"
51
52 #
53 # The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
54 #
55 #<IfModule !mpm_winnt.c>
56 #<IfModule !mpm_netware.c>
57 LockFile /var/lock/apache2/accept.lock
58 #</IfModule>
59 #</IfModule>
60
61 #
62 # PidFile: The file in which the server should record its process
63 # identification number when it starts.
64 # This needs to be set in /etc/apache2/envvars
65 #
66 PidFile ${APACHE_PID_FILE}
67
68 #
69 # Timeout: The number of seconds before receives and sends time out.
70 #
71 Timeout 300
72
73 #
74 # KeepAlive: Whether or not to allow persistent connections (more than
75 # one request per connection). Set to "Off" to deactivate.
76 #
77 KeepAlive On
78
79 #
80 # MaxKeepAliveRequests: The maximum number of requests to allow
81 # during a persistent connection. Set to 0 to allow an unlimited amount.
82 # We recommend you leave this number high, for maximum performance.
83 #
84 MaxKeepAliveRequests 100
85
86 #
87 # KeepAliveTimeout: Number of seconds to wait for the next request from the
88 # same client on the same connection.
89 #
90 KeepAliveTimeout 15
91
92 ##
93 ## Server-Pool Size Regulation (MPM specific)
94 ## 
95
96 # prefork MPM
97 # StartServers: number of server processes to start
98 # MinSpareServers: minimum number of server processes which are kept spare
99 # MaxSpareServers: maximum number of server processes which are kept spare
100 # MaxClients: maximum number of server processes allowed to start
101 # MaxRequestsPerChild: maximum number of requests a server process serves
102 <IfModule mpm_prefork_module>
103     StartServers          5
104     MinSpareServers       5
105     MaxSpareServers      10
106     MaxClients          150
107     MaxRequestsPerChild   0
108 </IfModule>
109
110 # worker MPM
111 # StartServers: initial number of server processes to start
112 # MaxClients: maximum number of simultaneous client connections
113 # MinSpareThreads: minimum number of worker threads which are kept spare
114 # MaxSpareThreads: maximum number of worker threads which are kept spare
115 # ThreadsPerChild: constant number of worker threads in each server process
116 # MaxRequestsPerChild: maximum number of requests a server process serves
117 <IfModule mpm_worker_module>
118     StartServers          2
119     MinSpareThreads      25
120     MaxSpareThreads      75 
121     ThreadLimit          64
122     ThreadsPerChild      25
123     MaxClients          150
124     MaxRequestsPerChild   0
125 </IfModule>
126
127 # event MPM
128 # StartServers: initial number of server processes to start
129 # MaxClients: maximum number of simultaneous client connections
130 # MinSpareThreads: minimum number of worker threads which are kept spare
131 # MaxSpareThreads: maximum number of worker threads which are kept spare
132 # ThreadsPerChild: constant number of worker threads in each server process
133 # MaxRequestsPerChild: maximum number of requests a server process serves
134 <IfModule mpm_event_module>
135     StartServers          2
136     MaxClients          150
137     MinSpareThreads      25
138     MaxSpareThreads      75 
139     ThreadLimit          64
140     ThreadsPerChild      25
141     MaxRequestsPerChild   0
142 </IfModule>
143
144 # These need to be set in /etc/apache2/envvars
145 User ${APACHE_RUN_USER}
146 Group ${APACHE_RUN_GROUP}
147
148 #
149 # AccessFileName: The name of the file to look for in each directory
150 # for additional configuration directives.  See also the AllowOverride
151 # directive.
152 #
153
154 AccessFileName .htaccess
155
156 #
157 # The following lines prevent .htaccess and .htpasswd files from being 
158 # viewed by Web clients. 
159 #
160 <Files ~ "^\.ht">
161     Order allow,deny
162     Deny from all
163 </Files>
164
165 #
166 # DefaultType is the default MIME type the server will use for a document
167 # if it cannot otherwise determine one, such as from filename extensions.
168 # If your server contains mostly text or HTML documents, "text/plain" is
169 # a good value.  If most of your content is binary, such as applications
170 # or images, you may want to use "application/octet-stream" instead to
171 # keep browsers from trying to display binary files as though they are
172 # text.
173 #
174 DefaultType text/plain
175
176
177 #
178 # HostnameLookups: Log the names of clients or just their IP addresses
179 # e.g., www.apache.org (on) or 204.62.129.132 (off).
180 # The default is off because it'd be overall better for the net if people
181 # had to knowingly turn this feature on, since enabling it means that
182 # each client request will result in AT LEAST one lookup request to the
183 # nameserver.
184 #
185 HostnameLookups Off
186
187 # ErrorLog: The location of the error log file.
188 # If you do not specify an ErrorLog directive within a <VirtualHost>
189 # container, error messages relating to that virtual host will be
190 # logged here.  If you *do* define an error logfile for a <VirtualHost>
191 # container, that host's errors will be logged there and not here.
192 #
193 ErrorLog /var/log/apache2/error.log
194
195 #
196 # LogLevel: Control the number of messages logged to the error_log.
197 # Possible values include: debug, info, notice, warn, error, crit,
198 # alert, emerg.
199 #
200 LogLevel warn
201
202 # Include module configuration:
203 Include /etc/apache2/mods-enabled/*.load
204 Include /etc/apache2/mods-enabled/*.conf
205
206 # Include all the user configurations:
207 Include /etc/apache2/httpd.conf
208
209 # Include ports listing
210 Include /etc/apache2/ports.conf
211
212 #
213 # The following directives define some format nicknames for use with
214 # a CustomLog directive (see below).
215 # If you are behind a reverse proxy, you might want to change %h into %{X-Forwarded-For}i
216 #
217 LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
218 LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
219 LogFormat "%h %l %u %t \"%r\" %>s %O" common
220 LogFormat "%{Referer}i -> %U" referer
221 LogFormat "%{User-agent}i" agent
222
223 #
224 # Define an access log for VirtualHosts that don't define their own logfile
225 CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined
226
227
228 # Include of directories ignores editors' and dpkg's backup files,
229 # see README.Debian for details.
230
231 # Include generic snippets of statements
232 Include /etc/apache2/conf.d/
233
234 # Include the virtual host configurations:
235 Include /etc/apache2/sites-enabled/