Commit 209f8b5f authored by Justin Erenkrantz's avatar Justin Erenkrantz
Browse files

Plug some holes in the current documentation.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@332942 13f79535-47bb-0310-9956-ffa450edef68
parent 5f3487aa
Loading
Loading
Loading
Loading
+20 −1
Original line number Diff line number Diff line
@@ -538,7 +538,26 @@
<h2><a name="other" id="other">Other Log Files</a></h2>
    

    <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritelog">RewriteLog</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriteloglevel">RewriteLogLevel</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlog">ScriptLog</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptloglength">ScriptLogLength</a></code></li></ul></td></tr></table>
    <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_logio.html">mod_logio</a></code></li><li><code class="module"><a href="./mod/mod_log_forensic.html">mod_log_forensic</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_log_forensic.html#forensiclog">ForensicLog</a></code></li><li><code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritelog">RewriteLog</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriteloglevel">RewriteLogLevel</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlog">ScriptLog</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptloglength">ScriptLogLength</a></code></li></ul></td></tr></table>

    <h3>Logging actual bytes sent and recieved</h3>
      

      <p><code class="module"><a href="./mod/mod_logio.html">mod_logio</a></code> adds in two additional
         <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> fields
         (%I and %O) that log the actual number of bytes received and sent
         on the network.</p>
    

    <h3>Forensic Logging</h3>
      

      <p><code class="module"><a href="./mod/mod_log_forensic.html">mod_log_forensic</a></code> provides for forensic logging of
         client requests. Logging is done before and after processing a
         request, so the forensic log contains two log lines for each
         request. The forensic logger is very strict with no customizations.
         It can be an invaluable debugging and security tool.</p>
    

    <h3><a name="pidfile" id="pidfile">PID File</a></h3>
      
+23 −0
Original line number Diff line number Diff line
@@ -567,10 +567,14 @@

    <related>
      <modulelist>
        <module>mod_logio</module>
        <module>mod_log_forensic</module>
        <module>mod_cgi</module>
        <module>mod_rewrite</module>
      </modulelist>
      <directivelist>
        <directive module="mod_log_config">LogFormat</directive>
        <directive module="mod_log_forensic">ForensicLog</directive>
        <directive module="mpm_common">PidFile</directive>
        <directive module="mod_rewrite">RewriteLog</directive>
        <directive module="mod_rewrite">RewriteLogLevel</directive>
@@ -580,6 +584,25 @@
      </directivelist>
    </related>

    <section>
      <title>Logging actual bytes sent and recieved</title>

      <p><module>mod_logio</module> adds in two additional
         <directive module="mod_log_config">LogFormat</directive> fields
         (%I and %O) that log the actual number of bytes received and sent
         on the network.</p>
    </section>

    <section>
      <title>Forensic Logging</title>

      <p><module>mod_log_forensic</module> provides for forensic logging of
         client requests. Logging is done before and after processing a
         request, so the forensic log contains two log lines for each
         request. The forensic logger is very strict with no customizations.
         It can be an invaluable debugging and security tool.</p>
    </section>

    <section id="pidfile">
      <title>PID File</title>

+25 −8
Original line number Diff line number Diff line
@@ -39,15 +39,16 @@ to change the scope of other configuration directives.</p>
<div class="section">
<h2><a name="types" id="types">Types of Configuration Section Containers</a></h2>

<table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="./mod/core.html">core</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li></ul></td></tr></table>
<table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="./mod/core.html">core</a></code></li><li><code class="module"><a href="./mod/mod_version.html">mod_version</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code></li><li><code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li></ul></td></tr></table>

<p>There are two basic types of containers.  Most containers are
evaluated for each request.  The enclosed directives are applied only
for those requests that match the containers.  The <code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code> and <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> containers, on the
other hand, are evaluated only at server startup and restart.  If
their conditions are true at startup, then the enclosed directives
will apply to all requests.  If the conditions are not true, the
enclosed directives will be ignored.</p>
for those requests that match the containers.  The <code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code>, <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code>, and
<code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code>
containers, on the other hand, are evaluated only at server startup
and restart.  If their conditions are true at startup, then the
enclosed directives will apply to all requests.  If the conditions are
not true, the enclosed directives will be ignored.</p>

<p>The <code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code> directive
encloses directives that will only be applied if an appropriate
@@ -82,8 +83,24 @@ MimeMagicFile conf/magic<br />
&lt;/IfModule&gt;
</code></p></div>

<p>Both <code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code>
and <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code>
<p>The <code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code>
directive is very similar to <code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code> and <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code>, except it encloses directives that will
only be applied if a particular version of the server is executing.  This
module is designed for the use in test suites and large networks which have to
deal with different httpd versions and different configurations.</p>

<div class="example"><p><code>
  &lt;IfVersion &gt;= 2.1&gt;<br />
  <span class="indent">
    # this happens only in versions greater or<br />
    # equal 2.1.0.<br />
  </span>
  &lt;/IfVersion&gt;
</code></p></div>

<p><code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code>,
<code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code>, and the
<code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code>
can apply negative conditions by preceding their test with "!".
Also, these sections can be nested to achieve more complex
restrictions.</p>
+29 −9
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ to change the scope of other configuration directives.</p>
<related>
<modulelist>
<module>core</module>
<module>mod_version</module>
<module>mod_proxy</module>
</modulelist>
<directivelist>
@@ -46,6 +47,7 @@ to change the scope of other configuration directives.</p>
<directive type="section" module="core">FilesMatch</directive>
<directive type="section" module="core">IfDefine</directive>
<directive type="section" module="core">IfModule</directive>
<directive type="section" module="mod_version">IfVersion</directive>
<directive type="section" module="core">Location</directive>
<directive type="section" module="core">LocationMatch</directive>
<directive type="section" module="mod_proxy">Proxy</directive>
@@ -57,12 +59,13 @@ to change the scope of other configuration directives.</p>
<p>There are two basic types of containers.  Most containers are
evaluated for each request.  The enclosed directives are applied only
for those requests that match the containers.  The <directive
type="section" module="core">IfDefine</directive> and <directive
type="section" module="core">IfModule</directive> containers, on the
other hand, are evaluated only at server startup and restart.  If
their conditions are true at startup, then the enclosed directives
will apply to all requests.  If the conditions are not true, the
enclosed directives will be ignored.</p>
type="section" module="core">IfDefine</directive>, <directive
type="section" module="core">IfModule</directive>, and
<directive type="section" module="mod_version">IfVersion</directive>
containers, on the other hand, are evaluated only at server startup
and restart.  If their conditions are true at startup, then the
enclosed directives will apply to all requests.  If the conditions are
not true, the enclosed directives will be ignored.</p>

<p>The <directive type="section" module="core">IfDefine</directive> directive
encloses directives that will only be applied if an appropriate
@@ -99,8 +102,26 @@ MimeMagicFile conf/magic<br />
&lt;/IfModule&gt;
</example>

<p>Both <directive type="section" module="core">IfDefine</directive>
and <directive type="section" module="core">IfModule</directive>
<p>The <directive type="section" module="mod_version">IfVersion</directive>
directive is very similar to <directive type="section"
module="core">IfDefine</directive> and <directive type="section"
module="core">IfModule</directive>, except it encloses directives that will
only be applied if a particular version of the server is executing.  This
module is designed for the use in test suites and large networks which have to
deal with different httpd versions and different configurations.</p>

<example>
  &lt;IfVersion >= 2.1&gt;<br />
  <indent>
    # this happens only in versions greater or<br />
    # equal 2.1.0.<br />
  </indent>
  &lt;/IfVersion&gt;
</example>

<p><directive type="section" module="core">IfDefine</directive>,
<directive type="section" module="core">IfModule</directive>, and the
<directive type="section" module="mod_version">IfVersion</directive>
can apply negative conditions by preceding their test with "!".
Also, these sections can be nested to achieve more complex
restrictions.</p>
@@ -495,4 +516,3 @@ Deny from badguy.example.com<br />

</section>
</manualpage>