diff options
author | Joshua Slive <slive@apache.org> | 2000-09-12 16:34:48 +0000 |
---|---|---|
committer | Joshua Slive <slive@apache.org> | 2000-09-12 16:34:48 +0000 |
commit | 17e0e038a2f2e3e1766eef70ae641d0db0dc4ac6 (patch) | |
tree | ad5c002ae82ce37f3c22b9a478eb52ccfec39242 /docs/manual/configuring.html | |
parent | 97318f9e2046169c8dfb18cd9e97b99994435587 (diff) | |
download | httpd-17e0e038a2f2e3e1766eef70ae641d0db0dc4ac6.tar.gz |
New doc describing configuration process.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86207 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'docs/manual/configuring.html')
-rw-r--r-- | docs/manual/configuring.html | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/docs/manual/configuring.html b/docs/manual/configuring.html new file mode 100644 index 0000000000..fbe41c2f17 --- /dev/null +++ b/docs/manual/configuring.html @@ -0,0 +1,169 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> +<TITLE>Configuring Apache</TITLE> +</HEAD> + +<!-- Background white, links blue (unvisited), navy (visited), red (active) --> +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#0000FF" + VLINK="#000080" + ALINK="#FF0000" +> +<!--#include virtual="header.html" --> +<H1 ALIGN="CENTER">Configuring Apache</H1> + +<H2>Main Configuration Files</H2> + +<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. Some sites also have +<CODE>srm.conf</CODE> and <CODE>access.conf</CODE> files for <A +HREF="http://www.apache.org/info/three-config-files.html">historical +reasons</A>. In addition, other configuration files may be added using +the <CODE><A HREF="mod/core.html#include">Include</A></CODE> +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> +The server also reads a file containing mime document types; the +filename is set by the <A HREF="mod/mod_mime.html#typesconfig" +>TypesConfig</A> directive, and is <CODE>mime.types</CODE> by default. + +<H2>Syntax of the Configuration Files</H2> + +<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. White space occurring before a directive +is ignored, so you may indent directives for clarity. + +<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. + +<H2>Modules</H2> + +<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/directive-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 <A +HREF="mod/mod_so.html#loadmodule">LoadModule</A> directive. +Otherwise, apache must be recompiled to add or remove modules. + +<P>To see which modules are currently compiled into the server, +you can use the <CODE>-l</CODE> command line option. + +<H2>Scope of Directives</H2> + +<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 +<CODE><A HREF="mod/core.html#directory"><Directory></A>, +<A HREF="mod/core.html#directorymatch"><DirectoryMatch></A>, +<A HREF="mod/core.html#files"><Files></A>, +<A HREF="mod/core.html#filesmatch"><FilesMatch></A>, +<A HREF="mod/core.html#location"><Location></A>, +</CODE> and <CODE> +<A HREF="mod/core.html#locationmatch"><LocationMatch></A> +</CODE> +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>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 +<CODE><A HREF="mod/core.html#virtualhost"><VirtualHost></A></CODE> +sections, so that they will only apply to requests for a particular +website. + +<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>. + +<H2>.htaccess Files</H2> + +<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 <A HREF="mod/core.html#accessfilename"><CODE +>AccessFileName</CODE></A> 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, rather than +only at server startup, changes made in these files take immediate +effect. + +<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 <A +HREF="mod/core.html#allowoverride"><CODE>AllowOverride</CODE></A> +directive in the main configuration files. + +<H2>Log files</H2> +<H3>security warning</H3> +Anyone who can write to the directory where Apache is writing a +log file can almost certainly gain access to the uid that the server is +started as, which is normally root. Do <EM>NOT</EM> give people write +access to the directory the logs are stored in without being aware of +the consequences; see the <A HREF="misc/security_tips.html">security tips</A> +document for details. + +<H3>pid file</H3> + +<P>On startup, Apache saves the process id of the parent httpd process to +the file <CODE>logs/httpd.pid</CODE>. This filename can be changed +with the <A HREF="mod/core.html#pidfile">PidFile</A> directive. The +process-id is for use by the administrator in restarting and +terminating the daemon: on Unix, a HUP or USR1 signal causes the +daemon to re-read its configuration files and a TERM signal causes it +to die gracefully; on Windows, use the -k command line option instead. +For more information see the <A HREF="stopping.html">Stopping and +Restarting</A> page. + +<P> +If the process dies (or is killed) abnormally, then it will be necessary to +kill the children httpd processes. + +<H3>Error log</H3> + +<P>The server will log error messages to a log file, by default +<CODE>logs/error_log</CODE> on Unix or <CODE>logs/error.log</CODE> on +Windows and OS/2. The filename can be set using the <A +HREF="mod/core.html#errorlog">ErrorLog</A> directive; different error +logs can be set for different <A +HREF="mod/core.html#virtualhost">virtual hosts</A>. + +<H3>Transfer log</H3> + +<P>The server will typically log each request to a transfer file, by +default <CODE>logs/access_log</CODE> on Unix or +<CODE>logs/access.log</CODE> on Windows and OS/2. The filename can be +set using a <A HREF="mod/mod_log_config.html#customlog">CustomLog</A> +directive; different transfer logs can be set for different <A +HREF="mod/core.html#virtualhost">virtual hosts</A>. + + +<!--#include virtual="footer.html" --> +</BODY> +</HTML> |