summaryrefslogtreecommitdiffstats
path: root/docs/manual/configuring.xml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/manual/configuring.xml')
-rw-r--r--docs/manual/configuring.xml195
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