diff options
author | brian <brian@unknown> | 1996-11-21 08:12:53 +0000 |
---|---|---|
committer | brian <brian@unknown> | 1996-11-21 08:12:53 +0000 |
commit | b2ab672f99920e5019879b8a0e5e0e2808f2f774 (patch) | |
tree | 3e9d899493d43c059b3d00df7cda967fa6961da9 | |
parent | 2ada5933c85b2ca45770c2df27e2d292667f36c4 (diff) | |
download | httpd-b2ab672f99920e5019879b8a0e5e0e2808f2f774.tar.gz |
Moving files to mod/
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@76995 13f79535-47bb-0310-9956-ffa450edef68
25 files changed, 3183 insertions, 0 deletions
diff --git a/docs/manual/mod/mod_access.html b/docs/manual/mod/mod_access.html new file mode 100644 index 0000000000..b93c6e30a8 --- /dev/null +++ b/docs/manual/mod/mod_access.html @@ -0,0 +1,125 @@ +<!--%hypertext --> +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_access</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<!--/%hypertext --> +<H1>Module mod_access</h1> + +This module is contained in the <code>mod_access.c</code> file, and +is compiled in by default. It provides access control based on client +hostname or IP address. + +<!--%hypertext --> +<menu> +<li><A HREF="#allow">allow</A> +<li><A HREF="#deny">deny</A> +<li><A HREF="#order">order</A> +</menu> +<hr> +<!--/%hypertext --> + +<A name="allow"><h2>allow</h2></A> +<!--%plaintext <?INDEX {\tt allow} directive> --> +<strong>Syntax:</strong> allow from <em>host host ...</em><br> +<Strong>Context:</strong> directory, .htaccess<br> +<Strong>Override:</strong> Limit<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_access<p> + +The allow directive affects which hosts can access a given directory; it is +typically used within a <A HREF="core.html#limit"><Limit></A> section. +<em>Host</em> is one of the following: +<dl> +<dt><code>all</code> +<dd>all hosts are allowed access +<dt>A (partial) domain-name +<dd>host whose name is, or ends in, this string are allowed access. +<dt>A full IP address +<dd>An IP address of a host allowed access +<dt>A partial IP address +<dd>The first 1 to 3 bytes of an IP address, for subnet restriction. +</dl> + +Example:<blockquote><code>allow from .ncsa.uiuc.edu</code></blockquote> +All hosts in the specified domain are allowed access.<p> + +Note that this compares whole components; <code>bar.edu</code> +would not match <code>foobar.edu</code>.<p> + +See also <A HREF="#deny">deny</A> and <A HREF="#order">order</A>.<p><hr> + +<A name="deny"><h2>deny</h2></A> +<!--%plaintext <?INDEX {\tt deny} directive> --> +<strong>Syntax:</strong> deny from <em>host host ...</em><br> +<Strong>Context:</strong> directory, .htaccess<br> +<Strong>Override:</strong> Limit<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_access<p> + +The deny directive affects which hosts can access a given directory; it is +typically used within a <A HREF="core.html#limit"><Limit></A> section. +<em>Host</em> is one of the following: +<dl> +<dt><code>all</code> +<dd>all hosts are denied access +<dt>A (partial) domain-name +<dd>host whose name is, or ends in, this string are denied access. +<dt>A full IP address +<dd>An IP address of a host denied access +<dt>A partial IP address +<dd>The first 1 to 3 bytes of an IP address, for subnet restriction. +</dl> + +Example:<blockquote><code>deny from 16</code></blockquote> +All hosts in the specified network are denied access.<p> + +Note that this compares whole components; <code>bar.edu</code> +would not match <code>foobar.edu</code>.<p> + +See also <A HREF="#allow">allow</A> and <A HREF="#order">order</A>.<p><hr> + +<A name="order"><h2>order</h2></A> +<!--%plaintext <?INDEX {\tt order} directive> --> +<strong>Syntax:</strong> order <em>ordering</em><br> +<strong>Default:</strong> <code>order deny,allow</code><br> +<strong>Context:</strong> directory, .htaccess<br> +<strong>Override:</strong> Limit<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_access<p> + +The order directive controls the order in which <A HREF="#allow">allow</A> and +<A HREF="#deny">deny</A> directives are evaluated. <em>Ordering</em> is one +of +<dl> +<dt>deny,allow +<dd>the deny directives are evaluated before the allow directives. +<dt>allow,deny +<dd>the allow directives are evaluated before the deny directives. +<dt>mutual-failure +<dd>Only those hosts which appear on the allow list and do not appear +on the deny list are granted access. +</dl> + +Example: +<blockquote><code> +order deny,allow +deny from all +allow from .ncsa.uiuc.edu +</code></blockquote> +Hosts in the ncsa.uiuc.edu domain are allowed access; all other hosts are +denied access. + +<!--%hypertext --> +<hr> + +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> +<!--/%hypertext --> diff --git a/docs/manual/mod/mod_actions.html b/docs/manual/mod/mod_actions.html new file mode 100644 index 0000000000..297df17ba8 --- /dev/null +++ b/docs/manual/mod/mod_actions.html @@ -0,0 +1,81 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_actions</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<H1>Apache module mod_actions</h1> + +This module is contained in the <code>mod_actions.c</code> file, and +is compiled in by default. It provides for +executing CGI scripts based on media type or request method. It is not +present in versions prior to Apache 1.1. + +<h2>Summary</h2> + +This module lets you run CGI scripts whenever a file of a certain type +is requested. This makes it much easier to execute scripts that +process files. + +<h2>Directives</h2> +<ul> +<li><A HREF="#action">Action</A> +<li><A HREF="#script">Script</A> +</ul> + +<hr> + +<A name="action"><h2>Action</h2></A> +<strong>Syntax:</strong> Action <em>mime-type cgi-script</em><br> +<strong>Context:</strong> server config, virutal host, directory, .htaccess<br> +<strong>Override:</strong> FileInfo<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_actions<br> +<strong>Compatibility:</strong> Action is only available in Apache 1.1 +and later<p> + +This directive adds an action, which will activate <em>cgi-script</em> when +a file of content type <em>mime-type</em> is requested. It sends the +URL and file path of the requested document using the standard +CGI PATH_INFO and PATH_TRANSLATED environment variables. + +<hr> + +<A name="script"><h2>Script</h2></A> +<strong>Syntax:</strong> Script <em>method cgi-script</em><br> +<strong>Context:</strong> server config, virutal host, directory<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_actions<br> +<strong>Compatibility:</strong> Script is only available in Apache 1.1 +and later<p> + +<p>This directive adds an action, which will activate <em>cgi-script</em> when +a file is requested using the method of <em>method</em>, which can be +one of <code>GET</code>, <code>POST</code>, <code>PUT</code> or +<code>DELETE</code>. It sends the +URL and file path of the requested document using the standard +CGI PATH_INFO and PATH_TRANSLATED environment variables. + +<p>Note that the Script command defines default actions only. If a CGI +script is called, or some other resource that is capable of handling +the requested method internally, it will do so. Also note that script +with a method of <code>GET</code> will only be called if there are +query arguments present (e.g. foo.html?hi). Otherwise, the request +will proceed normally. + +<p>Examples: +<pre> + Script GET /cgi-bin/search #e.g. for <ISINDEX>-style searching + Script PUT /~bob/put.cgi +</pre> + +<p><hr> + +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> + diff --git a/docs/manual/mod/mod_alias.html b/docs/manual/mod/mod_alias.html new file mode 100644 index 0000000000..f217051c95 --- /dev/null +++ b/docs/manual/mod/mod_alias.html @@ -0,0 +1,93 @@ +<!--%hypertext --> +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_alias</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<!--/%hypertext --> +<H1>Module mod_alias</h1> + +This module is contained in the <code>mod_alias.c</code> file, and +is compiled in by default. It provides for mapping different parts of the +host filesystem in the the document tree, and for URL redirection. + +<!--%hypertext --> +<menu> +<li><A HREF="#alias">Alias</A> +<li><A HREF="#redirect">Redirect</A> +<li><A HREF="#scriptalias">ScriptAlias</A> +</menu> +<hr> +<!--/%hypertext --> + +<A name="alias"><h2>Alias</h2></A> +<!--%plaintext <?INDEX {\tt Alias} directive> --> +<strong>Syntax:</strong> Alias <em>url-path directory-filename</em><br> +<Strong>Context:</strong> server config, virtual host<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_alias<br> +<strong>Compatibility:</strong> Alias is only available in Apache 1.1 +and later<p> + +The Alias directive allows documents to be stored in the local filesystem +other than under the <A HREF="core.html#documentroot">DocumentRoot</A>. +URLs with a (%-decoded) path beginning with <em>url-path</em> will be +mapped to local files beginning with <em>directory-filename</em>. +Example: +<blockquote><code>Alias /image /ftp/pub/image</code></blockquote> +A request for http://myserver/image/foo.gif would cause the server to +return the file /ftp/pub/image/foo.gif.<p> +See also <A HREF="#scriptalias">ScriptAlias</A>.<p><hr> + +<A name="redirect"><h2>Redirect</h2></A> +<!--%plaintext <?INDEX {\tt Redirect} directive> --> +<strong>Syntax:</strong> Redirect <em>url-path url</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_alias<br> +<strong>Compatibility:</strong> The directory and .htaccess context's +are only available in versions 1.1 and later<p> + +The Redirect directive maps an old URL into a new one. The new URL is returned +to the client which attempts to fetch it again with the new address. +<em>Url-path</em> a (%-decoded) path; any requests for documents beginning with +this path will be returned a redirect error to a new (%-encoded) url +beginning with <em>url</em>. Example: +<blockquote><code>Redirect /service +http://foo2.bar.com/service</code></blockquote> +If the client requests http://myserver/service/foo.txt, it will be told to +access http://foo2.bar.com/service/foo.txt instead.<p> +Note: Redirect directives take precedence over Alias and ScriptAlias +directives, irrespective of their ordering in the configuration file.<p><hr> + +<A name="scriptalias"><h2>ScriptAlias</h2></A> +<!--%plaintext <?INDEX {\tt ScriptAlias} directive> --> +<strong>Syntax:</strong> ScriptAlias <em>url-path directory-filename</em><br> +<Strong>Context:</strong> server config, virtual host<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_alias<br> +<strong>Compatibility:</strong> ScriptAlias is only available in Apache 1.1 +and later<p> + +The ScriptAlias directive has the same behaviour as the +<A HREF="#alias">Alias</A> directive, except that in addition it +marks the target directory as containing CGI scripts. +URLs with a (%-decoded) path beginning with <em>url-path</em> will be +mapped to scripts beginning with <em>directory-filename</em>. +Example: +<blockquote><code>ScriptAlias /cgi-bin/ /web/cgi-bin/</code></blockquote> +A request for http://myserver/cgi-bin/foo would cause the server to +run the script /web/cgi-bin/foo.<p> + +<!--%hypertext --> +<hr> + +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> +<!--/%hypertext --> diff --git a/docs/manual/mod/mod_asis.html b/docs/manual/mod/mod_asis.html new file mode 100644 index 0000000000..3597e1618f --- /dev/null +++ b/docs/manual/mod/mod_asis.html @@ -0,0 +1,67 @@ +<!--%hypertext --> +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_asis</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<!--/%hypertext --> +<H1>Module mod_asis</h1> + +This module is contained in the <code>mod_asis.c</code> file, and +is compiled in by default. It provides for <code>.asis</code> files. Any +document with mime type <code>httpd/send-as-is</code> will be processed by +this module. +<!--%plaintext <?INDEX {\tt httpd/send-as-is} mime type> --> + +<h2>Purpose</h2> +To allow file types to be defined such that Apache sends them without +adding HTTP headers.<P> + +This can be used to send any kind of data from the server, including redirects +and other special HTTP responses, without requiring a cgi-script or an nph +script. +<h2>Usage</h2> +In the server configuration file, define a new mime type called +<code>httpd/send-as-is</code> e.g. +<blockquote><code>AddType httpd/send-as-is asis</code></blockquote> +this defines the <code>.asis</code> file extension as being of the new +<code>httpd/send-as-is</code> mime type. The contents of any file with a +<code>.asis</code> extension will then be sent by Apache to the client with +almost no changes. Clients will need HTTP headers to be attached, so do not +forget them. A Status: header is also required; the data should be the +3-digit HTTP response code, followed by a textual message.<p> + +Here's an example of a file whose contents are sent <em>as is</em> so as to +tell the client that a file has redirected. +<blockquote><code> +Status: 302 Now where did I leave that URL <br> +Location: http://xyz.abc.com/foo/bar.html <br> +Content-type: text/html <br> +<br> +<HTML> <br> +<HEAD> <br> +<TITLE>Lame excuses'R'us</TITLE> <br> +</HEAD> <br> +<BODY> <br> +<H1>Fred's exceptionally wonderful page has moved to <br> +<A HREF="http://xyz.abc.com/foo/bar.html">Joe's</A> site. <br> +</H1> <br> +</BODY> <br> +</HTML> +</code></blockquote> +Notes: the server always adds a Date: and Server: header to the data returned +to the client, so these should not be included in the file. +The server does <em>not</em> add a Last-Modified header; it probably should. +<P> + +<!--%hypertext --> +<HR> + +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> +</BODY> +</HTML> +<!--/%hypertext --> diff --git a/docs/manual/mod/mod_auth.html b/docs/manual/mod/mod_auth.html new file mode 100644 index 0000000000..ac522f549a --- /dev/null +++ b/docs/manual/mod/mod_auth.html @@ -0,0 +1,84 @@ +<!--%hypertext --> +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_auth</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<!--/%hypertext --> +<H1>Module mod_auth</h1> + +This module is contained in the <code>mod_auth.c</code> file, and +is compiled in by default. It provides for user authentication using +textual files. + +<!--%hypertext --> +<menu> +<li><A HREF="#authgroupfile">AuthGroupFile</A> +<li><A HREF="#authuserfile">AuthUserFile</A> +</menu> +<hr> +<!--/%hypertext --> + +<A name="authgroupfile"><h2>AuthGroupFile</h2></A> +<!--%plaintext <?INDEX {\tt AuthGroupFile} directive> --> +<strong>Syntax:</strong> AuthGroupFile <em>filename</em><br> +<Strong>Context:</strong> directory, .htaccess<br> +<Strong>Override:</strong> AuthConfig<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_auth<p> + +The AuthGroupFile directive sets the name of a textual file containing the list +of user groups for user authentication. <em>Filename</em> is the absolute path +to the group file.<p> +Each line of the group file contains a groupname followed by a colon, followed +by the member usernames separated by spaces. Example: +<blockquote><code>mygroup: bob joe anne</code></blockquote> +Note that searching large groups files is <em>very</em> inefficient; +<A HREF="mod_auth_dbm.html#authdbmgroupfile">AuthDBMGroupFile</A> should +be used instead.<p> + +Security: make sure that the AuthGroupFile is stored outside the +document tree of the webserver; do <em>not</em> put it in the directory that +it protects. Otherwise, clients will be able to download the AuthGroupFile.<p> + +See also <A HREF="core.html#authname">AuthName</A>, +<A HREF="core.html#authtype">AuthType</A> and +<A HREF="#authuserfile">AuthUserFile</A>.<p><hr> + +<A name="authuserfile"><h2>AuthUserFile</h2></A> +<!--%plaintext <?INDEX {\tt AuthUserFile} directive> --> +<strong>Syntax:</strong> AuthUserFile <em>filename</em><br> +<Strong>Context:</strong> directory, .htaccess<br> +<Strong>Override:</strong> AuthConfig<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_auth<p> + +The AuthUserFile directive sets the name of a textual file containing the list +of users and passwords for user authentication. <em>Filename</em> is the +absolute path to the user file.<p> +Each line of the user file file contains a username followed by a colon, +followed by the crypt() encrypted password. The behaviour of multiple +occurrences of the same user is undefined.<p> +Note that searching user groups files is inefficient; +<A HREF="mod_auth_dbm.html#authdbmuserfile">AuthDBMUserFile</A> should +be used instead.<p> + +Security: make sure that the AuthUserFile is stored outside the +document tree of the webserver; do <em>not</em> put it in the directory that +it protects. Otherwise, clients will be able to download the AuthUserFile.<p> + +See also <A HREF="core.html#authname">AuthName</A>, +<A HREF="core.html#authtype">AuthType</A> and +<A HREF="#authgroupfile">AuthGroupFile</A>.<p> + +<!--%hypertext --> +<hr> +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> +<!--/%hypertext --> diff --git a/docs/manual/mod/mod_auth_anon.html b/docs/manual/mod/mod_auth_anon.html new file mode 100644 index 0000000000..2a299a1d7e --- /dev/null +++ b/docs/manual/mod/mod_auth_anon.html @@ -0,0 +1,192 @@ +<html> +<head> +<title>4.1a Module mod_auth_anon.c</title> +</head> +<body> +<h1>4.1a Module mod_auth_anon.</h1> + +This module is contained in the <code>mod_auth_anon.c</code> file and +is compiled in by default. It is only available in Apache 1.1 and +later. +<p> +It does access control in a manner similar to anonymous-ftp sites; i.e. +have a 'magic' user id 'anonymous' and the email address as a password. +These email addresses can be logged. +<p> +Combined with other (database) access control methods, this allows for +effective user tracking and customization according to a user profile +while still keeping the site open for 'unregistered' users. One advantage +of using Auth-based user tracking is that, unlike magic-cookies and +funny URL pre/postfixes, it is completely browser independent and it +allows users to share URLs. +<p> + +<a href="#FullDescription">Full description</a> / +<a href="#Example">Example</a> / +<a href="#CompileTimeOptions">Compile time options</a> / +<a href="#RevisionHistory">RevisionHistory</a> / +<a href="#Person">Person to blame</a> / +<a href="#Sourcecode">Sourcecode</a> +<p> + +<hr><h2><a name="FullDescription">Full description of all tokens</a></h2> +<dl> + +<code><dt> +Anonymous < Space separated list > +</code></dt><dd> + A list of one or more 'magic' userIDs which are allowed access + without password verification. The userIDs are space separated. + It is possible to use the ' and " quotes to allow a space in + a userID as well as the \ escape character. + <p> + Please note that the comparison is <b>case-IN-sensitive</b>. + <br> + I strongly suggest that the magic username '<code>anonymous</code>' + is always one of the allowed userIDs. + <p> + Example:<br> + <code> + Anonymous: anonymous "Not Registered" 'I don\'t know' + </code><p> + This would allow the user to enter without password verification + by using the userId's 'anonymous', 'AnonyMous','Not Registered' and + 'I Don't Know'. +</dd> + +<code><dt> +Anonymous_LogEmail < on | off > +</code></dt><dd> + When set 'on', the default, the 'password' entered (which hopefully + contains a sensible email address) is logged in the httpd-log file. +</dd> + +<code><dt> +Anonymous_VerifyEmail < on | off > +</code></dt><dd> + When set 'on', the default is 'off', the 'password' entered is + checked for at least one '@' and a '.' to encourage users to enter + valid email addressses (see the above <code>Auth_LogEmail</code>. +</dd> + +<code><dt> +Anonymous_NoUserID < on | off > +</code></dt><dd> + When set 'on', the default is 'off', users can leave + the userID (and perhaps the password field) empty. This + can be very convenient for MS-Explorer users who can + just hit return or click directly on the OK button; which + seems a natural reaction. +</dd> + +<code><dt> +<a name="Authorative">Anonymous_Authorative < on | off ></a> +</code></dt><dd> + Default is 'off'. When set 'on', there is no + fall-through to other authorization methods. So if a + userID does not match the values specified in the + <code>Anonymous</code> directive, access is denied. + <p> + Be sure you know what you are doing when you decide to switch + it on. And remember that it is the linking order of the modules + (in the Configuration / Make file) which details the order + in which the Authorization modules are queried. +</dd> + +</dl> + + +<hr><a name="Example"><h2>Example</h2></a> + +The example below (when combined with the Auth directives +of a htpasswd-file based (or GDM, mSQL etc) base access +control system allows users in as 'guests' with the +following properties: +<ul> +<li> +It insists that the user enters a userId. (<code>Anonymous_NoUserId</code>) +<li> +It insists that the user enters a password. (<code>Anonymous_MustGiveEmail</code>) +<li> +The password entered must be a valid email address, ie. contain at least one '@' and a '.'. +(<code>Anonymous_VerifyEmail</code>) +<li> +The userID must be one of <code>anonymous guest www test welcome</code> +and comparison is <b>not</b> case sensitive. +<code><directory /web/docs/public></code> +<li> +And the Email addresses entered in the passswd field are logged to +the httpd-log file +(<code>Anonymous_LogEmail</code>) +</ul> +<p> +Excerp of access.conf: +<dl> +<dt><code> +Anonymous anonymous guest www test welcome<p> +Anonymous_MustGiveEmail on<br> +Anonymous_VerifyEmail on<br> +Anonymous_NoUserId off<br> +Anonymous_LogEmail on<br> +<p> +AuthName Use 'anonymous' & Email address for guest entry<br> +AuthType basic<p> + +</code></dt> +<dd> + Normal Apache/NCSA tokens for access control + <p> + <code><limit get post head></code><br> + <code>order deny,allow </code><br> + <code>allow from all </code><br> + <p> + <code>require valid-user </code><br> + <code><limit> </code><br> +</dd> +</dl> + + +<hr><h2><a name="CompileTimeOptions">Compile Time Options</a></h2> + +Currently there are no Compile options. + +<hr><h2><a name="RevisionHistory">Revision History</a></h2> + +This version: 23 Nov 1995, 24 Feb 1996, 16 May 1996. + +<dl> + +<dt>Version 0.4<br></dt> + <dd>First release + </dd> +<dt>Version 0.5<br></dt> + <dd>Added 'VerifyEmail' and 'LogEmail' options. Multiple + 'anonymous' tokes allowed. more docs. Added Authorative + functionality. + </dd> +</dl> + + +<hr><h2><a name="Person">Contact/person to blame</a></h2> + +This module was written for the +<a href="http://ewse.ceo.org">European Wide Service Exchange</a> by +<<a href="mailto:Dirk.vanGulik@jrc.it"><code>Dirk.vanGulik@jrc.it</code></a>>. +Feel free to contact me if you have any problems, icecreams or bugs. This +documentation, courtesy of Nick Himba, <a href="mailto:himba@cs.utwente.nl"> +<code><himba@cs.utwente.nl></code></a>. +<p> + + +<hr><h2><a NAME="Sourcecode">Sourcecode</a></h2> + +The source code can be found at <a href="http://www.apache.org"><code> +http://www.apache.org</code></a>. A snapshot of a development version +usually resides at <a href="http://me-www.jrc.it/~dirkx/mod_auth_anon.c"><code> +http://me-www.jrc.it/~dirkx/mod_auth_anon.c</code></a>. Please make sure +that you always quote the version you use when filing a bug report. +<p> + +</body> +</html> + diff --git a/docs/manual/mod/mod_auth_db.html b/docs/manual/mod/mod_auth_db.html new file mode 100644 index 0000000000..a1fe3033f7 --- /dev/null +++ b/docs/manual/mod/mod_auth_db.html @@ -0,0 +1,83 @@ +<!--%hypertext --> +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_auth_db</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../../images/apache_sub.gif" ALT=""> +<!--/%hypertext --> +<H1>Module mod_auth_db</h1> + +This module is contained in the <code>mod_auth_db.c</code> file, and +is not compiled in by default. It provides for user authentication using +Berkeley DB files. It is an alternative to <A HREF="../auth_dbm.html">DBM</A> +files for those systems which support DB and not DBM. It is only +available in Apache 1.1 and later. + +<!--%hypertext --> +<menu> +<li><A HREF="#authdbgroupfile">AuthDBGroupFile</A> +<li><A HREF="#authdbuserfile">AuthDBUserFile</A> +</menu> +<hr> +<!--/%hypertext --> + +<A name="authdbgroupfile"><h2>AuthDBGroupFile</h2></A> +<!--%plaintext <?INDEX {\tt AuthDBGroupFile} directive> --> +<strong>Syntax:</strong> AuthDBGroupFile <em>filename</em><br> +<Strong>Context:</strong> directory, .htaccess<br> +<Strong>Override:</strong> AuthConfig<br> +<strong>Status:</strong> Extension<br> +<strong>Module:</strong> mod_auth_db<p> + +The AuthDBGroupFile directive sets the name of a DB file containing the list +of user groups for user authentication. <em>Filename</em> is the absolute path +to the group file.<p> + +The group file is keyed on the username. The value for a user is a +comma-separated list of the groups to which the users belongs. There must +be no whitespace within the value, and it must never contain any colons.<p> + +Security: make sure that the AuthDBGroupFile is stored outside the +document tree of the webserver; do <em>not</em> put it in the directory that +it protects. Otherwise, clients will be able to download the +AuthDBGroupFile.<p> + +See also <A HREF="core.html#authname">AuthName</A>, +<A HREF="core.html#authtype">AuthType</A> and +<A HREF="#authdbuserfile">AuthDBUserFile</A>.<p><hr> + +<A name="authdbuserfile"><h2>AuthDBUserFile</h2></A> +<!--%plaintext <?INDEX {\tt AuthDBUserFile} directive> --> +<strong>Syntax:</strong> AuthDBUserFile <em>filename</em><br> +<Strong>Context:</strong> directory, .htaccess<br> +<Strong>Override:</strong> AuthConfig<br> +<strong>Status:</strong> Extension<br> +<strong>Module:</strong> mod_auth_db<p> + +The AuthDBUserFile directive sets the name of a DB file containing the list +of users and passwords for user authentication. <em>Filename</em> is the +absolute path to the user file.<p> +The user file is keyed on the username. The value for a user is the crypt() +encrypted password, optionally followed by a colon and arbitrary data. +The colon and the data following it will be ignored by the server.<p> + +Security: make sure that the AuthDBUserFile is stored outside the +document tree of the webserver; do <em>not</em> put it in the directory that +it protects. Otherwise, clients will be able to download the +AuthDBUserFile.<p> + +See also <A HREF="core.html#authname">AuthName</A>, +<A HREF="core.html#authtype">AuthType</A> and +<A HREF="#authdbgroupfile">AuthDBGroupFile</A>.<p> + +<!--%hypertext --> +<hr> +<A HREF="../../"><IMG SRC="../../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> +<!--/%hypertext --> diff --git a/docs/manual/mod/mod_auth_dbm.html b/docs/manual/mod/mod_auth_dbm.html new file mode 100644 index 0000000000..230d5e351d --- /dev/null +++ b/docs/manual/mod/mod_auth_dbm.html @@ -0,0 +1,81 @@ +<!--%hypertext --> +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_auth_dbm</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<!--/%hypertext --> +<H1>Module mod_auth_dbm</h1> + +This module is contained in the <code>mod_auth_dbm.c</code> file, and +is not compiled in by default. It provides for user authentication using +DBM files. See the <A HREF="auth_dbm.html">DBM user documentation</a>. + +<!--%hypertext --> +<menu> +<li><A HREF="#authdbmgroupfile">AuthDBMGroupFile</A> +<li><A HREF="#authdbmuserfile">AuthDBMUserFile</A> +</menu> +<hr> +<!--/%hypertext --> + +<A name="authdbmgroupfile"><h2>AuthDbmGroupFile</h2></A> +<!--%plaintext <?INDEX {\tt AuthDbmGroupFile} directive> --> +<strong>Syntax:</strong> AuthGroupFile <em>filename</em><br> +<Strong>Context:</strong> directory, .htaccess<br> +<Strong>Override:</strong> AuthConfig<br> +<strong>Status:</strong> Extension<br> +<strong>Module:</strong> mod_auth_dbm<p> + +The AuthDBMGroupFile directive sets the name of a DBM file containing the list +of user groups for user authentication. <em>Filename</em> is the absolute path +to the group file.<p> + +The group file is keyed on the username. The value for a user is a +comma-separated list of the groups to which the users belongs. There must +be no whitespace within the value, and it must never contain any colons.<p> + +Security: make sure that the AuthDBMGroupFile is stored outside the +document tree of the webserver; do <em>not</em> put it in the directory that +it protects. Otherwise, clients will be able to download the +AuthDBMGroupFile.<p> + +See also <A HREF="core.html#authname">AuthName</A>, +<A HREF="core.html#authtype">AuthType</A> and +<A HREF="#authdbmuserfile">AuthDBMUserFile</A>.<p><hr> + +<A name="authdbmuserfile"><h2>AuthDBMUserFile</h2></A> +<!--%plaintext <?INDEX {\tt AuthDBMUserFile} directive> --> +<strong>Syntax:</strong> AuthDBMUserFile <em>filename</em><br> +<Strong>Context:</strong> directory, .htaccess<br> +<Strong>Override:</strong> AuthConfig<br> +<strong>Status:</strong> Extension<br> +<strong>Module:</strong> mod_auth_dbm<p> + +The AuthDBMUserFile directive sets the name of a DBM file containing the list +of users and passwords for user authentication. <em>Filename</em> is the +absolute path to the user file.<p> +The user file is keyed on the username. The value for a user is the crypt() +encrypted password, optionally followed by a colon and arbitrary data. +The colon and the data following it will be ignored by the server.<p> + +Security: make sure that the AuthDBMUserFile is stored outside the +document tree of the webserver; do <em>not</em> put it in the directory that +it protects. Otherwise, clients will be able to download the +AuthDBMUserFile.<p> + +See also <A HREF="core.html#authname">AuthName</A>, +<A HREF="core.html#authtype">AuthType</A> and +<A HREF="#authdbmgroupfile">AuthDBMGroupFile</A>.<p> + +<!--%hypertext --> +<hr> +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> +<!--/%hypertext --> diff --git a/docs/manual/mod/mod_autoindex.html b/docs/manual/mod/mod_autoindex.html new file mode 100644 index 0000000000..960c89ca13 --- /dev/null +++ b/docs/manual/mod/mod_autoindex.html @@ -0,0 +1,309 @@ +<!--%hypertext --> +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_dir</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<!--/%hypertext --> +<H1>Module mod_dir</h1> + +This module is contained in the <code>mod_dir.c</code> file, and +is compiled in by default. It provides for directory indexing. + +<h2>Summary</h2> +This module controls the directory indexing. The index of a directory +can come from one of two sources: +<ul> +<li>A file written by the user, typically called <code>index.html</code>. +The <A HREF="#directoryindex">DirectoryIndex</A> directive sets the name +of this file. +<li>Otherwise, a listing generated by the server. The other directives +control the format of this listing. The <A HREF="#addicon">AddIcon</A>, +<A HREF="#addiconbyencoding">AddIconByEncoding</A> and +<A HREF="#addiconbytype">AddIconByType</A> are used to set a list of +icons to display for various file types; for each file listed, the +first icon listed that matches the file is displayed. +</ul> + +<!--%hypertext --> +<h2>Directives</h2> + +<menu> +<li><A HREF="#adddescription">AddDescription</A> +<li><A HREF="#addicon">AddIcon</A> +<li><A HREF="#addiconbyencoding">AddIconByEncoding</A> +<li><A HREF="#addiconbytype">AddIconByType</A> +<li><A HREF="#defaulticon">DefaultIcon</A> +<li><A HREF="#directoryindex">DirectoryIndex</A> +<li><A HREF="#fancyindexing">FancyIndexing</A> +<li><A HREF="#headername">HeaderName</A> +<li><A HREF="#indexignore">IndexIgnore</A> +<li><A HREF="#indexoptions">IndexOptions</A> +<li><A HREF="#readmename">ReadmeName</A> +</menu> +<hr> +<!--/%hypertext --> + +<A name="adddescription"><h2>AddDescription</h2></A> +<!--%plaintext <?INDEX {\tt AddDescription} directive> --> +<strong>Syntax:</strong> AddDescription <em>string file file...</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +This sets the description to display for a file, for +<A HREF="#fancyindexing">FancyIndexing</A>. <em>File</em> is a file +extension, partial filename, wildcard expression or full filename for files +to describe. <em>String</em> is enclosed in double quotes +(<code>"</code>). Example: +<blockquote><code>AddDescription "The planet Mars" /web/pics/mars.gif +</code></blockquote><p><hr> + +<A name="addicon"><h2>AddIcon</h2></A> +<!--%plaintext <?INDEX {\tt AddIcon} directive> --> +<strong>Syntax:</strong> AddIcon <em>icon name name ...</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +This sets the icon to display next to a file ending in <em>name</em> for +<A HREF="#fancyindexing">FancyIndexing</A>. <em>Icon</em> is either a +(%-escaped) relative URL to the icon, or of the format +(<em>alttext</em>,<em>url</em>) where <em>alttext</em> is the text tag given +for an icon for non-graphical browsers.<p> + +<em>Name</em> is either ^^DIRECTORY^^ for directories, ^^BLANKICON^^ for +blank lines (to format the list correctly), a file extension, a wildcard +expression, a partial filename or a complete filename. Examples: +<blockquote><code> +AddIcon (IMG,/icons/image.xbm) .gif .jpg .xbm <br> +AddIcon /icons/dir.xbm ^^DIRECTORY^^ <br> +AddIcon /icons/backup.xbm *~ +</code></blockquote> +<A HREF="#addiconbytype">AddIconByType</A> should be used in preference to +AddIcon, when possible.<p><hr> + +<A name="addiconbyencoding"><h2>AddIconByEncoding</h2></A> +<!--%plaintext <?INDEX {\tt AddIconByEncoding} directive> --> +<strong>Syntax:</strong> AddIconByEncoding <em>icon mime-encoding mime-encoding +...</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +This sets the icon to display next to files with +<em>mime-encoding</em> for <A HREF="#fancyindexing">FancyIndexing</A>. +<em>Icon</em> is either a (%-escaped) relative URL to the icon, or of the +format (<em>alttext</em>,<em>url</em>) where <em>alttext</em> is the text tag +given for an icon for non-graphical browsers.<p> + +<em>Mime-encoding</em> is a wildcard expression matching required the +content-encoding. Examples: +<blockquote><code> +AddIconByEncoding /icons/compress.xbm x-compress +</code></blockquote><p><hr> + +<A name="addiconbytype"><h2>AddIconByType</h2></A> +<!--%plaintext <?INDEX {\tt AddIconByType} directive> --> +<strong>Syntax:</strong> AddIconByType <em>icon mime-type mime-type ...</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +This sets the icon to display next to files of type <em>mime-type</em> for +<A HREF="#fancyindexing">FancyIndexing</A>. <em>Icon</em> is either a +(%-escaped) relative URL to the icon, or of the format +(<em>alttext</em>,<em>url</em>) where <em>alttext</em> is the text tag given +for an icon for non-graphical browsers.<p> +<em>Mime-type</em> is a wildcard expression matching required the mime types. +Examples: +<blockquote><code> +AddIconByType (IMG,/icons/image.xbm) image/* +</code></blockquote><p><hr> + +<A name="defaulticon"><h2>DefaultIcon</h2></A> +<!--%plaintext <?INDEX {\tt DefaultIcon} directive> --> +<strong>Syntax:</strong> DefaultIcon <em>url</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +The DefaultIcon directive sets the icon to display for files when no +specific icon is known, for <A HREF="#fancyindexing">FancyIndexing</A>. +<em>Url</em> is a (%-escaped) relative URL to the icon. Examples: +<blockquote><code> +DefaultIcon /icon/unknown.xbm +</code></blockquote><p><hr> + +<A name="directoryindex"><h2>DirectoryIndex</h2></A> +<!--%plaintext <?INDEX {\tt DirectoryIndex} directive> --> +<strong>Syntax:</strong> DirectoryIndex <em>local-url local-url ...</em><br> +<strong>Default:</strong> <code>DirectoryIndex index.html</code><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +The DirectoryIndex directive sets the list of resources to look for, when +the client requests an index of the directory by specifying a NULL file +at the end of the a directory name. <em>Local-url</em> is the (%-encoded) URL +of a document on the server relative to the requested directory; it is usually +the name of a file in the directory. Several URLs may be given; the server +will return the first one that it finds. If none of the resources exist, +then the server will generate its own listing of the directory. +Example: +<blockquote><code> +DirectoryIndex index.html +</code></blockquote> +then a request for <code>http://myserver/docs/</code> would return +<code>http://myserver/docs/index.html</code> if it exists, or would list +the directory if it did not. <p> + +Note that the documents do not need to be relative to the directory; +<blockquote><code> +DirectoryIndex index.html index.txt /cgi-bin/index.pl</code></blockquote> +would cause the CGI script <code>/cgi-bin/index.pl</code> to be executed +if neither <code>index.html</code> or <code>index.txt</code> existed in +a directory.<p><hr> + +<A name="fancyindexing"><h2>FancyIndexing</h2></A> +<!--%plaintext <?INDEX {\tt FancyIndexing} directive> --> +<strong>Syntax:</strong> FancyIndexing <em>boolean</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +The FancyIndexing directive sets the FancyIndexing option for a directory. +<em>Boolean</em> can be <code>on</code> or <code>off</code>. The +<A HREF="#indexoptions">IndexOptions</A> directive should be used in +preference.<p><hr> + +<A name="headername"><h2>HeaderName</h2></A> +<!--%plaintext <?INDEX {\tt HeaderName} directive> --> +<strong>Syntax:</strong> HeaderName <em>filename</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +The HeaderName directive sets the name of the file that will be inserted +at the top of the index listing. <em>Filename</em> is the name of the file +to include, and is taken to be relative to the directory being indexed. +The server first attempts to include <em>filename</em><code>.html</code> +as an HTML document, otherwise it will include <em>filename</em> as plain +text. Example: +<blockquote><code>HeaderName HEADER</code></blockquote> +when indexing the directory <code>/web</code>, the server will first look for +the HTML file <code>/web/HEADER.html</code> and include it if found, otherwise +it will include the plain text file <code>/web/HEADER</code>, if it exists. + +<p>See also <A HREF="#readmename">ReadmeName</A>.<p><hr> + +<A name="indexignore"><h2>IndexIgnore</h2></A> +<!--%plaintext <?INDEX {\tt IndexIgnore} directive> --> +<strong>Syntax:</strong> IndexIgnore <em>file file ...</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +The IndexIgnore directive adds to the list of files to hide when listing +a directory. <em>File</em> is a file extension, partial filename, +wildcard expression or full filename for files to ignore. Multiple +IndexIgnore directives add to the list, rather than the replacing the list +of ignored files. By default, the list contains `<code>.</code>'. Example: +<blockquote><code> +IndexIgnore README .htaccess *~ +</code></blockquote><p><hr> + +<A name="indexoptions"><h2>IndexOptions</h2></A> +<!--%plaintext <?INDEX {\tt IndexOptions} directive> --> +<strong>Syntax:</strong> IndexOptions <em>option option ...</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +The IndexOptions directive specifies the behaviour of the directory indexing. +<em>Option</em> can be one of +<dl> +<dt>FancyIndexing +<dd><!--%plaintext <?INDEX {\tt FancyIndexing} index option> --> +This turns on fancy indexing of directories. +<dt>IconsAreLinks +<dd> +<!--%plaintext <?INDEX {\tt IconsAreLinks} index option> --> +This makes the icons part of the anchor for the filename, for +fancy indexing. +<dt>ScanHTMLTitles +<dd><!--%plaintext <?INDEX {\tt ScanHTMLTitles} index option> --> +This enables the extraction of the title from HTML documents for fancy +indexing. If the file does not have a description given by +<A HREF="#adddescription">AddDescription</A> then httpd will read the +document for the value of the TITLE tag. This is CPU and disk intensive. +<dt>SuppressLastModified +<dd> +<!--%plaintext <?INDEX {\tt SuppressLastModified} index option> --> +This will suppress the display of the last modification date, in fancy +indexing listings. +<dt>SuppressSize +<dd> +<!--%plaintext <?INDEX {\tt SuppressSize} index option> --> +This will suppress the file size in fancy indexing listings. +<dt>SuppressDescription +<dd> +<!--%plaintext <?INDEX {\tt SuppressDescription} index option> --> +This will suppress the file description in fancy indexing listings. +</dl> +This default is that no options are enabled. If multiple IndexOptions +could apply to a directory, then the most specific one is taken complete; +the options are not merged. For example: +<blockquote><code> +<Directory /web/docs> <br> +IndexOptions FancyIndexing <br> +</Directory><br> +<Directory /web/docs/spec> <br> +IndexOptions ScanHTMLTitles <br> +</Directory> +</code></blockquote> +then only <code>ScanHTMLTitles</code> will be set for the /web/docs/spec +directory.<p><hr> + +<A name="readmename"><h2>ReadmeName</h2></A> +<!--%plaintext <?INDEX {\tt ReadmeName} directive> --> +<strong>Syntax:</strong> ReadmeName <em>filename</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +The ReadmeName directive sets the name of the file that will be appended +to the end of the index listing. <em>Filename</em> is the name of the file +to include, and is taken to be relative to the directory being indexed. +The server first attempts to include <em>filename</em><code>.html</code> +as an HTML document, otherwise it will include <em>filename</em> as plain +text. Example: +<blockquote><code>ReadmeName README</code></blockquote> +when indexing the directory <code>/web</code>, the server will first look for +the HTML file <code>/web/README.html</code> and include it if found, otherwise +it will include the plain text file <code>/web/README</code>, if it exists. + +<p>See also <A HREF="#headername">HeaderName</A>.<p> + +<!--%hypertext --> +<hr> +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> +<!--/%hypertext --> diff --git a/docs/manual/mod/mod_cern_meta.html b/docs/manual/mod/mod_cern_meta.html new file mode 100644 index 0000000000..b48dfffe2b --- /dev/null +++ b/docs/manual/mod/mod_cern_meta.html @@ -0,0 +1,76 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_cern_meta</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<H1>Apache module mod_cern_meta</h1> + +This module is contained in the <code>mod_cern_meta.c</code> file, and +is not compiled in by default. It provides for CERN httpd metafile +semantics. It is only available in Apache 1.1 and later. + +<h2>Summary</h2> + +Emulate the CERN HTTPD Meta file semantics. Meta files are HTTP +headers that can be output in addition to the normal range of headers +for each file accessed. They appear rather like the Apache +.asis files, and are able to provide a crude way of influencing +the Expires: header, as well as providing other curiosities. +There are many ways to manage meta information, this one was +chosen because there is already a large number of CERN users +who can exploit this module. + +<p>More information on the +<a href="http://www.w3.org/hypertext/WWW/Daemon/User/Config/General.html#MetaDir +">CERN metafile semantics</a> is available. + +<h2>Directives</h2> +<ul> +<li><A HREF="#metadir">MetaDir</A> +<li><A HREF="#metasuffix">MetaSuffix</A> +</ul> + +<hr> + +<A name="metadir"><h2>MetaDir</h2></A> +<strong>Syntax:</strong> MetaDir <em>directory name</em><br> +<strong>Default:</strong> <code>MetaDir .web</code><br> +<strong>Context:</strong> server config<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_cern_meta<br> +<strong>Compatibility:</strong> MetaDir is only available in Apache 1.1 +and later.<p> + +Specifies the name of the directory in which Apache can find +meta information files. The directory is usually a 'hidden' +subdirectory of the directory that contains the file being +accessed. Set to "<code>.</code>" to look in the same directory as the +file. + +<A name="metadir"><h2>MetaSuffix</h2></A> +<strong>Syntax:</strong> MetaSuffix <em>suffix</em><br> +<strong>Default:</strong> <code>MetaSuffix .meta</code><br> +<strong>Context:</strong> server config<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_cern_meta<br> +<strong>Compatibility:</strong> MetaSuffix is only available in Apache 1.1 +and later.<p> + +Specifies the file name suffix for the file containing the +meta information. For example, the default values for the two +directives will cause a request to <code> +DOCUMENT_ROOT/somedir/index.html</code> to look in +<code>DOCUMENT_ROOT/somedir/.web/index.html.meta</code> and will use +its contents to generate additional MIME header information. + +<p><hr> + +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> + diff --git a/docs/manual/mod/mod_cgi.html b/docs/manual/mod/mod_cgi.html new file mode 100644 index 0000000000..5bf6ea78c9 --- /dev/null +++ b/docs/manual/mod/mod_cgi.html @@ -0,0 +1,53 @@ +<!--%hypertext --> +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<html> +<head> +<title>Apache module mod_cgi</title> +</head> + +<body> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<!--/%hypertext --> +<h1>Module mod_cgi</h1> + +This module is contained in the <code>mod_cgi.c</code> file, and +is compiled in by default. It provides for execution of CGI scripts. +Any file with mime type <code>application/x-httpd-cgi</code> will be +processed by this module. +<!--%plaintext <?INDEX {\tt application/x-httpd-cgi} mime type> --> +<!--%plaintext <?INDEX CGI scripts> --> + +<h2>Summary</h2> +Any file that has the mime type <code>application/x-httpd-cgi</code> +will be treated as a CGI script, and run by the server, with its output +being returned to the client. Files acquire this type either by +having a name ending in an extension defined by the +<A HREF="mod_mime.html#addtype">AddType</A> directive, or by being in +a <A HREF="mod_alias.html#scriptalias">ScriptAlias</A> directory. <p> + +When the server invokes a CGI script, it will add a variable called +<code>DOCUMENT_ROOT</code> to the environment. This variable will contain the +value of the <A HREF="core.html#documentroot">DocumentRoot</A> +configuration variable. + +<h2>CGI Environment variables</h2> +The server will set the CGI environment variables as described in the CGI +specification, with the following provisos: +<dl> +<dt>REMOTE_HOST +<dd>This will only be set if the server has not been compiled with +<code>MINIMAL_DNS</code>. +<dt>REMOTE_IDENT +<dd>This will only be set if +<A HREF="core.html#identitycheck">IdentityCheck</A> is set to <code>on</code>. +<dt>REMOTE_USER +<dd>This will only be set if the CGI script is subject to authentication. +</dl> +<P> +<!--%hypertext --> +<HR> +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> +</BODY> +</HTML> +<!--/%hypertext --> diff --git a/docs/manual/mod/mod_dir.html b/docs/manual/mod/mod_dir.html new file mode 100644 index 0000000000..960c89ca13 --- /dev/null +++ b/docs/manual/mod/mod_dir.html @@ -0,0 +1,309 @@ +<!--%hypertext --> +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_dir</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<!--/%hypertext --> +<H1>Module mod_dir</h1> + +This module is contained in the <code>mod_dir.c</code> file, and +is compiled in by default. It provides for directory indexing. + +<h2>Summary</h2> +This module controls the directory indexing. The index of a directory +can come from one of two sources: +<ul> +<li>A file written by the user, typically called <code>index.html</code>. +The <A HREF="#directoryindex">DirectoryIndex</A> directive sets the name +of this file. +<li>Otherwise, a listing generated by the server. The other directives +control the format of this listing. The <A HREF="#addicon">AddIcon</A>, +<A HREF="#addiconbyencoding">AddIconByEncoding</A> and +<A HREF="#addiconbytype">AddIconByType</A> are used to set a list of +icons to display for various file types; for each file listed, the +first icon listed that matches the file is displayed. +</ul> + +<!--%hypertext --> +<h2>Directives</h2> + +<menu> +<li><A HREF="#adddescription">AddDescription</A> +<li><A HREF="#addicon">AddIcon</A> +<li><A HREF="#addiconbyencoding">AddIconByEncoding</A> +<li><A HREF="#addiconbytype">AddIconByType</A> +<li><A HREF="#defaulticon">DefaultIcon</A> +<li><A HREF="#directoryindex">DirectoryIndex</A> +<li><A HREF="#fancyindexing">FancyIndexing</A> +<li><A HREF="#headername">HeaderName</A> +<li><A HREF="#indexignore">IndexIgnore</A> +<li><A HREF="#indexoptions">IndexOptions</A> +<li><A HREF="#readmename">ReadmeName</A> +</menu> +<hr> +<!--/%hypertext --> + +<A name="adddescription"><h2>AddDescription</h2></A> +<!--%plaintext <?INDEX {\tt AddDescription} directive> --> +<strong>Syntax:</strong> AddDescription <em>string file file...</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +This sets the description to display for a file, for +<A HREF="#fancyindexing">FancyIndexing</A>. <em>File</em> is a file +extension, partial filename, wildcard expression or full filename for files +to describe. <em>String</em> is enclosed in double quotes +(<code>"</code>). Example: +<blockquote><code>AddDescription "The planet Mars" /web/pics/mars.gif +</code></blockquote><p><hr> + +<A name="addicon"><h2>AddIcon</h2></A> +<!--%plaintext <?INDEX {\tt AddIcon} directive> --> +<strong>Syntax:</strong> AddIcon <em>icon name name ...</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +This sets the icon to display next to a file ending in <em>name</em> for +<A HREF="#fancyindexing">FancyIndexing</A>. <em>Icon</em> is either a +(%-escaped) relative URL to the icon, or of the format +(<em>alttext</em>,<em>url</em>) where <em>alttext</em> is the text tag given +for an icon for non-graphical browsers.<p> + +<em>Name</em> is either ^^DIRECTORY^^ for directories, ^^BLANKICON^^ for +blank lines (to format the list correctly), a file extension, a wildcard +expression, a partial filename or a complete filename. Examples: +<blockquote><code> +AddIcon (IMG,/icons/image.xbm) .gif .jpg .xbm <br> +AddIcon /icons/dir.xbm ^^DIRECTORY^^ <br> +AddIcon /icons/backup.xbm *~ +</code></blockquote> +<A HREF="#addiconbytype">AddIconByType</A> should be used in preference to +AddIcon, when possible.<p><hr> + +<A name="addiconbyencoding"><h2>AddIconByEncoding</h2></A> +<!--%plaintext <?INDEX {\tt AddIconByEncoding} directive> --> +<strong>Syntax:</strong> AddIconByEncoding <em>icon mime-encoding mime-encoding +...</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +This sets the icon to display next to files with +<em>mime-encoding</em> for <A HREF="#fancyindexing">FancyIndexing</A>. +<em>Icon</em> is either a (%-escaped) relative URL to the icon, or of the +format (<em>alttext</em>,<em>url</em>) where <em>alttext</em> is the text tag +given for an icon for non-graphical browsers.<p> + +<em>Mime-encoding</em> is a wildcard expression matching required the +content-encoding. Examples: +<blockquote><code> +AddIconByEncoding /icons/compress.xbm x-compress +</code></blockquote><p><hr> + +<A name="addiconbytype"><h2>AddIconByType</h2></A> +<!--%plaintext <?INDEX {\tt AddIconByType} directive> --> +<strong>Syntax:</strong> AddIconByType <em>icon mime-type mime-type ...</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +This sets the icon to display next to files of type <em>mime-type</em> for +<A HREF="#fancyindexing">FancyIndexing</A>. <em>Icon</em> is either a +(%-escaped) relative URL to the icon, or of the format +(<em>alttext</em>,<em>url</em>) where <em>alttext</em> is the text tag given +for an icon for non-graphical browsers.<p> +<em>Mime-type</em> is a wildcard expression matching required the mime types. +Examples: +<blockquote><code> +AddIconByType (IMG,/icons/image.xbm) image/* +</code></blockquote><p><hr> + +<A name="defaulticon"><h2>DefaultIcon</h2></A> +<!--%plaintext <?INDEX {\tt DefaultIcon} directive> --> +<strong>Syntax:</strong> DefaultIcon <em>url</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +The DefaultIcon directive sets the icon to display for files when no +specific icon is known, for <A HREF="#fancyindexing">FancyIndexing</A>. +<em>Url</em> is a (%-escaped) relative URL to the icon. Examples: +<blockquote><code> +DefaultIcon /icon/unknown.xbm +</code></blockquote><p><hr> + +<A name="directoryindex"><h2>DirectoryIndex</h2></A> +<!--%plaintext <?INDEX {\tt DirectoryIndex} directive> --> +<strong>Syntax:</strong> DirectoryIndex <em>local-url local-url ...</em><br> +<strong>Default:</strong> <code>DirectoryIndex index.html</code><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +The DirectoryIndex directive sets the list of resources to look for, when +the client requests an index of the directory by specifying a NULL file +at the end of the a directory name. <em>Local-url</em> is the (%-encoded) URL +of a document on the server relative to the requested directory; it is usually +the name of a file in the directory. Several URLs may be given; the server +will return the first one that it finds. If none of the resources exist, +then the server will generate its own listing of the directory. +Example: +<blockquote><code> +DirectoryIndex index.html +</code></blockquote> +then a request for <code>http://myserver/docs/</code> would return +<code>http://myserver/docs/index.html</code> if it exists, or would list +the directory if it did not. <p> + +Note that the documents do not need to be relative to the directory; +<blockquote><code> +DirectoryIndex index.html index.txt /cgi-bin/index.pl</code></blockquote> +would cause the CGI script <code>/cgi-bin/index.pl</code> to be executed +if neither <code>index.html</code> or <code>index.txt</code> existed in +a directory.<p><hr> + +<A name="fancyindexing"><h2>FancyIndexing</h2></A> +<!--%plaintext <?INDEX {\tt FancyIndexing} directive> --> +<strong>Syntax:</strong> FancyIndexing <em>boolean</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +The FancyIndexing directive sets the FancyIndexing option for a directory. +<em>Boolean</em> can be <code>on</code> or <code>off</code>. The +<A HREF="#indexoptions">IndexOptions</A> directive should be used in +preference.<p><hr> + +<A name="headername"><h2>HeaderName</h2></A> +<!--%plaintext <?INDEX {\tt HeaderName} directive> --> +<strong>Syntax:</strong> HeaderName <em>filename</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +The HeaderName directive sets the name of the file that will be inserted +at the top of the index listing. <em>Filename</em> is the name of the file +to include, and is taken to be relative to the directory being indexed. +The server first attempts to include <em>filename</em><code>.html</code> +as an HTML document, otherwise it will include <em>filename</em> as plain +text. Example: +<blockquote><code>HeaderName HEADER</code></blockquote> +when indexing the directory <code>/web</code>, the server will first look for +the HTML file <code>/web/HEADER.html</code> and include it if found, otherwise +it will include the plain text file <code>/web/HEADER</code>, if it exists. + +<p>See also <A HREF="#readmename">ReadmeName</A>.<p><hr> + +<A name="indexignore"><h2>IndexIgnore</h2></A> +<!--%plaintext <?INDEX {\tt IndexIgnore} directive> --> +<strong>Syntax:</strong> IndexIgnore <em>file file ...</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +The IndexIgnore directive adds to the list of files to hide when listing +a directory. <em>File</em> is a file extension, partial filename, +wildcard expression or full filename for files to ignore. Multiple +IndexIgnore directives add to the list, rather than the replacing the list +of ignored files. By default, the list contains `<code>.</code>'. Example: +<blockquote><code> +IndexIgnore README .htaccess *~ +</code></blockquote><p><hr> + +<A name="indexoptions"><h2>IndexOptions</h2></A> +<!--%plaintext <?INDEX {\tt IndexOptions} directive> --> +<strong>Syntax:</strong> IndexOptions <em>option option ...</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +The IndexOptions directive specifies the behaviour of the directory indexing. +<em>Option</em> can be one of +<dl> +<dt>FancyIndexing +<dd><!--%plaintext <?INDEX {\tt FancyIndexing} index option> --> +This turns on fancy indexing of directories. +<dt>IconsAreLinks +<dd> +<!--%plaintext <?INDEX {\tt IconsAreLinks} index option> --> +This makes the icons part of the anchor for the filename, for +fancy indexing. +<dt>ScanHTMLTitles +<dd><!--%plaintext <?INDEX {\tt ScanHTMLTitles} index option> --> +This enables the extraction of the title from HTML documents for fancy +indexing. If the file does not have a description given by +<A HREF="#adddescription">AddDescription</A> then httpd will read the +document for the value of the TITLE tag. This is CPU and disk intensive. +<dt>SuppressLastModified +<dd> +<!--%plaintext <?INDEX {\tt SuppressLastModified} index option> --> +This will suppress the display of the last modification date, in fancy +indexing listings. +<dt>SuppressSize +<dd> +<!--%plaintext <?INDEX {\tt SuppressSize} index option> --> +This will suppress the file size in fancy indexing listings. +<dt>SuppressDescription +<dd> +<!--%plaintext <?INDEX {\tt SuppressDescription} index option> --> +This will suppress the file description in fancy indexing listings. +</dl> +This default is that no options are enabled. If multiple IndexOptions +could apply to a directory, then the most specific one is taken complete; +the options are not merged. For example: +<blockquote><code> +<Directory /web/docs> <br> +IndexOptions FancyIndexing <br> +</Directory><br> +<Directory /web/docs/spec> <br> +IndexOptions ScanHTMLTitles <br> +</Directory> +</code></blockquote> +then only <code>ScanHTMLTitles</code> will be set for the /web/docs/spec +directory.<p><hr> + +<A name="readmename"><h2>ReadmeName</h2></A> +<!--%plaintext <?INDEX {\tt ReadmeName} directive> --> +<strong>Syntax:</strong> ReadmeName <em>filename</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_dir<p> + +The ReadmeName directive sets the name of the file that will be appended +to the end of the index listing. <em>Filename</em> is the name of the file +to include, and is taken to be relative to the directory being indexed. +The server first attempts to include <em>filename</em><code>.html</code> +as an HTML document, otherwise it will include <em>filename</em> as plain +text. Example: +<blockquote><code>ReadmeName README</code></blockquote> +when indexing the directory <code>/web</code>, the server will first look for +the HTML file <code>/web/README.html</code> and include it if found, otherwise +it will include the plain text file <code>/web/README</code>, if it exists. + +<p>See also <A HREF="#headername">HeaderName</A>.<p> + +<!--%hypertext --> +<hr> +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> +<!--/%hypertext --> diff --git a/docs/manual/mod/mod_env.html b/docs/manual/mod/mod_env.html new file mode 100644 index 0000000000..3e32d26080 --- /dev/null +++ b/docs/manual/mod/mod_env.html @@ -0,0 +1,68 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_env</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<H1>Apache module mod_env</h1> + +This module is contained in the <code>mod_env.c</code> file, and +is not compiled in by default. It provides for +passing environment variables to CGI/SSI scripts. Is is only available +in Apache 1.1 and later. + +<h2>Summary</h2> + +This module allows Apache's CGI and SSI environment to inherit +environment variables from the shell which invoked the httpd process. +CERN webservers are able to do this, so this module is especially +useful to webadmins who wish to migrate from CERN to Apache without +rewriting all their scripts + +<h2>Directives</h2> +<ul> +<li><A HREF="#passenv">PassEnv</A> +<li><A HREF="#setenv">SetEnv</A> +</ul> + +<hr> + +<A name="passenv"><h2>PassEnv</h2></A> +<strong>Syntax:</strong> PassEnv <em>variable</em><br> +<strong>Context:</strong> server config, virtual host<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_env<br> +<strong>Compatibility:</strong> PassEnv is only available in +Apache 1.1 and later.<p> + +Passes an environment variable to CGI scripts from the servers's own +environment. Example: +<pre> + PassEnv LD_LIBRARY_PATH +</pre> + + +<A name="setenv"><h2>SetEnv</h2></A> +<strong>Syntax:</strong> SetEnv <em>variable value</em><br> +<strong>Context:</strong> server config, virtual host<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_env<br> +<strong>Compatibility:</strong> SetEnv is only available in +Apache 1.1 and later.<p> + +Sets an environment variable, which is then passed on to CGI +scripts. Example: +<pre> + SetEnv SPECIAL_PATH /foo/bin +</pre> + +<p><hr> + +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> + diff --git a/docs/manual/mod/mod_imap.html b/docs/manual/mod/mod_imap.html new file mode 100644 index 0000000000..195ae374b4 --- /dev/null +++ b/docs/manual/mod/mod_imap.html @@ -0,0 +1,284 @@ +<!--%hypertext --> +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<html> +<head> +<title>Apache module mod_imap</title> +</head> + +<body> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<!--/%hypertext --> +<h1>Module mod_imap</h1> + +This module is contained in the <code>mod_imap.c</code> file, and +is compiled in by default. It provides for <code>.map</code> files, +replacing the functionality of the <code>imagemap</code> CGI program. Any +directory or document type configured to use the handler <code>imap-file</code> +(using either <code><A +HREF="http://www.apache.org/docs/mod_mime.html#addhandler">AddHandler</A> +</code> or <code><A +HREF="http://www.apache.org/docs/mod_mime.html#sethandler">SetHandler</A></code>) + +will be +processed by this module. + +<h2>Summary</h2> + +This module is in the default Apache distribution. The following directive will +activate files ending with <code>.map</code> as imagemap files: + +<blockquote><code>AddHandler imap-file map</code></blockquote> + +Note that the following is still supported: + + <blockquote><code>AddType application/x-httpd-imap map</code></blockquote> + +However, we are trying to phase out "magic MIME types" so we are deprecating +this method. + +<H2>New Features</H2> +The imagemap module adds some new features that were not +possible with previously distributed imagemap programs.<P> + +<ul> +<LI>URL references relative to the Referer: information. +<LI>Default <BASE> assignment through a new map directive +<code>base</code>. +<LI>No need for <code>imagemap.conf</code> file. +<LI>Point references. +<LI>Configurable generation of imagemap menus. +</ul> +<P> + +<h2>Configuration Directives</h2> +<ul> +<li><A HREF="#imapmenu">ImapMenu</A> +<li><A HREF="#imapdefault">ImapDefault</A> +<li><A HREF="#imapbase">ImapBase</A> +</ul> + + +<p> + +<A name="imapmenu"><h3>ImapMenu</h3></A> +<strong>Syntax:</strong> ImapMenu <code>{none, formatted, semiformatted, + unformatted}</code><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Module:</strong> mod_imap.c<br> +<strong>Compatibility:</strong> ImapMenu is only available in Apache +1.1 and later.<p> + +The ImapMenu directive determines the action taken if an imagemap file +is called without valid coordinates. +<dl> + <dt><code>none</code> + <dd>If ImapMenu is + <code>none</code>, no menu is generated, and the <code>default</code> + action is performed. + <dt><code>formatted</code> + <dd>A <code>formatted</code> menu is the simplest menu. Comments + in the imagemap file are ignored. A level one header is + printed, then an hrule, then the links each on a separate line. + The menu has a consistent, plain look close to that of + a directory listing. + <dt><code>semiformatted</code> + <dd>In the <code>semiformatted</code> menu, comments are printed + where they occur in the imagemap file. Blank lines are turned + into HTML breaks. No header or hrule is printed, but otherwise + the menu is the same as a <code>formatted</code> menu. + <dt><code>unformatted</code> + <dd>Comments are printed, blank lines are ignored. Nothing is + printed that does not appear in the imagemap file. All breaks + and headers must be included as comments in the imagemap file. + This gives you the most flexibility over the appearance of your + menus, but requires you to treat your map files as HTML instead + of plaintext. +</dl> + +<p> + +<A name="imapdefault"><h3>ImapDefault</h3></A> +<strong>Syntax:</strong> ImapDefault <code>{error, nocontent, + map, referer, URL}</code><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Module:</strong> mod_imap.c<br> +<strong>Compatibility:</strong> ImapDefault is only available in Apache +1.1 and later.<p> + + +The ImapDefault directive sets the default <code>default</code> used in +the imagemap files. It's value is overridden by a <code>default</code> +directive within the imagemap file. If not present, the +<code>default</code> action is <code>nocontent</code>, which means +that a <code>204 No Content</code> is sent to the client. In this +case, the client should continue to display the original page. + +<p> + +<A name="imapbase"><h3>ImapBase</h3></A> +<strong>Syntax:</strong> ImapBase <code>{map, referer, URL}</code><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Indexes<br> +<strong>Module:</strong> mod_imap.c<br> +<strong>Compatibility:</strong> ImapBase is only available in Apache +1.1 and later.<p> + +The ImapBase directive sets the default <code>base</code> used in +the imagemap files. It's value is overridden by a <code>base</code> +directive within the imagemap file. If not present, the +<code>base</code> defaults to <code>http://servername/</code>. + +<hr> +<p> + +<h2>Imagemap File</h2> +The lines in the imagemap files can have one of several formats: +<blockquote> +<code>directive value [x,y ...]</code><br> +<code>directive value "Menu text" [x,y ...]</code><br> +<code>directive value x,y ... "Menu text"</code><br> +</blockquote> +The directive is one of <code>base</code>, <code>default</code>, +<code>poly</code>, <code>circle</code>, <code>rect</code>, or +<code>point</code>. The value is an absolute or relative URL, or one +of the special values listed below. The coordinates are +<code>x,y</code> pairs seperated by whitespace. The quoted text is +used as the text of the link if a imagemap menu is generated. Lines +beginning with '#' are comments. + +<h3>Imagemap File Directives</h3> +There are six directives allowed in the imagemap file. The directives +can come in any order, but are processed in the order they are found +in the imagemap file. +<dl> +<dt><code>base</code> Directive +<dd>Has the effect of <code><BASE href="value"></code>. The + non-absolute URLs of the mapfile are taken relative to this value. + The <code>base</code> directive overrides ImapBase as set in a + .htaccess file or in the server configuration files. In the absence + of an ImapBase configuration directive, <code>base</code> defaults to + <code>http://server_name/</code>. <br> + <code>base_uri</code> is synonymous with <code>base</code>. Note that + a trailing slash on the URL is significant. +<p> +<dt><code>default</code> Directive +<dd>The action taken if the coordinates given do not fit any of the + <code>poly</code>, <code>circle</code> or <code>rect</code> + directives, and there are no <code>point</code> directives. Defaults + to <code>nocontent</code> in the absence of an ImapDefault + configuration setting, causing a status code of <code>204 No + Content</code> to be returned. The client should keep the same + page displayed. +<p> +<dt><code>poly</code> Directive +<dd>Takes three to one-hundred points, and is obeyed if the user selected + coordinates fall within the polygon defined by these points. +<p> +<dt><code>circle</code> +<dd>Takes the center coordinates of a circle and a point on the circle. Is + obeyed if the user selected point is with the circle. +<p> +<dt><code>rect</code> Directive +<dd>Takes the coordinates of two opposing corners of a rectangle. Obeyed + if the point selected is within this rectangle. +<p> +<dt><code>point</code> Directive +<dd>Takes a single point. The point directive closest to the user + selected point is obeyed if no other directives are satisfied. + Note that <code>default</code> will not be followed if a + <code>point</code> directive is present and valid coordinates are + given. +</dl> + + + +<h3>Values</h3> +The values for each of the directives can any of the following: +<dl> + <dt>a URL + <dd>The URL can be relative or absolute URL. Relative URLs can + contain '..' syntax and will be resolved relative to the + <code>base</code> value. <br> + <code>base</code> itself will not resolved according to the current + value. A statement <code>base mailto:</code> will work properly, though. +<p> + <dt><code>map</code> + <dd>Equivalent to the URL of the imagemap file itself. No + coordinates are sent with this, so a menu will be generated + unless ImapMenu is set to 'none'. +<p> + <dt><code>menu</code> + <dd>Synonymous with <code>map</code>. +<p> + <dt><code>referer</code> + <dd>Equivalent to the URL of the refering document. + Defaults to <code>http://servername/</code> if no Referer: + header was present. +<p> + <dt><code>nocontent</code> + <dd>Sends a status code of <code>204 No Content</code>, + telling the client to keep the same page displayed. Valid for + all but <code>base</code>. +<p> + <dt><code>error</code> + <dd>Fails with a <code>500 Server Error</code>. Valid for all but + <code>base</code>, but sort of silly for anything but + <code>default</code>. +</dl> + +<h3>Coordinates</h3> +<dl> + <dt><code>0,0 200,200</code> + <dd>A coordinate consists of an <tt>x</tt> and a <tt>y</tt> value + separated by a comma. The coordinates are separated from each other + by whitespace. To accomodate the way Lynx handles imagemaps, should a + user select the coordinate <code>0,0</code>, it is as if + no coordinate had been selected. +</dl> + +<h3>Quoted Text</h3> +<dl> + <dt><code>"Menu Text"</code> + <dd>After the value or after the coordinates, the line optionally may + contain text within double quotes. This string is used as the + text for the link if a menu is generated:<br> + <code><a href="http://foo.com/">Menu text</a></code><br> + If no quoted text is present, the name of the link will be used + as the text:<br> + <code><a href="http://foo.com/">http://foo.com</a></code><br> + It is impossible to escape double quotes within this text. +</dl> + +<hr> + +<h2>Example Mapfile</h2> +<blockquote><code> +#Comments are printed in a 'formatted' or 'semiformatted' menu. <br> +#And can contain html tags. <hr> <br> +base referer <br> +poly map "Could I have a menu, please?" 0,0 0,10 10,10 10,0 <br> +rect .. 0,0 77,27 "the directory of the referer"<br> +circle http://www.inetnebr.com/lincoln/feedback/ 195,0 305,27 <br> +rect another_file "in same directory as referer" 306,0 419,27 <br> +point http://www.zyzzyva.com/ 100,100 <br> +point http://www.tripod.com/ 200,200 <br> +rect mailto:nate@tripod.com 100,150 200,0 "Bugs?" <br> +</code></blockquote> +<P> + +<h2>Referencing your mapfile</h2> +<blockquote><code> +<A HREF="/maps/imagmap1.map"> <br> +<IMG ISMAP SRC="/images/imagemap1.gif"> <br> +</A> +</code></blockquote><p> +<!--%hypertext --> +<HR> +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> +</BODY> +</HTML> +<!--/%hypertext --> + diff --git a/docs/manual/mod/mod_include.html b/docs/manual/mod/mod_include.html new file mode 100644 index 0000000000..770a8e2521 --- /dev/null +++ b/docs/manual/mod/mod_include.html @@ -0,0 +1,211 @@ +<!--%hypertext --> +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_include</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<!--/%hypertext --> +<H1>Module mod_include</h1> + +This module is contained in the <code>mod_include.c</code> file, and +is compiled in by default. It provides for server-parsed html documents, +known as SPML documents. +Any document with mime type <code>text/x-server-parsed-html</code> or +<code>text/x-server-parsed-html3</code> will be parsed by this module, +with the resulting output given the mime type <code>text/html</code>. +<!--%plaintext <?INDEX {\tt text/x-server-parsed-html} mime type> --> +<!--%plaintext <?INDEX {\tt text/x-server-parsed-html3} mime type> --> + +<h2>SPML -- Include file Format</h2> + +The document is parsed as an HTML document, with special commands embedded +as SGML comments. A command has the syntax: +<blockquote><code> +<!--#</code><em>element attribute=value attribute=value ...</em> <code>--> +</code></blockquote> +The value will often be enclosed in double quotes; many commands only allow +a single attribute-value pair. +<p> +The allowed elements are:<p> +<dl> +<dt><strong>config</strong> +<dd> +<!--%plaintext <?INDEX {\tt config} SPML element> --> +This command controls various aspects of the parsing. The valid attributes +are: +<dl> +<dt>errmsg +<dd>The value is a message that is sent back to the client if an error occurs +whilst parsing the document. +<dt>sizefmt +<dd>The value sets the format to be used which displaying the size of a file. +Valid values are <code>bytes</code> for a count in bytes, or +<code>abbrev</code> for a count in Kb or Mb as appropriate. +<dt>timefmt +<dd>The value is a string to be used by the <code>strftime(3)</code> library +routine when printing dates. +</dl> + +<dt><strong>echo</strong> +<dd> +<!--%plaintext <?INDEX {\tt echo} SPML element> --> +This command prints one of the include variables, defined below. +If the variable is unset, it is printed as <code>(none)</code>. +Any dates printed are subject to the currently configured <code>timefmt</code>. +Attributes: +<dl> +<dt>var +<dd>The value is the name of the variable to print. +</dl> + +<dt><strong>exec</strong> +<dd> +<!--%plaintext <?INDEX {\tt exec} SPML element> --> +The exec command executes a given shell command or CGI script. +The IncludesNOEXEC <A HREF="core.html#options">Option</A> disables this command +completely. The valid attributes are: +<dl> +<dt>cgi +<dd> +<!--%plaintext <?INDEX CGI scripts, {\tt exec} element and> --> +The value specifies a (%-encoded) URL relative path to the CGI script. +If the path does not begin with a (/), then it is taken to be relative to +the current document. The document referenced by this path is invoked +as a CGI script, even if the server would not normally recognise it as +such. However, the directory containing the script must be enabled for +CGI scripts (with <A HREF="mod_alias.html#scriptalias">ScriptAlias</A> +or the ExecCGI <A HREF="core.html#options">Option</A>).<p> +<!--%plaintext <?INDEX PATH\_INFO CGI variable> --> +<!--%plaintext <?INDEX QUERY\_STRING CGI variable> --> +The CGI script is given the PATH_INFO and query string (QUERY_STRING) of the +original request from the client; these cannot be specified in the URL path. +The include variables will be available to the script in addition to the +standard <A HREF="mod_cgi.html">CGI</A> environment.<p> +If the script returns a Location: header instead of output, then this +will be translated into an HTML anchor.<p> +The <code>include virtual</code> element should be used in preference to +<code>exec cgi</code>. +<dt>cmd +<dd>The server will execute the given string using <code>/bin/sh</code>. +The include variables are available to the command. +</dl> + +<dt><strong>fsize</strong> +<dd> +<!--%plaintext <?INDEX {\tt fsize} SPML element> --> +This command prints the size of the specified file, subject to the +<code>sizefmt</code> format specification. Attributes: +<dl> +<dt>file +<dd>The value is a path relative to the directory containing the current +document being parsed. +<dt>virtual +<dd>The value is a (%-encoded) URL-path relative to the current document being +parsed. If it does not begin with a slash (/) then it is taken to be relative +to the current document. +</dl> + +<dt><strong>flastmod</strong> +<dd><!--%plaintext <?INDEX {\tt exec} flastmod element> --> +This command prints the last modification date of the specified file, +subject to the <code>timefmt</code> format specification. The attributes are +the same as for the <code>fsize</code> command. + +<dt><strong>include</strong> +<dd><!--%plaintext <?INDEX {\tt include} SPML element> --> +This command inserts the text of another document or file into the parsed +file. Any included file is subject to the usual access control. If the +directory containing the parsed file has the +<A HREF="core.html#options">Option</A> +IncludesNOEXEC set, and the including the document would cause a program +to be executed, then it will not be included; this prevents the execution of +CGI scripts. Otherwise CGI scripts are invoked as normal using the complete +URL given in the command, including any query string. +<!--%plaintext <?INDEX CGI scripts, {\tt include} element and> --> +<p> + +An attribute defines the location of the document; the inclusion is done for +each attribute given to the include command. The valid attributes are: +<dl> +<dt>file +<dd>The value is a path relative to the directory containing the current +document being parsed. It cannot contain <code>../</code>, nor can it be an +absolute path. The <code>virtual</code> attribute should always be used +in preference to this one. +<dt>virtual +<dd>The value is a (%-encoded) URL relative to the current document being +parsed. The URL cannot contain a scheme or hostname, only a path and +an optional query string. If it does not begin with a slash (/) then it +is taken to be relative to the current document. +</dl> +A URL is constructed from the attribute, and the output the server +would return if the URL were accessed by the client is included in the parsed +output. Thus included files can be nested. +</dl> + +<h2>Include variables</h2> +These are available for the <code>echo</code> command, and to any program +invoked by the document. +<dl> +<dt>DATE_GMT +<dd>The current date in Greenwich Mean Time. +<dt>DATE_LOCAL +<dd>The current date in the local time zone. +<dt>DOCUMENT_NAME +<dd>The filename (excluding directories) of the document requested by the +user. +<dt>DOCUMENT_URI +<dd>The (%-decoded) URL path of the document requested by the user. Note that +in the case of nested include files, this is <em>not</em> then URL for the +current document. +<dt>LAST_MODIFIED +<dd>The last modification date of the document requested by the user. +</dl> +<p> + +<!--%hypertext --> +<hr> +<h2>Directives</h2> +<ul> +<li><A HREF="#xbithack">XBitHack</A> +</ul> +<hr> +<!--/%hypertext --> + +<A name="xbithack"><h2>XBitHack</h2></A> +<!--%plaintext <?INDEX {\tt XBitHack} directive> --> +<strong>Syntax:</strong> XBitHack <em>status</em><br> +<strong>Default:</strong> <code>XBitHack off</code><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> Options<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_include<p> + +The XBitHack directives controls the parsing of ordinary html documents. +<em>Status</em> can have the following values: +<dl> +<dt>off +<dd>No special treatment of executable files. +<dt>on +<dd>Any file that has the user-execute bit set will be treated as a +server-parsed html document. +<dt>full +<dd>As for <code>on</code> but also test the group-execute bit. If it +is set, then set the Last-modified date of the returned file to be the +last modified time of the file. If it is not set, then no last-modified date +is sent. Setting this bit allows clients and proxies to cache the result of +the request. +</dl> +<p> +<!--%hypertext --> +<hr> + +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> +<!--/%hypertext --> diff --git a/docs/manual/mod/mod_info.html b/docs/manual/mod/mod_info.html new file mode 100644 index 0000000000..6261f5f32b --- /dev/null +++ b/docs/manual/mod/mod_info.html @@ -0,0 +1,44 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<html> +<head> +<title>Apache module mod_info</title> +</head> + +<body> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<h1>Module mod_info</h1> + +This module is contained in the <code>mod_info.c</code> file. It +provides a comprehensive overview of the current server configuration +including all installed modules. This module is not compiled into the +server by default. It is only available in Apache 1.1 and later. To +enable it, add the following line to the server build Configuration +file, and rebuild the server: + +<PRE> +Module info_module mod_info.o +</PRE> + +<HR> +<P> +To configure it, add the following to your <code>access.conf</code> file. + +<PRE> +<Location /server-info> +SetHandler server-info +</Location> +</PRE> + +You may wish to add a limit clause inside the location directive to limit +access to your server configuration information.<p> +Once configured, the server information is obtained by accessing +<tt>http://your.host.dom/server-info</tt><p> + +<!--%hypertext --> +<hr> +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> +<!--/%hypertext --> diff --git a/docs/manual/mod/mod_log_agent.html b/docs/manual/mod/mod_log_agent.html new file mode 100644 index 0000000000..47de105b5a --- /dev/null +++ b/docs/manual/mod/mod_log_agent.html @@ -0,0 +1,54 @@ +<!--%hypertext --> +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_log_agent</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<!--/%hypertext --> +<H1>Module mod_log_agent</h1> + +This module is contained in the <code>mod_log_agent.c</code> file, and is not +compiled in by default. It provides for logging of the client user agents. + +<!--%hypertext --> +<ul> +<li><A HREF="#agentlog">AgentLog</A> +</ul> +<hr> +<!--/%hypertext --> + +<A name="agentlog"><h2>AgentLog</h2></A> +<!--%plaintext <?INDEX {\tt AgentLog} directive> --> +<strong>Syntax:</strong> AgentLog <em>file-pipe</em><br> +<strong>Default:</strong> <code>AgentLog logs/agent_log</code><br> +<Strong>Context:</strong> server config, virtual host<br> +<strong>Status:</strong> Extension<br> +<strong>Module:</strong> mod_log_agent<p> + +The AgentLog directive sets the name of the file to which the server will +log the UserAgent header of incoming requests. <em>File-pipe</em> is one +of +<dl><dt>A filename +<dd>A filename relative to the <A HREF="core.html#serverroot">ServerRoot</A>. +<dt> `|' followed by a command +<dd>A program to receive the agent log information on its standard input. +Note the a new program will not be started for a VirtualHost if it inherits +the AgentLog from the main server. +</dl> +<strong>Security:</strong> if a program is used, then it will be +run under the user who started httpd. This will be root if the server +was started by root; be sure that the program is secure.<p> + +This directive is provided for compatibility with NCSA 1.4.<p> +<!--%hypertext --> +<hr> + +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> +<!--/%hypertext --> diff --git a/docs/manual/mod/mod_log_config.html b/docs/manual/mod/mod_log_config.html new file mode 100644 index 0000000000..6855ec5c61 --- /dev/null +++ b/docs/manual/mod/mod_log_config.html @@ -0,0 +1,144 @@ +<!--%hypertext --> +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_log_config</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<!--/%hypertext --> +<H1>Module mod_log_config</h1> + +This module is contained in the <code>mod_log_config.c</code> file, and is not +compiled in by default. It provides for logging of the requests made to +the server, using a user-specified format. + +<h2>Summary</h2> +This is an EXPERIMENTAL module, which implements the TransferLog directive +(same as the common log module), and an additional directive, LogFormat. +Bugs would not surprise me.<P> + +The argument to the <A HREF="#logformat">LogFormat</A> is a string, which can +include literal characters copied into the log files, and `%' directives as +follows: + +<PRE> +%...h: Remote host +%...l: Remote logname (from identd, if supplied) +%...u: Remote user (from auth; may be bogus if return + status (%s) is 401) +%...t: Time, in common log format time format +%...r: First line of request +%...s: Status. For requests that got internally redirected, + this is status of the <b>original</b> request --- %...>s + for the last. +%...b: Bytes sent. +%...{Foobar}i: The contents of Foobar: header line(s) in the request + sent to the client. +%...{Foobar}o: The contents of Foobar: header line(s) in the reply. +</PRE> + +The `...' can be nothing at all (e.g. <code>"%h %u %r %s %b"</code>), or it can +indicate conditions for inclusion of the item (which will cause it +to be replaced with `-' if the condition is not met). Note that +there is no escaping performed on the strings from %r, %...i and +%...o; some with long memories may remember that I thought this was +a bad idea, once upon a time, and I'm still not comfortable with +it, but it is difficult to see how to `do the right thing' with all +of `%..i', unless we URL-escape everything and break with CLF. + +<P> + +The forms of condition are a list of HTTP status codes, which may +or may not be preceded by `!'. Thus, `%400,501{User-agent}i' logs +User-agent: on 400 errors and 501 errors (Bad Request, Not +Implemented) only; `%!200,304,302{Referer}i' logs Referer: on all +requests which did <b>not</b> return some sort of normal status. + +<P> + +The default LogFormat reproduces CLF; see below. + +<P> + +The way this is supposed to work with virtual hosts is as follows: +a virtual host can have its own LogFormat, or its own TransferLog. +If it doesn't have its own LogFormat, it inherits from the main +server. If it doesn't have its own TransferLog, it writes to the +same descriptor (meaning the same process for `| ...'). + +<P> + +That means that you can do things like: + +<blockquote><code> +<VirtualHost hosta.com><br> +LogFormat "hosta ..."<br> +...<br> +</VirtualHost><br> +<br> +<VirtualHost hosta.com><br> +LogFormat "hostb ..."<br> +...<br> +</VirtualHost></code></blockquote> + +... to have different virtual servers write into the same log file, +but have some indication which host they came from, though a %v +directive may well be a better way to handle this. Look for more +changes to come to this format.<p> + + +<!--%hypertext --> + +<h2>Directives</h2> + +<ul> +<li><A HREF="#logformat">LogFormat</A> +<li><A HREF="#transferlog">TransferLog</A> +</ul> +<hr> +<!--/%hypertext --> + +<A name="logformat"><h2>LogFormat</h2></A> +<!--%plaintext <?INDEX {\tt LogFormat} directive> --> +<strong>Syntax:</strong> LogFormat <em>string</em><br> +<strong>Default:</strong> <code>LogFormat "%h %l %u %t \"%r\" +%s %b"</code><br> +<Strong>Context:</strong> server config, virtual host<br> +<strong>Status:</strong> Experimental<br> +<strong>Module:</strong> mod_log_config<p> + +This sets the format of the logfile.<p><hr> + + +<A name="transferlog"><h2>TransferLog</h2></A> +<!--%plaintext <?INDEX {\tt TransferLog} directive> --> +<strong>Syntax:</strong> TransferLog <em>file-pipe</em><br> +<strong>Default:</strong> <code>TransferLog logs/transfer_log</code><br> +<Strong>Context:</strong> server config, virtual host<br> +<strong>Status:</strong> Experimental<br> +<strong>Module:</strong> mod_log_config<p> + +The TransferLog directive sets the name of the file to which the server will +log the incoming requests. <em>File-pipe</em> is one +of +<dl><dt>A filename +<dd>A filename relative to the <A HREF="core.html#serverroot">ServerRoot</A>. +<dt> `|' followed by a command +<dd>A program to receive the agent log information on its standard input. +Note the a new program will not be started for a VirtualHost if it inherits +the TransferLog from the main server. +</dl> +<strong>Security:</strong> if a program is used, then it will be +run under the user who started httpd. This will be root if the server +was started by root; be sure that the program is secure.<p> + +<!--%hypertext --> +<hr> +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> +<!--/%hypertext --> diff --git a/docs/manual/mod/mod_log_referer.html b/docs/manual/mod/mod_log_referer.html new file mode 100644 index 0000000000..c16e60a0a6 --- /dev/null +++ b/docs/manual/mod/mod_log_referer.html @@ -0,0 +1,80 @@ +<!--%hypertext --> +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_log_referer</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<!--/%hypertext --> +<H1>Module mod_log_referer</h1> + +This module is contained in the <code>mod_log_referer.c</code> file, and is not +compiled in by default. It provides for logging of the documents which +reference documents on the server. + +<h2>Log file format</h2> +The log file contains a separate line for each refer. Each line has the +format +<blockquote><em>uri</em> <code>-></code> <em>document</em></blockquote> +where <em>uri</em> is the (%-escaped) URI for the document that references +the one requested by the client, and <em>document</em> is the (%-decoded) +local URL to the document being referred to. + +<!--%hypertext --> +<h2>Directives</h2> +<ul> +<li><A HREF="#refererignore">RefererIgnore</A> +<li><A HREF="#refererlog">RefererLog</A> +</ul> +<hr> +<!--/%hypertext --> + +<A name="refererignore"><h2>RefererIgnore</h2></A> +<!--%plaintext <?INDEX {\tt RefererIgnore} directive> --> +<strong>Syntax:</strong> RefererIgnore <em>string string ...</em><br> +<Strong>Context:</strong> server config, virtual host<br> +<strong>Status:</strong> Extension<br> +<strong>Module:</strong> mod_log_referer<p> + +The RefererIgnore directive adds to the list of strings to ignore in +Referer headers. If any of the strings in the list is contained in +the Referer header, then no referrer information will be logged for the +request. Example: +<blockquote><code>RefererIgnore www.ncsa.uiuc.edu</code></blockquote> +This avoids logging references from www.ncsa.uiuc.edu. +<p><hr> + + +<A name="refererlog"><h2>RefererLog</h2></A> +<!--%plaintext <?INDEX {\tt RefererLog} directive> --> +<strong>Syntax:</strong> RefererLog <em>file-pipe</em><br> +<strong>Default:</strong> <code>RefererLog logs/referer_log</code><br> +<Strong>Context:</strong> server config, virtual host<br> +<strong>Status:</strong> Extension<br> +<strong>Module:</strong> mod_log_referer<p> + +The RefererLog directive sets the name of the file to which the server will +log the Referer header of incoming requests. <em>File-pipe</em> is one +of +<dl><dt>A filename +<dd>A filename relative to the <A HREF="core.html#serverroot">ServerRoot</A>. +<dt> `|' followed by a command +<dd>A program to receive the referrer log information on its standard input. +Note the a new program will not be started for a VirtualHost if it inherits +the RefererLog from the main server. +</dl> +<strong>Security:</strong> if a program is used, then it will be +run under the user who started httpd. This will be root if the server +was started by root; be sure that the program is secure.<p> + +This directive is provided for compatibility with NCSA 1.4.<p> +<!--%hypertext --> +<hr> +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> +<!--/%hypertext --> diff --git a/docs/manual/mod/mod_mime.html b/docs/manual/mod/mod_mime.html new file mode 100644 index 0000000000..c3dc14af92 --- /dev/null +++ b/docs/manual/mod/mod_mime.html @@ -0,0 +1,210 @@ +<!--%hypertext --> +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_mime</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<!--/%hypertext --> +<H1>Module mod_mime</h1> + +This module is contained in the <code>mod_mime.c</code> file, and is +compiled in by default. It provides for determining the types of files +from the filename. + +<h2>Summary</h2> +This module is used to determine the mime types of documents. Some mime +types indicate special processing to be performed by the server, otherwise +the type is returned to the client so that the browser can deal with +the document appropriately.<p> + +The filename of a document is treated as being composed of a basename followed +by some extensions, in the following order: +<blockquote><em>base.type.language.enc</em></blockquote> +The <em>type</em> extension sets the type of the document; types are defined +in the <A HREF="#typesconfig">TypesConfig</A> file and by the +<A HREF="#addtype">AddType</A> directive. The <em>language</em> extension +sets the language of the document, as defined by the +<A HREF="#addlanguage">AddLanguage</A> directive. Finally, the +<em>enc</em> directive sets the encoding of the document, as defined by +the <A HREF="#addencoding">AddEncoding</A> directive. + +<!--%hypertext --> +<h2> Directives</h2> +<ul> +<li><A HREF="#addencoding">AddEncoding</A> +<li><A HREF="#addhandler">AddHandler</A> +<li><A HREF="#addlanguage">AddLanguage</A> +<li><A HREF="#addtype">AddType</A> +<li><A HREF="#forcetype">ForceType</A> +<li><A HREF="#sethandler">SetHandler</A> +<li><A HREF="#typesconfig">TypesConfig</A> +</ul> +<hr> +<!--/%hypertext --> + +<A name="addencoding"><h2>AddEncoding</h2></A> +<!--%plaintext <?INDEX {\tt AddEncoding} directive> --> +<strong>Syntax:</strong> AddEncoding <em>mime-enc extension extension...</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> FileInfo<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_mime<p> + +The AddEncoding directive adds to the list of filename extensions which +filenames may end in for the specified encoding type. <em>Mime-enc</em> +is the mime encoding to use for documents ending in <em>extension</em>. +Example: +<blockquote><code> +AddEncoding x-gzip gz<br> +AddEncoding x-compress Z +</code></blockquote> + +This will cause files ending in .gz to be marked as encoded using the x-gzip +encoding, and .Z files to be marked as encoded with x-compress.<p><hr> + +<h2><a name="addhandler">AddHandler</a></h2> + +<strong>Syntax:</strong> <AddHandler <em>handler-name extention</em>><br> +<strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_mime<br> +<strong>Compatibility:</strong> AddHandler is only available in Apache +1.1 and later<p> + +<p>AddHandler maps the filename extension <em>extension</em> to the +<a href="handler.html">handler</a> +<em>handler-name</em>. For example, to activate CGI scripts +with the file extension "<code>.cgi</code>", you might use: +<pre> + AddHandler cgi-script cgi +</pre> + +<p>Once that has been put into your srm.conf or httpd.conf file, any +file ending with "<code>.cgi</code>" will be treated as a CGI +program.</p> + + +<A name="addlanguage"><h2>AddLanguage</h2></A> +<!--%plaintext <?INDEX {\tt AddLanguage} directive> --> +<strong>Syntax:</strong> AddLanguage <em>mime-lang extension extension...</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> FileInfo<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_mime<p> + +The AddLanguage directive adds to the list of filename extensions which +filenames may end in for the specified content language. <em>Mime-lang</em> +is the mime language of files with names ending <em>extension</em>, +after any content encoding extensions have been removed. Example: +<blockquote><code> +AddEncoding x-compress Z<br> +AddLanguage en .en<br> +AddLanguage fr .fr<br> +</code></blockquote> + +Then the document <code>xxxx.en.Z</code> will be treated as being a compressed +English document. Although the content language is reported to the client, +the browser is unlikely to use this information. The AddLanguage directive +is more useful for content negotiation, where the server returns one +from several documents based on the client's language preference.<p><hr> + +<A name="addtype"><h2>AddType</h2></A> +<!--%plaintext <?INDEX {\tt AddType} directive> --> +<strong>Syntax:</strong> AddType <em>mime-type extension extension...</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> FileInfo<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_mime<p> + +The AddType directive adds to the list of filename extensions which +filenames may end in for the specified content type. <em>Mime-enc</em> +is the mime type to use for documents ending in <em>extension</em>. +after content-encoding and language extensions have been removed. Example: +<blockquote><code> +AddType image/gif GIF +</code></blockquote> +It is recommended that new mime types be added using the AddType directive +rather than changing the <A HREF="#typesconfig">TypesConfig</A> file.<p> +Note that, unlike the NCSA httpd, this directive cannot be used to set the +type of particular files.<p><hr> + +<h2><a name="sethandler">ForceType</a></h2> + +<strong>Syntax:</strong> <ForceType <em>media type</em>><br> +<strong>Context:</strong> directory, .htaccess<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_mime<br> +<strong>Compatibility:</strong> ForceType is only available in Apache +1.1 and later.<p> + +<p>When placed into an <code>.htaccess</code> file or a +<code><Directory></code> or <code><Location</code> section, +this directive forces all matching files to be served +as the content type given by <em>media type</em>. For example, if you +had a directory full of GIF files, but did not want to label them all with +".gif", you might want to use: +<pre> + ForceType image/gif +</pre> +<p>Note that this will override any filename extensions that might +media type.</p> + +<h2><a name="sethandler">SetHandler</a></h2> + +<strong>Syntax:</strong> <SetHandler <em>handler-name</em>><br> +<strong>Context:</strong> directory, .htaccess<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_mime<br> +<strong>Compatibility:</strong> SetHandler is only available in Apache +1.1 and later.<p> + +<p>When placed into an <code>.htaccess</code> file or a +<code><Directory></code> or <code><Location</code> section, +this directive forces all matching files to be parsed through the +<a href="handler.html">handler</a> +given by <em>handler-name</em>. For example, if you had a +directory you wanted to be parsed entirely as imagemap rule files, +regardless of extension, you might put the following into an +<code>.htaccess</code> file in that directory: +<pre> + SetHandler imap-file +</pre> + +<p>Another example: if you wanted to have the server display a status +report whenever a URL of <code>http://servername/status</code> was +called, you might put the following into access.conf: +<pre> + <Location /status> + SetHandler server-status + </Location> +</pre> + + +<A name="typesconfig"><h2>TypesConfig</h2></A> +<!--%plaintext <?INDEX {\tt TypesConfig} directive> --> +<strong>Syntax:</strong> TypesConfig <em>filename</em><br> +<strong>Default:</strong> <code>TypesConfig conf/mime.types</code><br> +<Strong>Context:</strong> server config<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_mime<p> + +The TypesConfig directive sets the location of the mime types configuration +file. <em>Filename</em> is relative to the +<A HREF="#serverroot">ServerRoot</A>. This file sets the default list of +mappings from filename extensions to content types; changing this file is not +recommended. Use the <A HREF="#addtype">AddType</A> directive instead. The +file contains lines in the format of the arguments to an AddType command: +<blockquote><em>mime-type extension extension ...</em></blockquote> +The extensions are lower-cased. Blank lines, and lines beginning with a hash +character (`#') are ignored.<p> +<!--%hypertext --> +<hr> +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> +<!--/%hypertext --> diff --git a/docs/manual/mod/mod_negotiation.html b/docs/manual/mod/mod_negotiation.html new file mode 100644 index 0000000000..6b8ac6e7d5 --- /dev/null +++ b/docs/manual/mod/mod_negotiation.html @@ -0,0 +1,134 @@ +<!--%hypertext --> +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_negotiation</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<!--/%hypertext --> +<H1>Module mod_negotiation</h1> + +This module is contained in the <code>mod_negotiation.c</code> file, and +is compiled in by default. It provides for +<A HREF="content-negotiation.html">content negotiation</A>. Any document with +mime type <code>application/x-type-map</code> will be processed by this module. +<!--%plaintext <?INDEX {\tt application/x-type-map} mime type> --> + +<h2>Summary</h2> +Content negotiation, or more accurately content selection, is the +selection of the document that best matches the clients +capabilities, from one of several available documents. +There are two implementations of this. +<ul> +<li> A type map (a file with the mime type <code>application/x-type-map</code>) +which explicitly lists the files containing the variants. +<li> A MultiViews search (enabled by the MultiViews +<A HREF="core.html#options">Option</A>, where the server does an implicit +filename pattern match, and choose from amongst the results. +</ul> + +<h3>Type maps</h3> +A type map has the same format as RFC822 mail headers. It contains document +descriptions separated by blank lines, with lines beginning with a hash +character ('#') treated as comments. A document description consists of +several header records; records may be continued on multiple lines if the +continuation lines start with spaces. The leading space will be deleted +and the lines concatenated. A header record consists of a keyword +name, which always ends in a colon, followed by a value. Whitespace is allowed +between the header name and value, and between the tokens of value. + +The headers +allowed are: + +<dl> +<dt>Content-Encoding: +<dd>The encoding of the file. Currently only two encodings are recognised +by http; <code>x-compress</code> for compressed files, and <code>x-gzip</code> +for gzipped files. +<dt>Content-Language: +<dd>The language of the variant, as an Internet standard language code, such +as <code>en</code>. +<dt>Content-Length: +<dd>The length of the file, in bytes. If this header is not present, then +the actual length of the file is used. +<dt>Content-Type: +<dd>The MIME media type of the document, with optional parameters. +parameters are separated from the media type and from one another by +semi-colons. Parameter syntax is name=value; allowed parameters are: +<dl> +<dt>level +<dd>the value is an integer, which specifies the version of the media type. +For <code>text/html</code> this defaults to 2, otherwise 0. +<dt>qs +<dd>the value is a floating-point number with value between 0. and 1. +It indications the 'quality' of this variant. +</dl> +Example: +<blockquote><code>Content-Type: image/jpeg; qs=0.8</code></blockquote> +<dt>URI: +<dd>The path to the file containing this variant, relative to the map file. +</dl> + +<h3>MultiViews</h3> +A MultiViews search is enabled by the MultiViews +<A HREF="core.html#options">Option</A>. +If the server receives a request for <code>/some/dir/foo</code> and +<code>/some/dir/foo</code> does <em>not</em> exist, then the server reads the +directory looking for all files named <code>foo.*</code>, and effectively +fakes up a type map which names all those files, assigning them the same media +types and content-encodings it would have if the client had asked for +one of them by name. It then chooses the best match to the client's +requirements, and returns that document.<p> + + +<!--%hypertext --> +<h2>Directives</h2> +<ul> +<li><A href="#cachenegotiateddocs">CacheNegotiatedDocs</a> +<li><A HREF="#languagepriority">LanguagePriority</A> +</ul> +<hr> +<!--/%hypertext --> + +<A name="cachenegotiateddocs"><h2>CacheNegotiatedDocs</h2></A> +<strong>Syntax:</strong> CacheNegotiatedDocs<br> +<Strong>Context:</strong> server config<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_negotiation<br> +<strong>Compatibility:</strong> CacheNegotiatedDocs is only available +in Apache 1.1 and later.<p> + +<p>If set, this directive allows content-negotiated documents to be cached +by +proxy servers. This could mean that clients behind those proxys could +retrieve versions of the documents that are not the best match for +their abilities, but it will make caching more efficient.</p> + +<!--%hypertext --> +<A name="languagepriority"><h2>LanguagePriority</h2></A> +<!--%plaintext <?INDEX {\tt LanguagePriority} directive> --> +<strong>Syntax:</strong> LanguagePriority <em>mime-lang mime-lang...</em><br> +<Strong>Context:</strong> server config, virtual host, directory, .htaccess<br> +<Strong>Override:</strong> FileInfo<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_negotiation<p> + +The LanguagePriority sets the precedence of language variants for the case +where the client does not express a preference, when handling a +MultiViews request. The list of <em>mime-lang</em> are in order of decreasing +preference. Example: +<blockquote><code>LanguagePriority en fr de</code></blockquote> +For a request for <code>foo.html</code>, where <code>foo.html.fr</code> +and <code>foo.html.de</code> both existed, but the browser did not express +a language preference, then <code>foo.html.fr</code> would be returned.<p> +<!--%hypertext --> +<hr> + +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> +<!--/%hypertext --> diff --git a/docs/manual/mod/mod_proxy.html b/docs/manual/mod/mod_proxy.html new file mode 100644 index 0000000000..b64dcd9c6d --- /dev/null +++ b/docs/manual/mod/mod_proxy.html @@ -0,0 +1,212 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_proxy</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<H1>Apache module mod_proxy</h1> + +This module is contained in the <code>mod_proxy.c</code> file, and +is not compiled in by default. It provides for a caching proxy server. +It is only available in Apache 1.1 and later. + +<h3>Note:</h3> +<p>This module is experimental. Use at your own risk.</p> + +<h2>Summary</h2> + +This module implements a proxy/cache for Apache. It implements +proxying capability for +<code>FTP</code>, +<code>HTTP/0.9</code>, and +<code>HTTP/1.0</code>. +The module can be configured to connect to other proxy modules for these +and other protocols. + +<h2>Directives</h2> +<ul> +<li><a href="#proxyrequests">ProxyRequests</a> +<li><a href="#proxyremote">ProxyRemote</a> +<li><a href="#proxypass">ProxyPass</a> +<li><a href="#cacheroot">CacheRoot</a> +<li><a href="#cachesize">CacheSize</a> +<li><a href="#cachegcinterval">CacheGcInterval</a> +<li><a href="#cachemaxexpire">CacheMaxExpire</a> +<li><a href="#cachelastmodifiedfactor">CacheLastModifiedFactor</a> +<li><a href="#cachedefaultexpire">CacheDefaultExpire</a> +<li><a href="#nocache">NoCache</a> +</ul> + +<hr> + +<A name="proxyrequests"><h2>ProxyRequests</h2></A> +<strong>Syntax:</strong> ProxyRequests <em>on/off</em><br> +<strong>Default:</strong> <code>ProxyRequests Off</code><br> +<strong>Context:</strong> server config<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_proxy<br> +<strong>Compatibility:</strong> ProxyRequest is only available in +Apache 1.1 and later.<p> + +This allows or prevents Apache from functioning as a proxy +server. Setting ProxyRequests to 'off' does not disable use of the <a +href="#proxypass">ProxyPass</a> directive. + +<A name="proxyremote"><h2>ProxyRemote</h2></A> +<strong>Syntax:</strong> ProxyRemote <em><match> <remote-server></em><br> +<strong>Context:</strong> server config<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_proxy<br> +<strong>Compatibility:</strong> ProxyRemote is only available in +Apache 1.1 and later.<p> + +This defines remote proxies to this proxy. <match> is either the +name of a URL-scheme that the remote server supports, or a partial URL +for which the remote server should be used, or '$' to indicate the +server should be contacted for all requests. <remote-server> is a +partial URL for the remote server. Syntax: + +<pre> + <remote-server> = <protocol>://<hostname>[:port] +</pre> +<protocol> is the protocol that should be used to communicate with the +remote +server; only "http" is supported by this module. + +Example: +<pre> + ProxyRemote ftp http://ftpproxy.mydomain.com:8080 + ProxyRemote http://goodguys.com/ http://mirrorguys.com:8000 + ProxyRemote * http://cleversite.com +</pre> + +<A name="proxypass"><h2>ProxyPass</h2></A> +<strong>Syntax:</strong> ProxyPass <em><path> <url></em><br> +<strong>Context:</strong> server config<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_proxy<br> +<strong>Compatibility:</strong> ProxyPass is only available in +Apache 1.1 and later.<p> + +This directive allows remote servers to be mapped into the space of the local +server; the local server does not act as a proxy in the conventional sense, +but appears to be a mirror of the remote server. <path> is the name of +a local virtual path; <url> is a partial URL for the remote server. + +Suppose the local server has address http://wibble.org; then +<pre> + ProxyPass /mirror/foo http://foo.com +</pre> +Will cause a local request for the http://wibble.org/mirror/foo/bar to be +internally converted into a proxy request to http://foo.com/bar + +<A name="cacheroot"><h2>CacheRoot</h2></A> +<strong>Syntax:</strong> CacheRoot <em><directory></em><br> +<strong>Context:</strong> server config<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_proxy<br> +<strong>Compatibility:</strong> CacheRoot is only available in +Apache 1.1 and later.<p> + +Sets the name of the directory to contain cache files; this must be +writable +by the httpd server. + +<A name="cachesize"><h2>CacheSize</h2></A> +<strong>Syntax:</strong> CacheSize <em><size></em><br> +<strong>Default:</strong> <code>CacheSize 5</code><br> +<strong>Context:</strong> server config<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_proxy<br> +<strong>Compatibility:</strong> CacheSize is only available in +Apache 1.1 and later.<p> + +Sets the desired space usage of the cache, in Kb (1024 byte units). Although +usage may grow above this setting, the garbage collection will delete files +until the usage is at or below this setting. + +<A name="cachegcinterval"><h2>CacheGcInterval</h2></A> +<strong>Syntax:</strong> CacheGcInterval <em><time></em><br> +<strong>Context:</strong> server config<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_proxy<br> +<strong>Compatibility:</strong> CacheGcinterval is only available in +Apache 1.1 and later.<p> + +Check the cache every <time> hours, and delete files if the space +usage is greater than that set by CacheSize. + +<A name="cachemaxexpire"><h2>CacheMaxExpire</h2></A> +<strong>Syntax:</strong> CacheMaxExpire <em><time></em><br> +<strong>Default:</strong> </code>CacheMaxExpire 24</code><br> +<strong>Context:</strong> server config<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_proxy<br> +<strong>Compatibility:</strong> CacheMaxExpire is only available in +Apache 1.1 and later.<p> + +Cachable HTTP documents will be retained for at most <time> hours without +checking the origin server. Thus documents can be at most <time> +hours out of date. This restriction is enforced even if an expiry date +was supplied with the document. + +<A name="cachelastmodifiedfactor"><h2>CacheLastModifiedFactor</h2></A> +<strong>Syntax:</strong> CacheLastModifiedFactor <em><factor></em><br> +<strong>Default:</strong> </code>CacheLastModifiedFactor 0.1</code><br> +<strong>Context:</strong> server config<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_proxy<br> +<strong>Compatibility:</strong> CacheLastModified is only available in +Apache 1.1 and later.<p> + +If the origin HTTP server did not supply an expiry date for the +document, then estimate on using the formula +<pre> + expiry-period = time-since-last-modification * <factor> +</pre> +For example, if the document was last modified 10 hours ago, and +<factor> is 0.1, then the expiry period wil be set to 10*0.1 = 1 hour. + +<p>If the expiry-period would be longer than that set by CacheMaxExpire, +then the latter takes precedence. + +<A name="cachedefaultexpire"><h2>CacheDefaultExpire</h2></A> +<strong>Syntax:</strong> CacheDefaultExpire <em><time></em><br> +<strong>Default:</strong> </code>CacheDefaultExpire 1</code><br> +<strong>Context:</strong> server config<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_proxy<br> +<strong>Compatibility:</strong> CacheDefaultExpire is only available in +Apache 1.1 and later.<p> + +If the document is fetched via a protocol that does not support expirytimes, +then use <time> as the expiry time. +<a href="#cachemaxexpire">CacheMaxExpire</a> does <strong>not</strong> +override. + +<A name="nocache"><h2>NoCache</h2></A> +<strong>Syntax:</strong> NoCache <em><host/domain list></em><br> +<strong>Context:</strong> server config<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_proxy<br> +<strong>Compatibility:</strong> NoCache is only available in +Apache 1.1 and later.<p> + +The NoCache directive specifies a list of hosts and/or domains, separated +by spaces. HTTP documents from hosts or domains in the list are <em>not</em> +cached by the proxy server. Example: + +<pre> + NoCache joes.garage.com some.host.co.uk wotsamattau.edu +</pre> + +<p><hr> + +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> + diff --git a/docs/manual/mod/mod_status.html b/docs/manual/mod/mod_status.html new file mode 100644 index 0000000000..34ce9b6cc9 --- /dev/null +++ b/docs/manual/mod/mod_status.html @@ -0,0 +1,94 @@ +<html><head> +<title>Apache Status Module</title> +</head><body> + +<img src="../images/apache_sub.gif" alt=""> +<h1>Apache Status Module</h1> +<hr> + +The Status Module is only available in Apache 1.1 and later.<p> + +<h2>Function</h2> + +The Status module allows a server administrator to find out how well +their server is performing. A HTML page is presented that gives +the current server statistics in an easily readable form. If required +this page can be made to automatically refresh (given a compatible +browser). Another page gives a simple machine-readable list of the current +server state. +<p> +The details given are: +<ul> +<li>The number of children serving requests +<li>The number of idle children +<li>The status of each child, the number of requests that child has +performed and the total number of bytes served by the child (*) +<li>A total number of accesses and byte count served (*) +<li>The time the server was started/restarted and the +time it has been running for +<li>Averages giving the number of requests per second, +the number of bytes served per second and the average number +of bytes per request (*) +<li>The current percentage CPU used by each child and in total by +Apache (*) +<li>The current hosts and requests being processed (*) +</ul> + +A compile-time option must be used to display the details marked "(*)" as +the instrumentation required for obtaining these statistics does not +exist within standard Apache. + +<h2>Enabling Status Support</h2> + +To enable status reports only for browsers from the foo.com +domain add this code to your <code>access.conf</code> configuration file +<pre> + <Location /server-status> + SetHandler server-status + + <Limit GET POST> + order deny,allow + deny from all + allow from .foo.com + </Limit> + </Location> +</pre> +<p> +You can now access server statistics by using a Web browser to access the +page <code>http://your.server.name/server-status</code> +<h3>Automatic Updates</h3> +You can get the status page to update itself automatically if you have +a browser that supports "refresh". Access the page +<code>http://your.server.name/server-status?refresh=N</code> to refresh the page +every N seconds. +<h3>Machine Readable Status File</h3> +A machine-readable version of the status file is available by accessing the +page <code>http://your.server.name/server-status?auto</code>. This is useful +when automatically run, see the Perl program in the <code>/support</code> +directory of Apache, <code>log_server_status</code>. + +<h2>Full Instrumentation</h2> + +To obtain full statistics you must compile Apache with a special +directive. On some machines there may be a small performance loss +if you do this. Try full statistics and see if you notice any +difference. If you do please contact <a href="mailto:mark@ukweb.com"> +mark@ukweb.com</a> and tell me your configuration. + +<p> +Do this by adding the following to the AUX_CFLAGS line in the +"Configuration" file and then recompiling as usual. +<pre> + AUX_CFLAGS= (something) -DSTATUS +</pre> + + + + +<hr> +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="../"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> + diff --git a/docs/manual/mod/mod_userdir.html b/docs/manual/mod/mod_userdir.html new file mode 100644 index 0000000000..a1a517faff --- /dev/null +++ b/docs/manual/mod/mod_userdir.html @@ -0,0 +1,54 @@ +<!--%hypertext --> +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_userdir</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<!--/%hypertext --> +<H1>Module mod_userdir</h1> + +This module is contained in the <code>mod_userdir.c</code> file, and +is compiled in by default. It provides for user-specific directories. + +<!--%hypertext --> +<ul> +<li><A HREF="#userdir">UserDir</A> +</ul> +<hr> +<!--/%hypertext --> + +<A name="userdir"><h2>UserDir</h2></A> +<!--%plaintext <?INDEX {\tt UserDir} directive> --> +<strong>Syntax:</strong> UserDir <em>directory/filename</em><br> +<strong>Default:</strong> <code>UserDir public_html</code><br> +<Strong>Context:</strong> server config, virtual host<br> +<strong>Status:</strong> Base<br> +<strong>Module:</strong> mod_userdir<p> + +The UserDir directive sets the real directory in a user's home directory +to use when a request for a document for a user is received. +<em>Directory</em> is either <code>disabled</code>, to disable this feature, + or the name of a directory, following one of the following +patterns. If not disabled, then a request for +<code>http://www.foo.com/~bar/one/two.html</code> will be translated to: +<pre> +UserDir public_html -> ~bar/public_html/one/two.html +UserDir /usr/web -> /usr/web/bar/one/two.html +UserDir /home/*/www -> /home/bar/www/one/two.html +</pre> +The following directives will send redirects to the client: +<pre> +UserDir http://www.x.com/users -> http//www.x.com/users/bar/one/two.html +UserDir http://www.x.com/*/y -> http://www.x.com/y/one/two.html +</pre> +<!--%hypertext --> +<hr> +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> +<!--/%hypertext --> diff --git a/docs/manual/mod/mod_usertrack.html b/docs/manual/mod/mod_usertrack.html new file mode 100644 index 0000000000..c327020c8f --- /dev/null +++ b/docs/manual/mod/mod_usertrack.html @@ -0,0 +1,41 @@ +<!--%hypertext --> +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<HTML> +<HEAD> +<TITLE>Apache module mod_usertrack</TITLE> +</HEAD> + +<BODY> +<IMG SRC="../images/apache_sub.gif" ALT=""> +<!--/%hypertext --> +<H1>Module mod_usertrack</h1> + +This module is contained in the <code>mod_usertrack.c</code> file, and +is not compiled in by default. It provides for user tracking using cookies. +There is no documentation available for this module. Mark is writing this. + +<!--%hypertext --> +<menu> +<li><A HREF="#cookielog">CookieLog</A> +</menu> +<hr> +<!--/%hypertext --> + +<A name="cookielog"><h2>CookieLog</h2></A> +<!--%plaintext <?INDEX {\tt CookieLog} directive> --> +<strong>Syntax:</strong> CookieLog <em>filename</em><br> +<Strong>Context:</strong> server config, virtual host<br> +<strong>Status:</strong> Experimental<br> +<strong>Module:</strong> mod_cookies<p> + +The CookieLog directive sets the filename for logging of cookies. +The filename is relative to the <A HREF="core.html#serverroot">ServerRoot</A>. +<p> +<!--%hypertext --> +<hr> +<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A> +<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A> + +</BODY> +</HTML> +<!--/%hypertext --> |