Er bestaat veel commerciële software om een LDAP server op Windows te bouwen, maar ze zijn òf duur, òf ze wijken van de standaards af (b.v. Active Directory).
OpenLDAP is een OpenSource LDAP server die gebouwd is voor Unix machines, het zou dus interessant zijn om het te kunnen gebruiken op Windows.
Dankzij Lucas Bergman, van FiveSight, id dat nu mogelijk. Hij heeft de nodige aanpassingen gemaakt aan de source code en biedt een ready-for-use Windows versie van OpenLDAP. De oorspronkelijke versie is niet meer voorhanden op de webstek van FiveSight, maar Lucas Bergman blijft werken aan de Windows aanpassing en biedt nu een up-to-date versie aan met Install wizard (http://lucas.bergmans.us/hacks/openldap/ ). Lucas heeft nu het geluk voornamelijk op Unix machines te werken, en Mathias Mohr heeft het overgenomen. Zijn up-to-date versies zijn te vinden op: http://download.bergmans.us/openldap/openldap-2.2.29/openldap-2.2.29-db-4.3.29-openssl-0.9.8a-win32_Setup.exe
Voor de meest ongeduldigen onder ons, of zij die zich niet interesseren voor de details van de configuratiebestanden, heeft het bedrijf Ilex een versie met een meer complete Install wizard gebouwd, maar met een oudere versie van OpenLDAP. Deze versie is voorhanden op de webstek http://www.ilex.fr/openldap.htm.
Download de installeerbare binaire versie van OpenLDAP op het adres : http://download.bergmans.us/openldap/openldap-2.2.29/openldap-2.2.29-db-4.3.29-openssl-0.9.8a-win32_Setup.exe .
De installatie starten, de taal kiezen, de licentie aanvaarden en de installatiemap kiezen.
De vooropstelling is: c:\Program Files\OpenLDAP
.
Vermist spaties in mapnamen problematisch kan zijn, is het best een andere map
te kiezen, b.v.: c:\OpenLDAP
Matthias heeft de Install Wizard verbeterd, en die registreerd nu automatisch OpenLDAP als een NT Service, en installeert de DBD werktuigen. Deze laatsten zijn handig om een corrupte database te repareren na een system crash.
De Install Wizard laat u een startmode kiezen (automatisch of manueel) en bouwt
automatisch een geldige configuratie. De startbestanden
van OpenLDAP worden gebouwd in de submap c:\openldap\run
,
de data van de personendatabank zullen bewaard worden in de submap
c:\openldap\data
.
De hoofdconfiguratie van de OpenLDAP server bevindt zich in het bestand slapd.conf
.
Het is nodig om de configuratie te wijzigen alvoor de server te starten.
Dit is slechts een snelle inwijding, zie de OpenLDAP documentatie voor meer informatie.
- Het volledige pad naar de Unicode tafels inlichten. Vooropstelling :
./ucdata
- De nodige LDAP schemas aanduiden. Een schema definieert de structuur van de personendatabank, een beetje zoals de tafels en kolommen van een databank. Het schema core is verplicht, duid het schema java aan indien OpenLDAP als JNDI server dient gebruikt te worden.
- Het pad naar de bestanden pid en args aanduiden. Deze bestanden worden door slapd bij het starten van de server gemaakt. Het eerste bestand bevat het id van het slapd process, het tweede de command-line van de server.
- Het databank type aanduiden, het formaat bdb (Berkeley DB) word automatisch voorgeselekteerd.
- De suffix van de server kiezen. Alle entries van de personendatabank
zullen aan dit suffix worden geassocieerd, de suffix is de root van de
server. Bijvoorbeeld, met
suffix "dc=guessant,dc=org"
zullen alle volledige namen van de entries op de personendatabank eindigen opdc=guessant,dc=org
. - De naam van de serverbeheerder aanduiden, de
rootdn
, evenals zijn wachtwoordrootpw
. Dit is de beheerder van de server en heeft alle rechten. De waarde vanrootdn
rootdn moet overeenkomen met de suffix. Zoals hierboven werd uitgelegd worden alle entries geassocieerd met de suffix en derootdn
is een entry van de personendatabank.
Voorbeeld van een configuratiebestand :
ucdata-path ./ucdata include ./schema/core.schema pidfile ./run/slapd.pid argsfile ./run/slapd.args database bdb suffix "dc=guessant,dc=org" rootdn "cn=Manager,dc=guessant,dc=org" rootpw secret directory ./data
Het exe-bestand slapd.exe
is de OpenLDAP server.
Het volstaat om deze de starten via de command-line of door erop
te dubbelklikken. Verwacht geen informatie in het DOS venster, maar
laat het zo geopende venster open voor de volgende stappen.
Om debug-berichten te verkrijgen moet u de opstart parameter -d
gebruiken:
slapd -d 1
Een eerste test van de server kan via de command-line tools, geleverd met OpenLDAP, worden gedaan. Bijvoorbeeld door het volgende zoek-command uit te voeren :
ldapsearch -x -s base (objectclass=*) namingContexts
Om te werken moet deze command worden uitgevoerd in een nieuw cmd
venster en vanuit de map waarin OpenLDAP werd geïnstalleerd.
Gebruik het command ldapsearch -?
voor meer informatie over
de opties van het zoek-command.
Om verder te gaan is het eenvoudiger om een LDAP klantsoftware te gebruiken zoals de LDAP Browser/Editor van Jarek Gawor, verkrijgbaar op : http://www.iit.edu/~gawojar/ldap
De klant starten en de verbindingsinformatie inschrijven :
De verbinding moet slagen, maar een foutbericht List Failed
beeldt zich af. Dit bericht verschijnt omdat de server nog geen entries heeft.
Dubbelklik het bericht voor meer gedetailleerde informatie.
Voeding van de personendatabank
Om de eerste entries van de personendatabank te maken, maakt u een tekstbestand
init.ldif
die de volgende informatie bevat (vergeet niet de namen
te veranderen om diegene te gebruiken die werden aangeduid
bij de oorspronkelijke configuratie van de server in slapd.conf):
dn: dc=guessant,dc=org objectclass: top objectclass: dcObject objectclass: organization o: Guessant dc: guessant dn: cn=Manager,dc=guessant,dc=org objectclass: organizationalRole cn: Manager
Dit bestand kan worden gemaakt onmiddellijk in de installatiemap van OpenLDAP of waar dan ook na de map te hebben toegevoegd aan het globale pad van Windows (PATH).
Het bestand laden in de personendatabank (het pad van slapd.conf en init.ldif aanduiden indien nodig) :
slapadd -f slapd.conf -l init.ldif
Het command slapadd
vermijdt de LDAP server en laadt de
veranderingen onmiddellijk in de BDB database. Herstart de LDAP server
om zijn cache te vernieuwen.
Een nieuwe verbinding met de Ldap Browser klantsoftware laat ons toe na te gaan of de entries correct werden ingevoerd. Het is nodig het vakje Anonymous Bind uit te schakelen en het deel User Info in te vullen om nieuwe entries te kunnen maken in de personendatabank.
Met het configuratievoorbeeld hierboven,
cn=Manager
invullen, het vakje
append base DN
inschakelen en het wachtwoord
secret
gebruiken.
Installatie als een NT Service
Om de LDAP server te starten bij het opstarten van de computer is het nodig OpenLDAP als een NT Service te installeren. Indien je deze optie niet hebt ingeschakeld tijdens het installeerprocess, kan je dat eenvoudigweg doen via het command :
slapd install
Om de NT Service te desinstalleren :
slapd remove
Het is mogelijk om de opstart parameters te wijzigen door de juiste registry keys aan te maken. Sla volgende informatie in een .reg bestand op en voer het uit door het te dubbelklikken :
REGEDIT4 [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\OpenLDAP-slapd\Parameters] "DebugLevel"=dword:00000000 "ConfigFile"=".\\slapd.conf" "Urls"="ldap:///"
Zie het README.txt bestand dat bij het programma komt voor meer informatie betreffende zoek algoritmes voor regestry keys
De eerste key duid het installatiepad van OpenLDAP aan.
DebugLevel
laat toe het debug niveau te wijzigen
ConfigFile
is het configuratiebestand en
Urls
is het equivalent van -h.
Meer specifiek, om de luisterpoort van openldap te wijzigen moet Urls
het volgende bevatten :
ldap://localhost:port/