|
|
Line 1: |
Line 1: |
− | {{TOCright}}
| + | Has been moved to: http://blog.kr8.de/wiki-openldap/ |
− | Um Erfahrungen mit [[LDAP]] sammeln zu können, habe ich auf meinem [[Windows2000]]-Notebook einen OpenLDAP-Server installiert.
| |
− | | |
− | == Installation OpenLDAP Server ==
| |
− | * Definitive Software Library ID: '''OpenLDAP'''
| |
− | * Installationsdatum: Juni 2003
| |
− | * Name: OpenLDAP Server
| |
− | * Version: 2.0.19
| |
− | * Hersteller/Bezugsquelle: http://lucas.bergmans.us/hacks/openldap/ (FiveSight)
| |
− | * Installationsplattform: W2k-Notebook
| |
− | * Installationsordner: D:\Programme\openldap
| |
− | * Konfigurations-Datei:
| |
− | ** D:\Programme\openldap\slapd.conf (s.u.)
| |
− | ** D:\Programme\openldap\schema\*.schema
| |
− | * Programmstart: Windows-Service
| |
− | * Systemvoraussetzungen: Berkeley DB (sleepycat)
| |
− | | |
− | === Installationsschritte ===
| |
− | # Download der Binaries von FiveSight
| |
− | # Basic Configuration: slapd.conf
| |
− | ## Include Schemas: core, cosine, nis, inetorgperson
| |
− | ## Irgendwann möchte ich auch Teile des Domino-Schemas (dominoPerson, dominoGroup,...) von Lotus Notes einspielen. Ich habe da Fragmente im iPlanet-Netscape-Format (/dokumente/kracht/email/ldap).
| |
− | ## Define LDAP Database: database ldbm - directory d:/usr/local/var/openldap-data
| |
− | ## Setup RootDN <br />
| |
− | rootdn cn=Manager
| |
− | rootpw secret
| |
− | | |
− | == Datensicherung ==
| |
− | ???????????
| |
− | | |
− | === Starten und Stoppen des OpenLDAP ===
| |
− | Ist im Win2000 als Dienst mit dem Namen "OpenLDAP Directory Service" installiert.
| |
− | | |
− | === Testen und Betrieb ===
| |
− | * Testdaten laden <br />
| |
− | slapadd -f slapd.conf -l ldiffile.ldif
| |
− | * Testweise Zugriffe als LDAP-Suche <br />
| |
− | ldapsearch -x "(&(objectclass=person)(sn=K*))"
| |
− | * Datensichern
| |
− | slapcat -f slapd.conf -l backup2003mmdd.ldif
| |
− | | |
− | === Erweiterungen des LDAP-Schemas ===
| |
− | Für die Versuche mit verschiedenen Adressbeständen habe ich diverse Erweiterungen des LDAP-Schemas vorgenommen:
| |
− | * Lotus Domino
| |
− | * Rolodap
| |
− | * MozillaABPersonObsolete
| |
− | | |
− | == TWiki-LDAP-Plugin ==
| |
− | Für das TWiki gibt es ein Plugin, mit dem man dierekt auf einen LDAP-Server zugreifen kann und die Ergebnisse einer LDAP-Query dynamisch in eine Webseite einbauen kann......
| |
− | | |
− | == Open LDAP Adressbücher ==
| |
− | Ich möchte meine [[Adressbuch|Adressbücher]] auf dem OpenLDAP-Server als Single-Source führen und dann meinen [[E-Mail-Client|E-Mail-Client]] so konfigurieren, dass er direkt darauf zugreift.
| |
− | Verschiedene Testbestände habe ich auf meinem OpenLDAP-Server bereits angelegt:
| |
− | * GMO-Veteranen mit ihren privaten E-Mail-Adressen
| |
− | * .......
| |
− | Ausser mit dem [[E-Mail-Client|E-Mail-Client]] versuche ich mit diversen web-basierten LDAP-Clients (Rolodap,...) auf die LDAP-Adressen zuzugreifen...
| |
− | | |
− | == Rolodap als LDAP-Client in PHP-Technik ==
| |
− | Ein '''LDAP-Client''' wie Rolodap ist ganz leicht bei WebProvider-Anbietern zu betreiben, da es nur PHP voraussetzt. Mein Beispiel http://www.kr8.de/rolodap
| |
− | | |
− | Schwieriger ist es dazu auch einen eigenen LDAP-Inhalt im Internet zu plazieren. Habe einen frei nutzbaren '''LDAP-Server''' bei Netscape gefunden: http://www.nldap.com .
| |
− | | |
− | Problem dabei: Rolodap verwendet Erweiterungen des LDAP-Schemas um eigene ObjectClasses (rolodapContact, rolodapUser, rolodapBook,...), aber auf dem NLDAP-Server kann man keine Schema-Erweiterungen installieren (einem geschenkten Gaul...). Also versuche ich Rolodap soweit zu modifizieren, das die wesentlichen Dinge mit den Standard-ObjectClasses funktionieren.
| |
− | | |
− | # Statt rolodapContact wird inetOrgPerson verwendet.
| |
− | ** Beim Suchen Filter für objectclass ändern (person) (in showperson.php)
| |
− | ** Beim Suchen Filter mit "(active=yes)" weglassen
| |
− | ** Jede inetOrgPerson muss das Attribut <b>uid</b> haben, da Rolodap durchgehend damit arbeitet.
| |
− | # Beim Anmelden des Users nicht nach User-Adressbüchern suchen, keine User-Adressbücher anlegen...
| |
− | # Beim Modifizieren von Contact-Daten, diejenigen Attribute totlegen, die in inetOrgPerson nicht vorkommen (z.B. officeextension, companyname, departement, affiliation, relationship, otherphone, homemail,...). Coding dazu in ldapedit_array.php.
| |
− | # Beim Anlegen neuer User (ldapadduser-array.php) und beim Modifizieren von User-Passwörtern (ldapchangepassword.php) muss als Hash-Algorithmus <b>{SHA}</b> angegeben werden, dann funktioniert es in der Testumgebung mit dem lokalen OpenLDAP jedenfalls. Dazu musste die PHP-Extension <b>php_mhash</b> aktiviert werden.
| |
− | # Das Authentifizieren eines Users finden in der Startseite (index.php ex. auth.php) durch eine <b>LDAP Bind</b> statt. Hierbei gibt es grössere Probleme beim <b>LDAP-Server www.nldap.com</b>. Die Probleme konnten eindeutig eingegrenzt werden auf den LDAP Bind, den kann man auch unabhängig von Rolodap testen.
| |
− | | |
− | == LDAP-Client '''Rolodap''' im WebProvider ==
| |
− | | |
− | [[Rolodap]] als Demo im [[WebProvider]] bei Westhost: [http://www.kr8.de/rolodap LDAP-Client Rolodap]
| |
− | | |
− | Lesende und schreibende Zugriffe auf ein LDAP-Directory werden dort mit Hilfe des PHP-Projekts [http://sourceforge.net/projects/rolodap Rolodap] demonstriert. Als LDAP-Server wird ein Test-Account [http://www.nldap.com NLDAP bei Netscape] verwendet (19.09.2003 Server Name: DEVNET-PUBLIC, Server DNS Name: nldap.com, NDS Tree Name: DEVNET-TREE, NDS Login Context: .admin.lonzo.user.novell, NDS Password: lo..., NDS User Directory: vol1:user\lonzo).
| |
− | | |
− | [[Category:DefinitiveSoftwareLibrary]]
| |
− | | |
− | -- Main.DietrichKracht - 21 Feb 2004
| |