home *** CD-ROM | disk | FTP | other *** search
- of the new connection with the password in the cache. If the
- passwords match, and if the cached entry is not too old,
- <module>mod_ldap</module> bypasses the search/bind phase.</p>
-
- <p>The search and bind cache is controlled with the <directive
- module="mod_ldap">LDAPCacheEntries</directive> and <directive
- module="mod_ldap">LDAPCacheTTL</directive> directives.</p>
- </section>
-
- <section id="opcaches"><title>Operation Caches</title>
- <p>During attribute and distinguished name comparison
- functions, <module>mod_ldap</module> uses two operation caches
- to cache the compare operations. The first compare cache is
- used to cache the results of compares done to test for LDAP
- group membership. The second compare cache is used to cache
- the results of comparisons done between distinguished
- names.</p>
-
- <p>The behavior of both of these caches is controlled with
- the <directive module="mod_ldap">LDAPOpCacheEntries</directive>
- and <directive module="mod_ldap">LDAPOpCacheTTL</directive>
- directives.</p>
- </section>
-
- <section id="monitoring"><title>Monitoring the Cache</title>
- <p><module>mod_ldap</module> has a content handler that allows
- administrators to monitor the cache performance. The name of
- the content handler is <code>ldap-status</code>, so the
- following directives could be used to access the
- <module>mod_ldap</module> cache information:</p>
-
- <example>
- <Location /server/cache-info><br />
- <indent>
- SetHandler ldap-status<br />
- </indent>
- </Location>
- </example>
-
- <p>By fetching the URL <code>http://servername/cache-info</code>,
- the administrator can get a status report of every cache that is used
- by <module>mod_ldap</module> cache. Note that if Apache does not
- support shared memory, then each <code>httpd</code> instance has its
- own cache, so reloading the URL will result in different
- information each time, depending on which <code>httpd</code>
- instance processes the request.</p>
- </section>
- </section>
-
- <section id="usingssltls"><title>Using SSL</title>
-
- <p>The ability to create an SSL connections to an LDAP server
- is defined by the directives <directive module="mod_ldap">
- LDAPTrustedCA</directive> and <directive module="mod_ldap">
- LDAPTrustedCAType</directive>. These directives specify the certificate
- file or database and the certificate type. Whenever the LDAP url
- includes <em>ldaps://</em>, <module>mod_ldap</module> will establish
- a secure connection to the LDAP server.</p>
-
- <example>
- # Establish an SSL LDAP connection. Requires that <br />
- # mod_ldap and mod_auth_ldap be loaded. Change the <br />
- # "yourdomain.example.com" to match your domain.<br />
- <br />
- LDAPTrustedCA /certs/certfile.der<br />
- LDAPTrustedCAType DER_FILE<br />
- <br />
- <Location /ldap-status><br />
- <indent>
- SetHandler ldap-status<br />
- Order deny,allow<br />
- Deny from all<br />
- Allow from yourdomain.example.com<br />
- AuthLDAPEnabled on<br />
- AuthLDAPURL ldaps://127.0.0.1/dc=example,dc=com?uid?one<br />
- AuthLDAPAuthoritative on<br />
- require valid-user<br />
- </indent>
- </Location>
- </example>
-
- <p>If <module>mod_ldap</module> is linked against the
- Netscape/iPlanet LDAP SDK, it will not talk to any SSL server
- unless that server has a certificate signed by a known Certificate
- Authority. As part of the configuration
- <module>mod_ldap</module> needs to be told where it can find
- a database containing the known CAs. This database is in the same
- format as Netscape Communicator's <code>cert7.db</code>
- database. The easiest way to get this file is to start up a fresh
- copy of Netscape, and grab the resulting
- <code>$HOME/.netscape/cert7.db</code> file.</p>
-
- </section>
-
- <directivesynopsis>
- <name>LDAPSharedCacheSize</name>
- <description>Size in bytes of the shared-memory cache</description>
- <syntax>LDAPSharedCacheSize <var>bytes</var></syntax>
- <default>LDAPSharedCacheSize 102400</default>
- <contextlist><context>server config</context></contextlist>
-
- <usage>
- <p>Specifies the number of bytes to specify for the shared
- memory cache. The default is 100kb.</p>
- </usage>
- </directivesynopsis>
-
- <directivesynopsis>
- <name>LDAPCacheEntries</name>
- <description>Maximum number of entires in the primary LDAP cache</description>
- <syntax>LDAPCacheEntries <var>number</var></syntax>
- <default>LDAPCacheEntries 1024</default>
- <contextlist><context>server config</context></contextlist>
-
- <usage>
- <p>Specifies the maximum size of the primary LDAP cache. This
- cache contains successful search/binds. Set it to 0 to turn off
- search/bind caching. The default size is 1024 cached
- searches.</p>
- </usage>
- </directivesynopsis>
-
- <directivesynopsis>
- <name>LDAPCacheTTL</name>
- <description>Time that cached items remain valid</description>
- <syntax>LDAPCacheTTL <var>seconds</var></syntax>
- <default>LDAPCacheTTL 600</default>
- <contextlist><context>server config</context></contextlist>
-
- <usage>
- <p>Specifies the time (in seconds) that an item in the
- search/bind cache remains valid. The default is 600 seconds (10
- minutes).</p>
- </usage>
- </directivesynopsis>
-
- <directivesynopsis>
- <name>LDAPOpCacheEntries</name>
- <description>Number of entries used to cache LDAP compare
- operations</description>
- <syntax>LDAPOpCacheEntries <var>number</var></syntax>
- <default>LDAPOpCacheEntries 1024</default>
- <contextlist><context>server config</context></contextlist>
-
- <usage>
- <p>This specifies the number of entries <module>mod_ldap</module>
- will use to cache LDAP compare operations. The default is 1024
- entries. Setting it to 0 disables operation caching.</p>
- </usage>
- </directivesynopsis>
-
- <directivesynopsis>
- <name>LDAPOpCacheTTL</name>
- <description>Time that entries in the operation cache remain
- valid</description>
- <syntax>LDAPOpCacheTTL <var>seconds</var></syntax>
- <default>LDAPOpCacheTTL 600</default>
- <contextlist><context>server config</context></contextlist>
-
- <usage>
- <p>Specifies the time (in seconds) that entries in the
- operation cache remain valid. The default is 600 seconds.</p>
- </usage>
- </directivesynopsis>
-
- <directivesynopsis>
- <name>LDAPTrustedCA</name>
- <description>Sets the file containing the trusted Certificate Authority certificate or database</description>
- <syntax>LDAPTrustedCA <var>directory-path/filename</var></syntax>
- <contextlist><context>server config</context></contextlist>
-
- <usage>
- <p>It specifies the directory path and file name of the trusted CA
- <module>mod_ldap</module> should use when establishing an SSL
- connection to an LDAP server. If using the Netscape/iPlanet Directory
- SDK, the file name should be <code>cert7.db</code>.</p>
- </usage>
- </directivesynopsis>
-
- <directivesynopsis>
- <name>LDAPTrustedCAType</name>
- <description>Specifies the type of the Certificate Authority file</description>
- <syntax>LDAPTrustedCAType <var>type</var></syntax>
- <contextlist><context>server config</context></contextlist>
-
- <usage>
- <p>The following types are supported:<br />
- DER_FILE - file in binary DER format<br />
- BASE64_FILE - file in Base64 format<br />
- CERT7_DB_PATH - Netscape certificate database file ")</p>
- </usage>
- </directivesynopsis>
-
- </modulesynopsis>
- <?xml version="1.0" encoding="UTF-8" ?>
-
- <metafile>
- <basename>mod_ldap</basename>
- <path>/mod/</path>
- <relpath>..</relpath>
-
- <variants>
- <variant>en</variant>
- </variants>
- </metafile>
- <?xml version="1.0"?>
- <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
- <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
- <modulesynopsis metafile="mod_logio.xml.meta">
-
- <name>mod_logio</name>
- <description>Logging of input and output bytes per request</description>
- <status>Base</status>
- <sourcefile>mod_logio.c</sourcefile>
- <identifier>logio_module</identifier>
-
- <summary>
-
- <p>This module provides the logging of input and output number of
- bytes received/sent per request. The numbers reflect the actual bytes
- as received on the network, which then takes into account the
- headers and bodies of requests and responses. The counting is done
- before SSL/TLS on input and after SSL/TLS on output, so the numbers
- will correctly reflect any changes made by encryption.</p>
-
- <p>This module requires <module>mod_log_config</module>.</p>
-
- </summary>
-
- <seealso><module>mod_log_config</module></seealso>
- <seealso><a href="../logs.html">Apache Log Files</a></seealso>
-
- <section id="formats">
- <title>Custom Log Formats</title>
-
- <p>This modules adds two new logging directives. The characteristics of the
- request itself are logged by placing "<code>%</code>" directives in
- the format string, which are replaced in the log file by the values as
- follows:</p>
-
- <table border="1" style="zebra">
- <tr><th>Format String</th>
- <th>Description</th></tr>
-
- <tr><td><code>%...I</code></td>
- <td>Bytes received, including request and headers, cannot be
- zero.</td></tr>
-
- <tr><td><code>%...O</code></td>
- <td>Bytes sent, including headers, cannot be zero.</td></tr>
- </table>
-
- <p>Usually, the functionality is used like this:</p>
-
- <dl>
- <dt>Combined I/O log format:</dt>
- <dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
- \"%{User-agent}i\" %I %O"</code></dd>
- </dl>
- </section>
-
- </modulesynopsis>
- <?xml version="1.0" encoding="UTF-8" ?>
-
- <metafile>
- <basename>mod_logio</basename>
- <path>/mod/</path>
- <relpath>..</relpath>
-
- <variants>
- <variant>en</variant>
- </variants>
- </metafile>
- <?xml version="1.0"?>
- <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
- <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
- <modulesynopsis metafile="mod_log_config.xml.meta">
-
- <name>mod_log_config</name>
- <description>Logging of the requests made to the server</description>
- <status>Base</status>
- <sourcefile>mod_log_config.c</sourcefile>
- <identifier>log_config_module</identifier>
-
- <summary>
- <p>This module provides for flexible logging of client
- requests. Logs are written in a customizable format, and may be
- written directly to a file, or to an external program.
- Conditional logging is provided so that individual requests may
- be included or excluded from the logs based on characteristics
- of the request.</p>
-
- <p>Three directives are provided by this module:
- <directive module="mod_log_config">TransferLog</directive> to create
- a log file, <directive module="mod_log_config">LogFormat</directive>
- to set a custom format, and <directive module="mod_log_config"
- >CustomLog</directive> to define a log file and format in one
- step. The <directive>TransferLog</directive> and <directive
- >CustomLog</directive> directives can be used multiple times in each
- server to cause each request to be logged to multiple files.</p>
- </summary>
- <seealso><a href="../log