<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.de.xsl"?>
<modulesynopsis metafile="mod_ldap.xml.meta">
<name>mod_ldap</name>
<description>LDAP-Verbindungs-Pooling und Zwischenspeicherung der
Ergebnisse für die Verwendung durch andere LDAP-Module</description>
<status>Experimentell</status>
<sourcefile>util_ldap.c</sourcefile>
<identifier>ldap_module</identifier>
<compatibility>Verfügbar ab Version 2.0.41</compatibility>
<summary>
<p>Dieses Modul soll die Leistung von Websites verbessern, die auf
Backend-Verbindungen zu LDAP-Servern angewiesen sind (LDAP steht
für Lightweight Directory Access Protocol). Neben den Funktionen der
LDAP-Standardbibliotheken enthält dieses Modul einen LDAP-
Verbindungspool und einen LDAP-Zwischenspeicher.</p>
<p>Um dieses Modul zu aktivieren, muss die LDAP-Unterstützung
beim Kompilieren mit eingebunden werden. Hierfür wird das Flag
<code>--with-ldap</code> in das <code>./configure</code>-Skript
eingefügt.</p>
<p>Für die SSL-Unterstützung muss das Modul
<module>mod_ldap</module>
mit folgenden LDAP-SDKs gebunden werden:
<a href="http://www.openldap.org/">
OpenLDAP-SDK</a> (Version 1.x und 2.x),
<a href="http://developer.novell.com/ndk/cldap.htm">Novell LDAP-SDK</a>
oder das <a href="http://www.iplanet.com/downloads/developer/">
iPlanet-SDK</a> (Netscape).</p>
</summary>
<section id="exampleconfig"><title>Beispielkonfiguration</title>
<p>Im folgenden Beispiel wird die HTTP-Basic-Authentifizierung über das
Modul <module>mod_auth_ldap</module> mit
<module>mod_ldap</module> beschleunigt.</p>
<example>
# Aktivierung des LDAP-Verbndungspools und des Cache<br />
# Aktivierung des LDAP-Cache-Status-Handlers<br />
# Hierfür müssen mod_ldap und mod_auth_ldap<br />
# geladen werden. Ändern Sie "yourdomain.example.com" für<br />
# Ihre Domäne.<br />
<br />
LDAPSharedCacheSize 200000<br />
LDAPCacheEntries 1024<br />
LDAPCacheTTL 600<br />
LDAPOpCacheEntries 1024<br />
LDAPOpCacheTTL 600<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 ldap://127.0.0.1/dc=example,dc=com?uid?one<br />
AuthLDAPAuthoritative on<br />
require valid-user<br />
</indent>
</Location>
</example>
</section>
<section id="pool"><title>LDAP-Verbindungspool</title>
<p>LDAP-Verbindungen werden Anfrage für Anfrage in den Pool
gestellt. Auf diese Weise kann der LDAP-Server verbunden bleiben und
ist bereit für die nächste Anfrage, ohne dass Verbindungen
aufgehoben,
hergestellt und erneut gebunden werden müssen. Die Leistungsvorteile
sind
mit denen der HTTP-Keepalives vergleichbar.</p>
<p>Bei einem sehr beschäftigten Server ist es möglich, dass viele
Anfragen
auf die gleiche LDAP-Serververbindung gleichzeitig zugreifen möchten.
Ist eine LDAP-Verbindung in Benutzung, erzeugt der Apache neben der
ursprünglichen eine neue Verbingung. Dadurch kann der Verbindungspool
nicht zu einem Engpass werden.</p>
<p>Das Verbindungs-Pooling muss nicht manuell in der Apache-Konfiguration
vorgenommen werden. Jedes Modul, das dieses Modul für den Zugriff auf
LDAP-Dienste nutzt, bedient sich des Verbindungspools.</p>
</section>
<section id="cache"><title>LDAP-Cache</title>
<p>Um eine Leistungssteigerung zu erreichen, benutzt das Modul
<module>mod_ldap</module> eine aggressive Caching-Strategie, die die Anzahl
der notwendigen Kontaktaufnahmen mit dem LDAP-Server verringert.
Durch das Caching kann der Durchsatz leicht verdoppelt oder verdreifacht
werden, wenn der Apache Seiten liefert, die durch
<code>mod_auth_ldap</code> geschützt sind. Außerdem wird die
Belastung des LDAP-Servers deutlich gesenkt.</p>
<p>Das Modul <module>mod_ldap</module> unterstützt mit einem
<em>Search/Bind-Cache</em> und mit zwei <em>Operation-Caches</em>
während der Vergleichsphase zwei Arten von LDAP-Caching während
des Suchens und Bindens. Jede LDAP-URL,
die vom Server benutzt wird, besitzt jeweils drei eigene Caches.</p>
<section id="search-bind"><title>Der Search/Bind-Cache</title>
<p>Das Suchen und das anschließende Binden ist der
zeitaufwändigste
Teil einer LDAP-Operation, insbesondere dann, wenn es sich um ein
großes Verzeichnis handelt. Der Search/Bind-Cache speichert alle
Suchen mit
erfolgreichem Binden zwischen. Negative Ergebnisse (erfolglose Suchen oder
erfolgloses Binden) werden nicht zwischengespeichert. Dahinter steht der
Gedanke, dass Verbindungen mit ungültigen Beglaubigungsangaben nur
einen
geringen Prozentsatz der gesamten Anzahl der Verbindungen ausmachen,
so dass weniger Cache-Speicher benutzt wird, wenn ungültige
Beglaubigungsangaben nicht zwischengespeichert werden.</p>
<p><module>mod_ldap</module> speichert den Benutzernamen, den DN
(Distinguished Name), das Passwort für die Bindung sowie den
Zeitpunkt
des Bindens im Cache. Wird eine neue Verbindung mit dem gleichen
Benutzernamen eingerichtet, vergleicht <module>mod_ldap</module>
das Passwort der neuen Verbindung mit dem Passwort im Cache. Stimmen
sie überein und ist der Cache-Eintrag nicht zu alt, überspringt
<module>mod_ldap</module> die Such- und Bindephase.</p>
<p>Der Such- und Binde-Cache wird mit den Direktiven
<directive module="mod_ldap">LDAPCacheEntries</directive> und
<directive module="mod_ldap">LDAPCacheTTL</directive>
kontrolliert.</p>
</section>
<section id="opcaches"><title>Operation-Caches</title>
<p>Während des Attribut- und Distinguished-Name-Vergleichs verwendet
<module>mod_ldap</module> zwei Operation-Caches zur
Zwischenspeicherung der Vergleichsoperationen. Im ersten Cache werden
die Ergebnisse von Vergleichen zur Überprüfung der LDAP-
Gruppenmitgliedschaft zwischengespeichert. Im zweiten Cache werden die
Ergebnisse von Vergleichen zwischen Distinguished-Names abgelegt.</p>
<p>Das Verhalten beider Zwischenspeicher wird mit den Anweisungen
<directive module="mod_ldap">LDAPOpCacheEntries</directive>
und <directive module="mod_ldap">LDAPOpCacheTTL</directive>
kontrolliert.</p>
</section>
<section id="monitoring"><title>Den Cache überwachen</title>
<p><module>mod_ldap</module> verfügt über einen Content-Handler
mit der Bezeichnung <code>ldap-status</code>, mit dem Administratoren
die Cache-Leistung überwachen können. Mit den folgenden
Anweisungen
kann auf die Cache-Informationen von <module>mod_ldap</module>
zugegriffen werden:</p>
<example>
<Location /server/cache-info><br />
<indent>
SetHandler ldap-status<br />
</indent>
</Location>
</example>
<p>Über die URL <code>http://servername/cache-info</code> erhält
der Administrator einen Statusbericht für jeden vom Modul
<module>mod_ldap</module> benutzten Cache. Unterstützt der Apache
die gemeinsame Speichernutzung nicht, dann besitzt jede<code>httpd</code>-
Instanz einen eigenen Cache, so dass das erneute Laden der URL jeweils
unterschiedliche Informationen liefert, je nach dem, welche
<code>httpd</code>-Instanz die Anfrage verarbeitet.</p>
</section>
</section>
<section id="usingssltls"><title>SSL verwenden</title>
<p>Die Möglichkeit, SSL-Verbindungen zu einem LDAP-Server
herzustellen, wird mit den Anweisungen
<directive module="mod_ldap">LDAPTrustedCA</directive> und
<directive module="mod_ldap">LDAPTrustedCAType</directive> gesteuert.
Diese Direktiven geben die Zertifikatsdatei oder Datenbank sowie den
Zertifikatstyp an. Enthält eine LDAP-URL <em>ldaps://</em>, dann
richtet
<module>mod_ldap</module> eine sichere Verbindung zum
LDAP-Server ein.</p>
<example>
# Einrichtung einer SSL-LDAP-Verbindung.<br />
# mod_ldap und mod_auth_ldap müssen geladen sein. Ändern Sie<br
/>
# "yourdomain.example.com" für Ihre Domäne.<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>Wenn <module>mod_ldap</module> mit dem
Netscape/iPlanet LDAP-SDK gebunden ist, wird mit SSL-Servern nur
kommuniziert, wenn der Server über ein von einer bekannten
Zertifizierungsinstanz (CA) gezeichnetes Zertifikat verfügt.
Hierfür muss dem
Modul <module>mod_ldap</module> in der Konfiguration mitgeteilt werden,
wo eine Datenbank mit den bekannten CAs zu finden ist. Diese Datenbank
hat das gleiche Format wie die <code>cert7.db</code>-Datei des
Netscape Communicator. Am einfachsten wird auf diese Datei zugegriffen,
indem eine neue Kopie Netscape gestartet und auf die
<code>$HOME/.netscape/cert7.db</code>-Datei zugegriffen wird.</p>
</section>
<directivesynopsis>
<name>LDAPSharedCacheSize</name>
<description>Die größe der drei gemeinsam genutzten Cache-Speicher
in Byte</description>
<syntax>LDAPSharedCacheSize <var>Byte</var></syntax>
<default>LDAPSharedCacheSize 102400</default>
<contextlist><context>server config</context></contextlist>
<usage>
<p>Legt die Größe des gemeinsam genutzten Cache-Speichers in
Byte fest.
Die Voreinstellung sind 100 kByte.</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>LDAPCacheEntries</name>
<description>Maximale Anzahl der Einträge im primären
LDAP-Cache</description>
<syntax>LDAPCacheEntries <var>Anzahl</var></syntax>
<default>LDAPCacheEntries 1024</default>
<contextlist><context>server config</context></contextlist>
<usage>
<p>Gibt die maximale Anzahl der Einträge im primären LDAP-Cache
an. Dieser
Cache enthält die Ergebisse erfolgereicher Suchen und erfolgreichen
Bindens. Der Wert <code>0</code> schaltet das Search/Bind-Caching aus.
Die Voreinstellung lässt 1.024 Einträge zu.</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>LDAPCacheTTL</name>
<description>Der Zeitraum, über den ein Eintrag gültig
bleibt.</description>
<syntax>LDAPCacheTTL <var>Sekunden</var></syntax>
<default>LDAPCacheTTL 600</default>
<contextlist><context>server config</context></contextlist>
<usage>
<p>Gibt den Zeitraum in Sekunden an, über den ein Eintrag im
Search/Bind-Cache gültig bleibt. Die Vorgabe liegt bei 600 Sekunden
oder 10 Minuten.</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>LDAPOpCacheEntries</name>
<description>Die Anzahl der Einträge für Vergleichsoperationen im
Cache</description>
<syntax>LDAPOpCacheEntries <var>Anzahl</var></syntax>
<default>LDAPOpCacheEntries 1024</default>
<contextlist><context>server config</context></contextlist>
<usage>
<p>Gibt die Anzahl der Einträge an, die <module>mod_ldap</module>
für die Zwischenspeicherung von LDAP-Vergleichsoperationen verwendet.
Die Voreinstellung sind 1.024 Einträge. Der Wert <code>0</code>
deaktiviert
das Operation-Caching.</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>LDAPOpCacheTTL</name>
<description>Der Zeitraum, über den Einträge im Operation-Cache
gültig bleiben.</description>
<syntax>LDAPOpCacheTTL <var>Sekunden</var></syntax>
<default>LDAPOpCacheTTL 600</default>
<contextlist><context>server config</context></contextlist>
<usage>
<p>Gibt den Zeitraum in Sekunden an, über den Einträge im
Operation-Cache gültig sind. Die Voreinstellung sind 600 Sekunden.</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>LDAPTrustedCA</name>
<description>Die Datei oder Datenbank mit dem Zertifikat der
Zertifizierungsinstanz</description>
<syntax>LDAPTrustedCA <var>Verzeichnispfad/Dateiname</var></syntax>
<contextlist><context>server config</context></contextlist>
<usage>
<p>Gibt den Pfad und Dateinamen zum Zertifikat der CA an, das
<module>mod_ldap</module> bei der Einrichtung einer
SSL-Verbindung zu einem LDAP-Server benutzen soll. Wird das
Netscape/iPlanet Directory-SDK benutzt, lautet der Dateiname
<code>cert7.db</code>.</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>LDAPTrustedCAType</name>
<description>Der Type der CA-Datei</description>
<syntax>LDAPTrustedCAType <var>Typ</var></syntax>
<contextlist><context>server config</context></contextlist>
<usage>
<p>Folgende Typen können angegeben werden:<br />
DER_FILE - Binäres DER-Format<br />
BASE64_FILE - Base64-Textformat<br />
CERT7_DB_PATH - Netscape Zertifikat-Datenbankdatei ")</p>
</usage>
</directivesynopsis>
</modulesynopsis>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]