<!--#include virtual="header.html" -->
<H1 ALIGN="CENTER">Apache Core Features</h1>
-
+<P>
These configuration parameters control the core Apache features, and are
always available.
-
-
+</P>
+<H2>Directives</H2>
<ul>
<li><A HREF="#accessconfig">AccessConfig</A>
<li><A HREF="#accessfilename">AccessFileName</A>
</ul>
<hr>
-<A name="accessconfig"><h2>AccessConfig directive</h2></A>
+<h2><A name="accessconfig">AccessConfig directive</A></h2>
<!--%plaintext <?INDEX {\tt AccessConfig} directive> -->
<strong>Syntax:</strong> AccessConfig <em>filename</em><br>
<strong>Default:</strong> <code>AccessConfig conf/access.conf</code><br>
contain any server directive allowed in the <em>server config</em> context.
<p><hr>
-<A name="accessfilename"><h2>AccessFileName directive</h2></A>
+<h2><A name="accessfilename">AccessFileName directive</A></h2>
<!--%plaintext <?INDEX {\tt AccessFileName} directive> -->
<strong>Syntax:</strong> AccessFileName <em>filename</em><br>
<strong>Default:</strong> <code>AccessFileName .htaccess</code><br>
AllowOverride None<br>
</Directory></code></blockquote><p><hr>
-<A name="addmodule"><h2>AddModule directive</h2></A>
+<h2><A name="addmodule">AddModule directive</A></h2>
<!--%plaintext <?INDEX {\tt AddModule} directive> -->
<strong>Syntax:</strong> AddModule <em>module module ...</em><br>
<strong>Context:</strong> server config <br>
be cleared with the <A HREF="#clearmodulelist">ClearModuleList</A>
directive.<p><hr>
-<A name="allowoverride"><h2>AllowOverride directive</h2></A>
+<h2><A name="allowoverride">AllowOverride directive</A></h2>
<!--%plaintext <?INDEX {\tt AllowOverride} directive> -->
<strong>Syntax:</strong> AllowOverride <em>override override ...</em><br>
<strong>Default:</strong> <code>AllowOverride All</code><br>
<A HREF="mod_include.html#xbithack">XBitHack</A>).
</dl><p><hr>
-<A name="authname"><h2>AuthName directive</h2></A>
+<h2><A name="authname">AuthName directive</A></h2>
<!--%plaintext <?INDEX {\tt AuthName} directive> -->
<strong>Syntax:</strong> AuthName <em>auth-domain</em><br>
<strong>Context:</strong> directory, .htaccess<br>
<A HREF="mod_auth.html#authuserfile">AuthUserFile</A> and
<A HREF="mod_auth.html#authgroupfile">AuthGroupFile</A> to work.<p><hr>
-<A name="authtype"><h2>AuthType directive</h2></A>
+<h2><A name="authtype">AuthType directive</A></h2>
<!--%plaintext <?INDEX {\tt AuthType} directive> -->
<strong>Syntax:</strong> AuthType <em>type</em><br>
<strong>Context:</strong> directory, .htaccess<br>
<A HREF="mod_auth.html#authuserfile">AuthUserFile</A> and
<A HREF="mod_auth.html#authgroupfile">AuthGroupFile</A> to work.<p><hr>
-<A name="bindaddress"><h2>BindAddress directive</h2></A>
+<h2><A name="bindaddress">BindAddress directive</A></h2>
<!--%plaintext <?INDEX {\tt BindAddress} directive> -->
<strong>Syntax:</strong> BindAddress <em>saddr</em><br>
<strong>Default:</strong> <code>BindAddress *</code><br>
<hr>
-<A name="clearmodulelist"><h2>ClearModuleList directive</h2></A>
+<h2><A name="clearmodulelist">ClearModuleList directive</A></h2>
<!--%plaintext <?INDEX {\tt ClearModuleList} directive> -->
<strong>Syntax:</strong> ClearModuleList<br>
<strong>Context:</strong> server config<br>
directive clears the list. It is assumed that the list will then be
re-populated using the <A HREF="#addmodule">AddModule</A> directive.<p><hr>
-<A name="defaulttype"><h2>DefaultType directive</h2></A>
+<h2><A name="defaulttype">DefaultType directive</A></h2>
<!--%plaintext <?INDEX {\tt DefaultType} directive> -->
<strong>Syntax:</strong> DefaultType <em>mime-type</em><br>
<strong>Default:</strong> <code>DefaultType text/html</code><br>
would be appropriate for a directory which contained many gif images
with filenames missing the .gif extension.<p><hr>
-<A name="directory"><h2><Directory> directive</h2></A>
+<h2><A name="directory"><Directory> directive</A></h2>
<!--%plaintext <?INDEX {\tt Directory} section directive> -->
<strong>Syntax:</strong> <Directory <em>directory</em>> ... </Directory> <br>
<strong>Context:</strong> server config, virtual host<br>
nest, and cannot appear in a <A HREF="#limit"><Limit></A> section.
<p><hr>
-<A NAME="documentroot"><h2>DocumentRoot directive</h2></A>
+<h2><A NAME="documentroot">DocumentRoot directive</A></h2>
<!--%plaintext <?INDEX {\tt DocumentRoot} directive> -->
<strong>Syntax:</strong> DocumentRoot <em>directory-filename</em><br>
<strong>Default:</strong> <code>DocumentRoot
<p><hr>
-<A name="errordocument"><h2>ErrorDocument directive</h2></A>
+<h2><A name="errordocument">ErrorDocument directive</A></h2>
<!--%plaintext <?INDEX {\tt ErrorDocument} directive> -->
<strong>Syntax:</strong> ErrorDocument <em>error-code document</em><br>
<strong>Context</strong> server config, virtual host, directory, .htaccess<br>
<P>See Also: <A HREF="../custom-error.html">documentation of customizable
responses.</A><p><hr>
-<A name="errorlog"><h2>ErrorLog directive</h2></A>
+<h2><A name="errorlog">ErrorLog directive</A></h2>
<!--%plaintext <?INDEX {\tt ErrorLog} directive> -->
<strong>Syntax:</strong> ErrorLog <em>filename</em><br>
<strong>Default:</strong> <code>ErrorLog logs/error_log</code><br>
<p><hr>
-<A name="files"><h2><Files></h2></A>
+<h2><A name="files"><Files> directive</A></h2>
<strong>Syntax:</strong> <Files <em>filename</em>>
... </Files><br>
<strong>Context:</strong> server config, virtual host, htaccess<br>
<p> <hr>
-<A name="group"><h2>Group directive</h2></A>
+<h2><A name="group">Group directive</A></h2>
<!--%plaintext <?INDEX {\tt Group} directive> -->
<strong>Syntax:</strong> Group <em>unix-group</em><br>
<strong>Default:</strong> <code>Group #-1</code><br>
SECURITY: See <A HREF="#user">User</A> for a discussion of the security
considerations.<p><hr>
-<A name="hostnamelookups"><h2>HostNameLookups directive</h2></A>
+<h2><A name="hostnamelookups">HostNameLookups directive</A></h2>
<!--%plaintext <?INDEX {\tt HostNameLookups} directive> -->
<strong>Syntax:</strong> HostNameLookups <em>boolean</em><br>
<strong>Default:</strong> <code>HostNameLookups on</code><br>
provided in the <i>/support</i> directory, can be used to look up host names
from logged IP addresses offline.<p><hr>
-<A name="identitycheck"><h2>IdentityCheck directive</h2></A>
+<h2><A name="identitycheck">IdentityCheck directive</A></h2>
<!--%plaintext <?INDEX {\tt IdentityCheck} directive> -->
<strong>Syntax:</strong> IdentityCheck <em>boolean</em><br>
<strong>Default:</strong> <code>IdentityCheck off</code><br>
servers accessible from the Internet.
<p><hr>
-<A NAME="ifmodule"><H2><IfModule></H2></A>
+<H2><A NAME="ifmodule"><IfModule> directive</A></H2>
<b>Syntax:</b> <IfModule [!]<i>module-name</i>> <i>...</i>
</IfModule><br>
<b>Default:</b> None<br>
<P> <hr>
-<h2><a name="keepalive">KeepAlive</a></h2>
+<h2><a name="keepalive">KeepAlive directive</a></h2>
<strong>Syntax: (Apache 1.1)</strong> KeepAlive <em>max-requests</em><br>
<strong>Default: (Apache 1.1)</strong> <code>KeepAlive 5</code><br>
<strong>Syntax: (Apache 1.2)</strong> KeepAlive <em>on/off</em><br>
persistent connections, "Off" to disable. See also the <a
href="#maxkeepaliverequests">MaxKeepAliveRequests</a> directive.</p>
-<h2><a name="keepalivetimeout">KeepAliveTimeout</a></h2>
+<h2><a name="keepalivetimeout">KeepAliveTimeout directive</a></h2>
<strong>Syntax:</strong> KeepAliveTimeout <em>seconds</em><br>
<strong>Default:</strong> <code>KeepAliveTimeout 15</code><br>
<strong>Context:</strong> server config<br>
applies.
<hr>
-<A name="listen"><h2>Listen</h2></A>
+<h2><A name="listen">Listen directive</A></h2>
<strong>Syntax:</strong>
Listen [<em>IP address</em>:]<em>port number</em><br>
<strong>Context:</strong> server config<br>
<a href="../misc/known_bugs.html#listenbug">Known Bugs</a></p>
<hr>
-<A NAME="listenbacklog"><H2>ListenBacklog</H2></A>
+<H2><A NAME="listenbacklog">ListenBacklog directive</A></H2>
<strong>Syntax:</strong> ListenBacklog <em>backlog</em><br>
<strong>Default:</strong> <code>ListenBacklog 511</code><br>
<strong>Context:</strong> server config<br>
to increase this when under a TCP SYN flood attack. See
the backlog parameter to the <code>listen(2)</code> system call.
-<A name="limit"><h2><Limit> directive</h2></A>
+<h2><A name="limit"><Limit> directive</A></h2>
<!--%plaintext <?INDEX {\tt Limit} section directive> -->
<strong>Syntax:</strong>
<Limit <em>method method</em> ... > ... </Limit><br>
If an access control directive appears outside a <Limit> directive,
then it applies to all access methods.<p><hr>
-<h2><a name="location"><Location></a></h2>
+<h2><a name="location"><Location> directive</a></h2>
<strong>Syntax:</strong> <Location <em>URL</em>>
... </Location><br>
</pre>
<hr>
-<A NAME="lockfile"><H2>LockFile</H2></A>
+<H2><A NAME="lockfile">LockFile directive</A></H2>
<strong>Syntax:</strong> LockFile <em>filename</em><BR>
<strong>Default:</strong> <code>LockFile logs/accept.lock</code><BR>
<strong>Context:</strong> server config<BR>
<P><HR>
-<A name="maxclients"><h2>MaxClients</h2></A>
+<h2><A name="maxclients">MaxClients directive</A></h2>
<!--%plaintext <?INDEX {\tt MaxClients} directive> -->
<strong>Syntax:</strong> MaxClients <em>number</em><br>
<strong>Default:</strong> <code>MaxClients 256</code><br>
requests that can be supported; not more than this number of child server
processes will be created.<p><hr>
-<A name="maxkeepaliverequests"><h2>MaxKeepAliveRequests</h2></A>
+<h2><A name="maxkeepaliverequests">MaxKeepAliveRequests directive</A></h2>
<strong>Syntax:</strong> MaxKeepAliveRequests <em>number</em><br>
<strong>Default:</strong> <code>MaxKeepAliveRequests 100</code><br>
<strong>Context:</strong> server config<br>
allowed. We recommend that this setting be kept to a high value for
maximum server performance.
-<A name="maxrequestsperchild"><h2>MaxRequestsPerChild directive</h2></A>
+<h2><A name="maxrequestsperchild">MaxRequestsPerChild directive</A></h2>
<!--%plaintext <?INDEX {\tt MaxRequestsPerChild} directive> -->
<strong>Syntax:</strong> MaxRequestsPerChild <em>number</em><br>
<strong>Default:</strong> <code>MaxRequestsPerChild 0</code><br>
number of processes when the server load reduces.
</ul><p><hr>
-<A name="maxspareservers"><h2>MaxSpareServers directive</h2></A>
+<h2><A name="maxspareservers">MaxSpareServers directive</A></h2>
<!--%plaintext <?INDEX {\tt MaxSpareServers} directive> -->
<strong>Syntax:</strong> MaxSpareServers <em>number</em><br>
<strong>Default:</strong> <code>MaxSpareServers 10</code><br>
See also <A HREF="#minspareservers">MinSpareServers</A> and
<A HREF="#startservers">StartServers</A>.<p><hr>
-<A name="minspareservers"><h2>MinSpareServers directive</h2></A>
+<h2><A name="minspareservers">MinSpareServers directive</A></h2>
<!--%plaintext <?INDEX {\tt MinSpareServers} directive> -->
<strong>Syntax:</strong> MinSpareServers <em>number</em><br>
<strong>Default:</strong> <code>MinSpareServers 5</code><br>
See also <A HREF="#maxspareservers">MaxSpareServers</A> and
<A HREF="#startservers">StartServers</A>.<p><hr>
-<A name="options"><h2>Options directive</h2></A>
+<h2><A name="options">Options directive</A></h2>
<!--%plaintext <?INDEX {\tt Options} directive> -->
<strong>Syntax:</strong> Options <em>[+|-]option [+|-]option ...</em><br>
<strong>Context:</strong> server config, virtual host, directory, .htaccess<br>
are set for the /web/docs/spec directory.
<hr>
-<A name="pidfile"><h2>PidFile directive</h2></A>
+<h2><A name="pidfile">PidFile directive</A></h2>
<!--%plaintext <?INDEX {\tt PidFile} directive> -->
<strong>Syntax:</strong> PidFile <em>filename</em><br>
<strong>Default:</strong> <code>PidFile logs/httpd.pid</code><br>
<p><hr>
-<A name="port"><h2>Port directive</h2></A>
+<h2><A name="port">Port directive</A></h2>
<!--%plaintext <?INDEX {\tt Port} directive> -->
<strong>Syntax:</strong> Port <em>number</em><br>
<strong>Default:</strong> <code>Port 80</code><br>
root whilst handling connections, your site may be open to a major security
attack.<p><hr>
-<A name="require"><h2>require directive</h2></A>
+<h2><A name="require">require directive</A></h2>
<!--%plaintext <?INDEX {\tt require} directive> -->
<strong>Syntax:</strong> require <em>entity-name entity entity...</em><br>
<strong>Context:</strong> directory, .htaccess<br>
<A HREF="mod_auth.html#authgroupfile">AuthGroupFile</A> (to define users and
groups) in order to work correctly.<p><hr>
-<A name="resourceconfig"><h2>ResourceConfig directive</h2></A>
+<h2><A name="resourceconfig">ResourceConfig directive</A></h2>
<!--%plaintext <?INDEX {\tt ResourceConfig} directive> -->
<strong>Syntax:</strong> ResourceConfig <em>filename</em><br>
<strong>Default:</strong> <code>ResourceConfig conf/srm.conf</code><br>
See also <A HREF="#accessconfig">AccessConfig</A>.<p><hr>
-<A name="rlimit"> </A>
-<A name="rlimitcpu"><h2>RLimitCPU directive</h2></A>
+<H2><A name="rlimit">RLimitCPU</A> <A NAME="rlimit">directive</A></H2>
<!--%plaintext <?INDEX {\tt RLimitCPU} directive> -->
<strong>Syntax:</strong> RLimitCPU <em># or 'max'</em> <em>[# or 'max']</em><br>
<strong>Default:</strong> <code>Unset uses operating system defaults</code><br>
See also <A HREF="#rlimitmem">RLimitMEM</A> or <A HREF="#rlimitnproc">RLimitNPROC</A>.<p><hr>
-<A name="rlimitmem"><h2>RLimitMEM directive</h2></A>
+<h2><A name="rlimitmem">RLimitMEM directive</A></h2>
<!--%plaintext <?INDEX {\tt RLimitMEM} directive> -->
<strong>Syntax:</strong> RLimitMEM <em># or 'max'</em> <em>[# or 'max']</em><br>
<strong>Default:</strong> <code>Unset uses operating system defaults</code><br>
See also <A HREF="#rlimitcpu">RLimitCPU</A> or <A HREF="#rlimitnproc">RLimitNPROC</A>.<p><hr>
-<A name="rlimitnproc"><h2>RLimitNPROC directive</h2></A>
+<h2><A name="rlimitnproc">RLimitNPROC directive</A></h2>
<!--%plaintext <?INDEX {\tt RLimitNPROC} directive> -->
<strong>Syntax:</strong> RLimitNPROC <em># or 'max'</em> <em>[# or 'max']</em><br>
<strong>Default:</strong> <code>Unset uses operating system defaults</code><br>
<p><hr>
-<A name="satisfy"><h2>Satisfy</h2></A>
+<h2><A name="satisfy">Satisfy directive</A></h2>
<!--%plaintext <?INDEX {\tt Satisfy} directive> -->
<strong>Syntax:</strong> Satisfy <em>'any' or 'all'</em><br>
<strong>Default:</strong> Satisfy all<br>
<p><hr>
-<A name="scoreboardfile"><h2>ScoreBoardFile directive</h2></A>
+<h2><A name="scoreboardfile">ScoreBoardFile directive</A></h2>
<!--%plaintext <?INDEX {\tt ScoreBoardFile} directive> -->
<strong>Syntax:</strong> ScoreBoardFile <em>filename</em><br>
<strong>Default:</strong> <code>ScoreBoardFile logs/apache_status</code><br>
<p><hr>
-<A name="sendbuffersize"><h2>SendBufferSize directive</h2></A>
+<h2><A name="sendbuffersize">SendBufferSize directive</A></h2>
<!--%plaintext <?INDEX {\tt SendBufferSize} directive> -->
<strong>Syntax:</strong> SendBufferSize <em>bytes</em><br>
<strong>Context:</strong> server config<br>
fast pipes)
<p><hr>
-<A name="serveradmin"><h2>ServerAdmin directive</h2></A>
+<h2><A name="serveradmin">ServerAdmin directive</A></h2>
<!--%plaintext <?INDEX {\tt ServerAdmin} directive> -->
<strong>Syntax:</strong> ServerAdmin <em>email-address</em><br>
<strong>Context:</strong> server config, virtual host<br>
<blockquote><code>ServerAdmin www-admin@foo.bar.com</code></blockquote>
as users do not always mention that they are talking about the server!<p><hr>
-<A name="serveralias"><h2>ServerAlias directive</h2></A>
+<h2><A name="serveralias">ServerAlias directive</A></h2>
<strong>Syntax:</strong> ServerAlias <em>host1 host2 ...</em><br>
<strong>Context:</strong> virtual host<br>
<hr>
-<A name="servername"><h2>ServerName directive</h2></A>
+<h2><A name="servername">ServerName directive</A></h2>
<!--%plaintext <?INDEX {\tt ServerName} directive> -->
<strong>Syntax:</strong> ServerName <em>fully-qualified domain name</em><br>
<strong>Context:</strong> server config, virtual host<br>
<a href="../dns-caveats.html">DNS Issues</a></p>
<hr>
-<A name="serverpath"><h2>ServerPath directive</h2></A>
+<h2><A name="serverpath">ServerPath directive</A></h2>
<strong>Syntax:</strong> ServerPath <em>pathname</em><br>
<strong>Context:</strong> virtual host<br>
<a href="../vhosts-in-depth.html">In-depth description of Virtual Host matching</a></p>
<hr>
-<A name="serverroot"><h2>ServerRoot directive</h2></A>
+<h2><A name="serverroot">ServerRoot directive</A></h2>
<!--%plaintext <?INDEX {\tt ServerRoot} directive> -->
<strong>Syntax:</strong> ServerRoot <em>directory-filename</em><br>
<strong>Default:</strong> <code>ServerRoot /usr/local/etc/httpd</code><br>
as relative to this directory.<br>
See also <a href="../invoking.html">the <code>-d</code> option to httpd</a>.<p><hr>
-<A name="servertype"><h2>ServerType directive</h2></A>
+<h2><A name="servertype">ServerType directive</A></h2>
<!--%plaintext <?INDEX {\tt ServerType} directive> -->
<strong>Syntax:</strong> ServerType <em>type</em><br>
<strong>Default:</strong> <code>ServerType standalone</code><br>
cannot be guaranteed in either, but whilst most people are happy to use
standalone, inetd is probably least prone to attack.<p><hr>
-<A name="startservers"><h2>StartServers directive</h2></A>
+<h2><A name="startservers">StartServers directive</A></h2>
<!--%plaintext <?INDEX {\tt StartServers} directive> -->
<strong>Syntax:</strong> StartServers <em>number</em><br>
<strong>Default:</strong> <code>StartServers 5</code><br>
See also <A HREF="#minspareservers">MinSpareServers</A> and
<A HREF="#maxspareservers">MaxSpareServers</A>.<p><hr>
-<A name="timeout"><h2>TimeOut directive</h2></A>
+<h2><A name="timeout">TimeOut directive</A></h2>
<!--%plaintext <?INDEX {\tt TimeOut} directive> -->
<strong>Syntax:</strong> TimeOut <em>number</em><br>
<strong>Default:</strong> <code>TimeOut 300</code><br>
<p><hr>
-<A name="user"><h2>User directive</h2></A>
+<h2><A name="user">User directive</A></h2>
<!--%plaintext <?INDEX {\tt User} directive> -->
<strong>Syntax:</strong> User <em>unix-userid</em><br>
<strong>Default:</strong> <code>User #-1</code><br>
<code>root</code> unless you know exactly what you are doing, and what the
dangers are.<p><hr>
-<A name="virtualhost"><h2><VirtualHost> directive</h2></A>
+<h2><A name="virtualhost"><VirtualHost> directive</A></h2>
<!--%plaintext <?INDEX {\tt VirtualHost} section directive> -->
<strong>Syntax:</strong> <VirtualHost <em>addr</em>[:<em>port</em>] ...> ...
</VirtualHost> <br>