akosut 96/11/27 23:42:19
Modified: htdocs/manual new_features_1_2.html htdocs/manual/mod core.html directives.html mod_cgi.html mod_log_config.html mod_usertrack.html Log: Some cleanup (the directives go in ALPHABETICAL ORDER, please), plus adding of some docs that Paul Sutton sent to the list on October 10th. Revision Changes Path 1.6 +2 -2 apache/htdocs/manual/new_features_1_2.html Index: new_features_1_2.html =================================================================== RCS file: /export/home/cvs/apache/htdocs/manual/new_features_1_2.html,v retrieving revision 1.5 retrieving revision 1.6 diff -C3 -r1.5 -r1.6 *** new_features_1_2.html 1996/11/28 06:56:43 1.5 --- new_features_1_2.html 1996/11/28 07:42:15 1.6 *************** *** 109,115 **** address or hostname. This lets a single vhost handles requests for multiple IPs or hostnames. ! <li><b><a href="cgi_debug.html">CGI Debugging Environment</a></b><br> <code>ScriptLog</code> allows you to now set up a log that records all input and output to failed CGI scripts. This includes environment variables, input headers, POST data, output, and more. This makes CGI --- 109,115 ---- address or hostname. This lets a single vhost handles requests for multiple IPs or hostnames. ! <li><b><a href="mod/mod_cgi.html#cgi_debug">CGI Debugging Environment</a></b><br> <code>ScriptLog</code> allows you to now set up a log that records all input and output to failed CGI scripts. This includes environment variables, input headers, POST data, output, and more. This makes CGI *************** *** 140,146 **** <li><b><a href="mod/mod_headers.html">Optional headers module</a></b><br> An optional module is included which can set arbitrary headers in responses. ! <li><b><a href="ifmod.html">Conditional Config Directives</a></b><br> A new <code><IfModule></code> section allows directives to be enabled only if a given module is loaded into the server. --- 140,146 ---- <li><b><a href="mod/mod_headers.html">Optional headers module</a></b><br> An optional module is included which can set arbitrary headers in responses. ! <li><b><a href="mod/core.html#ifmodule">Conditional Config Directives</a></b><br> A new <code><IfModule></code> section allows directives to be enabled only if a given module is loaded into the server. 1.6 +44 -14 apache/htdocs/manual/mod/core.html Index: core.html =================================================================== RCS file: /export/home/cvs/apache/htdocs/manual/mod/core.html,v retrieving revision 1.5 retrieving revision 1.6 diff -C3 -r1.5 -r1.6 *** core.html 1996/11/26 06:52:26 1.5 --- core.html 1996/11/28 07:42:16 1.6 *************** *** 14,41 **** <ul> ! <LI> <A HREF="#sendbuffersize>SendBufferSize</A> ! <LI> <A HREF="#files"><Files></A> ! <LI> <A HREF="#ifmodule"><IfModule%gt;</A> ! <LI> Satisfy ! <LI> RLimitCPU ! <LI> RLimitMEM ! <LI> RLimitNPROC ! <LI> AddModule ! <LI> ClearModuleList <li><A HREF="#accessconfig">AccessConfig</A> <li><A HREF="#accessfilename">AccessFileName</A> <li><A HREF="#allowoverride">AllowOverride</A> <li><A HREF="#authname">AuthName</A> <li><A HREF="#authtype">AuthType</A> <li><A HREF="#bindaddress">BindAdress</A> <li><A HREF="#defaulttype">DefaultType</A> <li><A HREF="#directory"><Directory></A> <li><A HREF="#documentroot">DocumentRoot</A> <li><A HREF="#errordocument">ErrorDocument</A> <li><A HREF="#errorlog">ErrorLog</A> <li><A HREF="#group">Group</A> <li><A HREF="#identitycheck">IdentityCheck</A> <li><A HREF="#keepalive">KeepAlive</A> <li><A HREF="#keepalivetimeout">KeepAliveTimeout</A> <li><A HREF="#limit"><Limit></A> --- 14,39 ---- <ul> ! <li>RLimitCPU ! <li>RLimitMEM ! <li>RLimitNPROC <li><A HREF="#accessconfig">AccessConfig</A> <li><A HREF="#accessfilename">AccessFileName</A> + <li>AddModule <li><A HREF="#allowoverride">AllowOverride</A> <li><A HREF="#authname">AuthName</A> <li><A HREF="#authtype">AuthType</A> <li><A HREF="#bindaddress">BindAdress</A> + <li>ClearModuleList <li><A HREF="#defaulttype">DefaultType</A> <li><A HREF="#directory"><Directory></A> <li><A HREF="#documentroot">DocumentRoot</A> <li><A HREF="#errordocument">ErrorDocument</A> <li><A HREF="#errorlog">ErrorLog</A> + <li><A HREF="#files"><Files></A> <li><A HREF="#group">Group</A> <li><A HREF="#identitycheck">IdentityCheck</A> + <li><A HREF="#ifmodule"><IfModule%gt;</A> <li><A HREF="#keepalive">KeepAlive</A> <li><A HREF="#keepalivetimeout">KeepAliveTimeout</A> <li><A HREF="#limit"><Limit></A> *************** *** 50,55 **** --- 48,55 ---- <li><A HREF="#port">Port</A> <li><A HREF="#require">require</A> <li><A HREF="#resourceconfig">ResourceConfig</A> + <li>Satisfy + <li><A HREF="#sendbuffersize>SendBufferSize</A> <li><A HREF="#serveradmin">ServerAdmin</A> <li><A HREF="#serveralias">ServerAlias</A> <li><A HREF="#servername">ServerName</A> *************** *** 87,98 **** <p> <hr> <A NAME="ifmodule"><H2><IfModule></H2></A> ! <STRONG>Syntax:</STRONG> <IfModule <em>modulename</em>><BR> ! <STRONG>Context:</STRONG> server config, virtual host, directory<BR> ! <STRONG>Status:</STRONG> core<p> ! Directives within the <IfModule> container are activated ! if the specified module is configured into the server. <P> <hr> --- 87,128 ---- <p> <hr> <A NAME="ifmodule"><H2><IfModule></H2></A> ! <b>Syntax:</b> <IfModule [!]<i>module-name</i>> <i>...</i> ! </IfModule><br> ! <b>Default:</b> None<br> ! <b>Context:</b> all<br> ! <b>Status:</b> Core ! <strong>Compatibility:</strong> ScriptLog is only available in 1.2 and ! later.<P> ! ! <p> ! ! The <IfModule <i>test</i>>...</IfModule> ! section is used to mark directives that are conditional. The ! directives within an IfModule section are only ! processed if the <i>test</i> is true. If <i>test</i> ! is false, everything between the start and end markers ! is ignored.<p> ! ! The <i>test</i> in the <IfModule> section directive ! can be one of two forms: ! ! <ul> ! <li><i>module name</i> ! <li>!<i>module name</i> ! </ul> ! ! <p>In the former case, the directives between the start and end markers ! are only processed if the module named <i>module name</i> is compiled ! in to Apache. The second format reverses the test, and only processes ! the directives if <i>module name</i> is <b>not</b> compiled in. ! ! <p>The <i>module name</i> argument is a module name as given as the file ! name of the module, at the time it was compiled. For example, ! <code>mod_rewrite.c</code>. ! <p><IfModule> sections are nestable, which can be used to implement ! simple multiple-module tests. <P> <hr> 1.3 +9 -1 apache/htdocs/manual/mod/directives.html Index: directives.html =================================================================== RCS file: /export/home/cvs/apache/htdocs/manual/mod/directives.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C3 -r1.2 -r1.3 *** directives.html 1996/11/25 13:56:39 1.2 --- directives.html 1996/11/28 07:42:16 1.3 *************** *** 46,52 **** <li><A HREF="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</A> <li><A HREF="mod_proxy.html#cacheroot">CacheRoot</A> <li><A HREF="mod_proxy.html#cachesize">CacheSize</A> ! <li><A HREF="mod_cookies.html#cookielog">CookieLog</A> <li><A HREF="mod_dir.html#defaulticon">DefaultIcon</A> <li><A HREF="core.html#defaulttype">DefaultType</A> <li><A HREF="mod_access.html#deny">deny</A> --- 46,55 ---- <li><A HREF="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</A> <li><A HREF="mod_proxy.html#cacheroot">CacheRoot</A> <li><A HREF="mod_proxy.html#cachesize">CacheSize</A> ! <li><A HREF="mod_cookies.html#cookielog">CookieLog</A> (mod_cookies) ! <li><A HREF="mod_log_config.html#cookielog">CookieLog</A> (mod_log_config) ! <li><A HREF="mod_usertrack.html#cookieenable">CookieEnable</A> ! <li><A HREF="mod_usertrack.html#cookieexpires">CookieExpires</A> <li><A HREF="mod_dir.html#defaulticon">DefaultIcon</A> <li><A HREF="core.html#defaulttype">DefaultType</A> <li><A HREF="mod_access.html#deny">deny</A> *************** *** 56,66 **** --- 59,71 ---- <li><A HREF="core.html#errordocument">ErrorDocument</A> <li><A HREF="core.html#errorlog">ErrorLog</A> <li><A HREF="mod_dir.html#fancyindexing">FancyIndexing</A> + <li><A HREF="core.html#files"><Files></A> <li><A HREF="mod_mime.html#forcetype">ForceType</A> <li><A HREF="core.html#group">Group</A> <li><A HREF="mod_headers.html#header">Header</A> <li><A HREF="mod_dir.html#headername">HeaderName</A> <li><A HREF="core.html#identitycheck">IdentityCheck</A> + <li><A HREF="core.html#ifmodule">IfModule</A> <li><A HREF="mod_imap.html#imapbase">ImapBase</A> <li><A HREF="mod_imap.html#imapdefault">ImapDefault</A> <li><A HREF="mod_imap.html#imapmenu">ImapMenu</A> *************** *** 98,103 **** --- 103,111 ---- <li><A HREF="core.html#resourceconfig">ResourceConfig</A> <li><A HREF="mod_actions.html#script">Script</A> <li><A HREF="mod_alias.html#scriptalias">ScriptAlias</A> + <li><A HREF="mod_cgi.html#scriptlog">ScriptLog</A> + <li><A HREF="mod_cgi.html#scriptloglength">ScriptLogLength</A> + <li><A HREF="mod_cgi.html#scriptlogbuffer">ScriptLogBufffer</A> <li><A HREF="core.html#serveradmin">ServerAdmin</A> <li><A HREF="core.html#serveralias">ServerAlias</A> <li><A HREF="core.html#servername">ServerName</A> 1.4 +103 -33 apache/htdocs/manual/mod/mod_cgi.html Index: mod_cgi.html =================================================================== RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_cgi.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C3 -r1.3 -r1.4 *** mod_cgi.html 1996/11/26 06:20:29 1.3 --- mod_cgi.html 1996/11/28 07:42:17 1.4 *************** *** 19,24 **** --- 19,25 ---- <h2>Summary</h2> Any file that has the mime type <code>application/x-httpd-cgi</code> + or handler <code>cgi-script</code> (Apache 1.1 or later) 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 *************** *** 45,85 **** </dl> <P> <h2>Directives</h2> - <ul> - <li><A HREF="#scriptlog">ScriptLog</A> - <li><A HREF="#scriptloglength">ScriptLogLength</A> - <li><A HREF="#scriptlogbuff">ScriptLogBuffer</A> - </ul> - - <A NAME="scriptlog"><H2>ScriptLog</H2></A> - - <STRONG>Syntax:</STRONG> ScriptLog <EM>filename</EM><BR> - <STRONG>Context:</STRONG> server config, virtualhost<BR> - <STRONG>Status:</STRONG> Base<BR> - <STRONG>Module:</STRONG> mod_cgi<BR> - <STRONG>Compatibility:</STRONG> ScriptLog is only available in 1.2 and - later.<P> - - <A NAME="scriptloglength"><H2>ScriptLogLength</H2></A> - - <STRONG>Syntax:</STRONG> ScriptLogLength <EM>size-bytes</EM><BR> - <STRONG>Context:</STRONG> server config, virtualhost<BR> - <STRONG>Status:</STRONG> Base<BR> - <STRONG>Module:</STRONG> mod_cgi<BR> - <STRONG>Default:</STRONG> ScriptLogLength 10385760<BR> - <STRONG>Compatibility:</STRONG> ScriptLogLength is only available in 1.2 and - later.<P> - - <A NAME="scriptlogbuff"><H2>ScriptLogBuffer</H2></A> - <STRONG>Syntax:</STRONG> ScriptLogBuffer <EM>size-bytes</EM><BR> - <STRONG>Context:</STRONG> server config, virtualhost<BR> - <STRONG>Status:</STRONG> Base<BR> - <STRONG>Module:</STRONG> mod_cgi<BR> - <STRONG>Default:</STRONG> ScriptLogBuffer 1024<BR> - <STRONG>Compatibility:</STRONG> ScriptLogBuffer is only available in 1.2 and - later.<P> <!--#include virtual="footer.html" --> </BODY> --- 46,155 ---- </dl> <P> + <hr> + + <a name="cgi_debug"><h2>CGI Debugging</h2></a> + + Debugging CGI scripts has traditionally been difficult, mainly because + it has + not + been possible to study the output (standard output and error) for + scripts + which are failing to run properly. These directives, included in + Apache 1.2 and later, provide + more detailed logging of errors when they occur. + + <hr> + + <h2>CGI Logfile Format</h2> + + When configured, the CGI error log logs any CGI which does not execute + properly. Each CGI script which fails to operate causes several lines + of information to be logged. The first two lines are always of the + format: + + <pre> + %% [<i>time</i>] <i>request-line</i> + %% <i>HTTP-status</i> <i>CGI-script-filename</i> + </pre> + + If the error is the that CGI script cannot be run, the log file will + contain + an extra two lines: + + <pre> + %%error + <i>error-message</i> + </pre> + + Alternatively, if the error is the result of the script returning the + incorrect header information (often due to a bug in the script), the + following information is logged: + + <pre> + %request + <i>All HTTP request headers received</i> + <i>POST or PUT entity (if any)</i> + %response + <i>All headers output by the CGI script</i> + %stdout + <i>CGI standard output</i> + %stderr + <i>CGI standard error</i> + </pre> + + (The %stdout and %stderr parts may be missing if the script did not + output + anything on standard output or standard error). + + <hr> + <h2>Directives</h2> + <a name="scriptlog"><h3>ScriptLog</h3></a> + + <b>Syntax:</b> ScriptLog <i>filename</i><br> + <b>Default:</b> none<br> + <b>Context:</b> resource config<br> + <b>Status:</b> mod_cgi + <p> + + The <tt>ScriptLog</tt> directive sets the CGI script error logfile. If + no + ScriptLog is given, no error log is created. If given, any CGI errors + are + logged + into the filename given as argument. If this is a relative file or + path it is + taken relative to the server root. + + <a name="scriptloglength"><h3>ScriptLogLength</h3></a> + + <b>Syntax:</b> ScriptLogLength <i>size</i><br> + <b>Default:</b> 10385760<br> + <b>Context:</b> resource config<br> + <b>Status:</b> mod_cgi + <p> + + <tt>ScriptLogLength</tt> can be used to limit the size of the CGI + script logfile. Since the logfile logs a lot of information per CGI + error (all request headers, all script output) it can grow to be a big + file. To prevent problems due to unbounded growth, this directive can + be used to set an maximum filesize for the CGI logfile. If the file + exceeds this size, no more information will be written to it. + + <a name="scriptlogbuffer"><h3>ScriptLogBuffer</h3></a> + + <b>Syntax:</b> ScriptLogBuffer <i>size</i><br> + <b>Default:</b> 1024<br> + <b>Context:</b> resource config<br> + <b>Status:</b> mod_cgi + <p> + + The size of any PUR or POST entity body that is logged to the file is + limited, to prevent the log file growing too big too quickly if large + bodies are being received. By default, up to 1024 bytes are logged, + but this can be changed with this directive. <!--#include virtual="footer.html" --> </BODY> 1.5 +33 -17 apache/htdocs/manual/mod/mod_log_config.html Index: mod_log_config.html =================================================================== RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_log_config.html,v retrieving revision 1.4 retrieving revision 1.5 diff -C3 -r1.4 -r1.5 *** mod_log_config.html 1996/11/26 09:21:41 1.4 --- mod_log_config.html 1996/11/28 07:42:17 1.5 *************** *** 165,177 **** <h2>Directives</h2> <ul> <li><A HREF="#logformat">LogFormat</A> <li><A HREF="#transferlog">TransferLog</A> - <LI><A HREF="#customlog">CustomLog</A> </ul> <hr> <A name="logformat"><h2>LogFormat</h2></A> <!--%plaintext <?INDEX {\tt LogFormat} directive> --> <strong>Syntax:</strong> LogFormat <em>string</em><br> --- 165,209 ---- <h2>Directives</h2> <ul> + <li><A HREF="#cookielog">CookieLog</A> + <LI><A HREF="#customlog">CustomLog</A> <li><A HREF="#logformat">LogFormat</A> <li><A HREF="#transferlog">TransferLog</A> </ul> <hr> + <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>Module:</strong> mod_cookies<br> + <strong>Compatibility:</strong> Only available in Apache 1.2 and above<p> + + The CookieLog directive sets the filename for logging of cookies. + The filename is relative to the <A + HREF="core.html#serverroot">ServerRoot</A>. This directive is included + only for compatibility with <a + href="mod_cookies.html">mod_cookies</a>, and is depreciated. + <p> + + <A NAME="customlog"><H2>CustomLog</H2></A> + <STRONG>Syntax:</STRONG> CustomLog <em>file-pipe</em> <em>format</em><BR> + <STRONG>Context:</STRONG> server config, virtual host<BR> + <STRONG>Status:</STRONG> Base<BR> + <STRONG>Module:</STRONG> mod_log_config<P> + + The first argument is the filename to log to. This is used + exactly like the argument to <tt>TransferLog</tt>, that is, + it is either a full path, or relative to the current + server root. <p> + + The format argument specifies a format for each line of the log file. + The options available for the format are exactly the same as for + the argument of the <tt>LogFormat</tt> directive. If the format + includes any spaces (which it will do in almost all cases) it + should be enclosed in double quotes. + <A name="logformat"><h2>LogFormat</h2></A> <!--%plaintext <?INDEX {\tt LogFormat} directive> --> <strong>Syntax:</strong> LogFormat <em>string</em><br> *************** *** 206,227 **** 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> - <A NAME="customlog"><H2>CustomLog</H2></A> - <STRONG>Syntax:</STRONG> CustomLog <em>file-pipe</em> <em>format</em><BR> - <STRONG>Context:</STRONG> server config, virtual host<BR> - <STRONG>Status:</STRONG> Base<BR> - <STRONG>Module:</STRONG> mod_log_config<P> - - The first argument is the filename to log to. This is used - exactly like the argument to <tt>TransferLog</tt>, that is, - it is either a full path, or relative to the current - server root. <p> - - The format argument specifies a format for each line of the log file. - The options available for the format are exactly the same as for - the argument of the <tt>LogFormat</tt> directive. If the format - includes any spaces (which it will do in almost all cases) it - should be enclosed in double quotes. <!--#include virtual="footer.html" --> </BODY> --- 238,243 ---- 1.3 +61 -17 apache/htdocs/manual/mod/mod_usertrack.html Index: mod_usertrack.html =================================================================== RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_usertrack.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C3 -r1.2 -r1.3 *** mod_usertrack.html 1996/11/21 10:30:54 1.2 --- mod_usertrack.html 1996/11/28 07:42:17 1.3 *************** *** 8,33 **** <!--#include virtual="header.html" --> <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. ! ! <menu> ! <li><A HREF="#cookielog">CookieLog</A> ! </menu> <hr> - <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> <!--#include virtual="footer.html" --> </BODY> --- 8,77 ---- <!--#include virtual="header.html" --> <H1>Module mod_usertrack</h1> ! Previous releases of Apache have included a module which generates a ! 'clickstream' log of user activity on a site, using cookies. This was ! called the "cookies" module, mod_cookies. In Apache 1.2 and later, this module ! has ! been renamed the "user tracking" module, mod_usertrack. This module ! has been ! simplified and new directives added. ! ! <hr> ! ! <h2>Logging</h2> ! ! Previously, the cookies module (now the user tracking module) did its ! own logging, using the <tt>CookieLog</tt> directive. In this release, ! this module does no logging at all. Instead, a configurable log ! format file should be used to log user clickstreams. This is possible ! because the logging module now allows <a ! href="multilogs.html">multiple log files</a>. The cookie itself is ! logged by using the text <tt>%{cookie}n </tt> ! ! in the log file format. For example: ! <pre> ! CustomLog logs/clickstream "%{cookie}i %r %t" ! </pre> ! ! For backward compatibility the configurable log module implements the ! old <tt>CookieLog</tt> directive, but this should be upgrade to the ! above <tt>CustomLog</tt> directive. ! ! <h2>Directives</h2> ! ! <ul> ! <li><a href="#cookieenable">CookieEnable</a> ! <li><a href="#cookieexpires">CookieExpires</a> ! </ul> ! <hr> + <a name="cookieexpires"><h2>CookieEnable</h2></A> + <strong>Sytnax:</strong> CookieEnable <em>on | off</em><br> + <strong>Context:</strong> server config, virtual host, directory, + .htaccess<br> + <strong>Override:</strong> FileInfo<br> + <strong>Status:</strong> optional<br> + <strong>Module:</strong> mod_usertrack<p> + + When the user track module is compiled in, Apache will start + sending a user-tracking cookie for all new requests. This directive + can be used to turn this behavior on or off on a per-server or + per-directory basis. + + <a name="cookieexpires"><h2>CookieExpires</h2></A> + <strong>Sytnax:</strong> CookieExpires <em>expiry-period</em><br> + <strong>Context:</strong> server config, virtual host<br> + <strong>Status:</strong> optional<br> + <strong>Module:</strong> mod_usertrack<p> + + When used, + this directive sets an expiry time on the cookie generated by the + usertrack module. The <i>expiry-period</i> can be given either as a + number of seconds, or in the format such as "2 weeks 3 days 7 hours". + Valid denominations are: years, months, weeks, hours, minues and + seconds. <!--#include virtual="footer.html" --> </BODY>