diff options
Diffstat (limited to 'docs/manual/configuring.xml')
-rw-r--r-- | docs/manual/configuring.xml | 195 |
1 files changed, 195 insertions, 0 deletions
diff --git a/docs/manual/configuring.xml b/docs/manual/configuring.xml new file mode 100644 index 0000000000..2a05174328 --- /dev/null +++ b/docs/manual/configuring.xml @@ -0,0 +1,195 @@ +<?xml version='1.0' encoding='UTF-8' ?> +<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd"> +<?xml-stylesheet type="text/xsl" href="./style/manual.en.xsl"?> +<manualpage> +<relative-path href="."/> + + <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. 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>New with Apache 1.3.13 is a feature where if any + configuration file is actually a directory, Apache will enter + that directory and parse any files (and subdirectories) found + there as configuration files. One possible use for this would + be to add VirtualHosts by creating small configuration files + for each host, and placing them in such a configuration + directory. Thus, you can add or remove VirtualHosts without + editing any files at all, simply adding or deleting them. This + makes automating such processes much easier.</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 + which 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">AddModule</directive> + <directive module="core">ClearModuleList</directive> + <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/index-bytype.html">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 + Ken Coar's tutorial on <a + href="http://apache-server.com/tutorials/ATusing-htaccess.html"> + Using .htaccess Files with Apache</a>.</p> + </section> +</manualpage>
\ No newline at end of file |