| <?xml version='1.0' encoding='UTF-8' ?> |
| <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd"> |
| <?xml-stylesheet type="text/xsl" href="./style/manual.en.xsl"?> |
| <!-- $Revision: 1.10 $ --> |
| |
| <!-- |
| Copyright 2002-2004 The Apache Software Foundation |
| |
| 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="configuring.xml.meta"> |
| |
| <title>Configuration Files</title> |
| |
| <summary> |
| <p>This document describes the files used to configure the Apache |
| HTTP server.</p> |
| </summary> |
| |
| <section id="main"> |
| <title>Main Configuration Files</title> |
| <related> |
| <modulelist> |
| <module>mod_mime</module> |
| </modulelist> |
| <directivelist> |
| <directive module="core" type="section">IfDefine</directive> |
| <directive module="core">Include</directive> |
| <directive module="mod_mime">TypesConfig</directive> |
| </directivelist> |
| </related> |
| |
| <p>Apache is configured by placing <a |
| href="mod/directives.html">directives</a> in plain text |
| configuration files. The main configuration file is usually called |
| <code>httpd.conf</code>. The location of this file is set at |
| compile-time, but may be overridden with the <code>-f</code> |
| command line flag. In addition, other configuration files may be |
| added using the <directive module="core">Include</directive> |
| directive, and wildcards can be used to include many configuration |
| files. Any directive may be placed in any of these configuration |
| files. Changes to the main configuration files are only |
| recognized by Apache when it is started or restarted.</p> |
| |
| <p>The server also reads a file containing mime document types; |
| the filename is set by the <directive |
| module="mod_mime">TypesConfig</directive> directive, |
| and is <code>mime.types</code> by default.</p> |
| </section> |
| |
| <section id="syntax"> |
| <title>Syntax of the Configuration Files</title> |
| |
| <p>Apache configuration files contain one directive per line. |
| The back-slash "\" may be used as the last character on a line |
| to indicate that the directive continues onto the next line. |
| There must be no other characters or white space between the |
| back-slash and the end of the line.</p> |
| |
| <p>Directives in the configuration files are case-insensitive, |
| but arguments to directives are often case sensitive. Lines |
| that begin with the hash character "#" are considered |
| comments, and are ignored. Comments may <strong>not</strong> be |
| included on a line after a configuration directive. Blank lines |
| and white space occurring before a directive are ignored, so |
| you may indent directives for clarity.</p> |
| |
| <p>You can check your configuration files for syntax errors |
| without starting the server by using <code>apachectl |
| configtest</code> or the <code>-t</code> command line |
| option.</p> |
| </section> |
| |
| <section id="modules"> |
| <title>Modules</title> |
| |
| <related> |
| <modulelist> |
| <module>mod_so</module> |
| </modulelist> |
| <directivelist> |
| <directive module="core" type="section">IfModule</directive> |
| <directive module="mod_so">LoadModule</directive> |
| </directivelist> |
| </related> |
| |
| <p>Apache is a modular server. This implies that only the most |
| basic functionality is included in the core server. Extended |
| features are available through <a |
| href="mod/">modules</a> which can be loaded |
| into Apache. By default, a <a |
| href="mod/module-dict.html#Status">base</a> set of modules is |
| included in the server at compile-time. If the server is |
| compiled to use <a href="dso.html">dynamically loaded</a> |
| modules, then modules can be compiled separately and added at |
| any time using the <directive module="mod_so">LoadModule</directive> |
| directive. |
| Otherwise, Apache must be recompiled to add or remove modules. |
| Configuration directives may be included conditional on a |
| presence of a particular module by enclosing them in an<directive |
| module="core" type="section">IfModule</directive> block.</p> |
| |
| <p>To see which modules are currently compiled into the server, |
| you can use the <code>-l</code> command line option.</p> |
| </section> |
| |
| <section id="scope"> |
| <title>Scope of Directives</title> |
| |
| <related> |
| <directivelist> |
| <directive module="core" type="section">Directory</directive> |
| <directive module="core" type="section">DirectoryMatch</directive> |
| <directive module="core" type="section">Files</directive> |
| <directive module="core" type="section">FilesMatch</directive> |
| <directive module="core" type="section">Location</directive> |
| <directive module="core" type="section">LocationMatch</directive> |
| <directive module="core" type="section">VirtualHost</directive> |
| </directivelist> |
| </related> |
| |
| <p>Directives placed in the main configuration files apply to |
| the entire server. If you wish to change the configuration for |
| only a part of the server, you can scope your directives by |
| placing them in <directive module="core" |
| type="section">Directory</directive>, <directive module="core" |
| type="section">DirectoryMatch</directive>, <directive module="core" |
| type="section">Files</directive>, <directive module="core" |
| type="section">FilesMatch</directive>, <directive module="core" |
| type="section">Location</directive>, and <directive module="core" |
| type="section">LocationMatch</directive> |
| sections. These sections limit the application of the |
| directives which they enclose to particular filesystem |
| locations or URLs. They can also be nested, allowing for very |
| fine grained configuration.</p> |
| |
| <p>Apache has the capability to serve many different websites |
| simultaneously. This is called <a href="vhosts/">Virtual |
| Hosting</a>. Directives can also be scoped by placing them |
| inside <directive module="core" type="section">VirtualHost</directive> |
| sections, so that they will only apply to requests for a |
| particular website.</p> |
| |
| <p>Although most directives can be placed in any of these |
| sections, some directives do not make sense in some contexts. |
| For example, directives controlling process creation can only |
| be placed in the main server context. To find which directives |
| can be placed in which sections, check the <a |
| href="mod/directive-dict.html#Context">Context</a> of the |
| directive. For further information, we provide details on <a |
| href="sections.html">How Directory, Location and Files sections |
| work</a>.</p> |
| </section> |
| |
| <section id="htaccess"> |
| <title>.htaccess Files</title> |
| |
| <related> |
| <directivelist> |
| <directive module="core">AccessFileName</directive> |
| <directive module="core">AllowOverride</directive> |
| </directivelist> |
| </related> |
| |
| <p>Apache allows for decentralized management of configuration |
| via special files placed inside the web tree. The special files |
| are usually called <code>.htaccess</code>, but any name can be |
| specified in the <directive module="core">AccessFileName</directive> |
| directive. Directives placed in <code>.htaccess</code> files |
| apply to the directory where you place the file, and all |
| sub-directories. The <code>.htaccess</code> files follow the |
| same syntax as the main configuration files. Since |
| <code>.htaccess</code> files are read on every request, changes |
| made in these files take immediate effect.</p> |
| |
| <p>To find which directives can be placed in |
| <code>.htaccess</code> files, check the <a |
| href="mod/directive-dict.html#Context">Context</a> of the |
| directive. The server administrator further controls what |
| directives may be placed in <code>.htaccess</code> files by |
| configuring the <directive module="core">AllowOverride</directive> |
| directive in the main configuration files.</p> |
| |
| <p>For more information on <code>.htaccess</code> files, see |
| the <a href="howto/htaccess.html">.htaccess tutorial</a>.</p> |
| </section> |
| </manualpage> |