LDAP - ksiazka adresowa
Marcin Krzyzanowski [krzyzak] http://hakore.com Warszawa 14.02.2001
Książka Adresowa w sieci ? nic prostszego.
Jestem wlasnie znow na bierzaco z LDAP'em, postanowilem wiec przyblizyc Ci nieco instalacje i konfiguracje ksiazki adresowej z wykostaniem LDAP'a, a konkretniej OpenLDAP.
przykladowy plik slapd.conf
#------------------------- START
include /usr/local/openldap/etc/openldap/slapd.at.conf
include /usr/local/openldap/etc/openldap/slapd.oc.conf
pidfile /usr/local/openldap/var/slapd.pid
argsfile /usr/local/openldap/var/slapd.args
database ldbm
suffix "o=FIRMA, c=PL"
# katalog w ktorym przechowywana jest baza
directory /usr/local/openldap/var/FIRMA
# "konto" Admininistratora, z haslem
rootdn "cn=Manager, o=FIRMA, c=PL"
rootpw secret
index default none
# uprawnienia mozna dowolnie modyfikowac
access to * by * read
#---------------------------END
Po wiecej informacji odsylam do man slapd.conf
7. Utwórz swoj obiekt ktory bedzie opsywal przechowywane w bazie dane, w tym
cely nalezy wyedytowac plik slapd.oc.conf
(/usr/local/openldap/etc/openldap/slapd.oc.conf) dodajac np.
objectclass AddressesBook
requires sn,
cn,
mail,
objectclass
allows nickname,
usehtmlmail,
o,
l,
givenname,
sn,
st,
description,
title,
streetaddress,
postalcode,
c,
telephonenumber,
homephone,
facsimiletelephonenumber,
ou,
pager,
mobile,
seeAlso
8. nastepnie wyedytuj plik slapd.at.conf i dopisz:
attribute nickname cis
attribute usehtmlmail bool
attribute givenname cis
9. No i swietnie, jestesmy przygotowani do zapelnienia naszej bazy jakimis danymi. W tym przypadku adresami... Ja uzywam do tego celu formatu ldif ktory importuje do bazy.
10. W tym celu utwórz plik np. telefony.ldif
11. Poczatek takiego pliku powinien wygladac w tym przypadku jakos tak:
dn: o=FIRMA, c=PL
dn: cn=Manager, o=FIRMA, c=PL
dn: ou=telefony,o=FIRMA, c=PL
objectclass: top
objectclass: organization
o: FIRMA
o: Nasza Wspaniala Firma nazywajaca sie JAKOS
o: firemka
cn: Manager
sn: Manager
objectclass: top
objectclass: person
ou: telefony
objectclass: top
objectclass: organizationalUnit
description: tu sa nasz telefony
12. baza jest gotowa od tego momentu mozna dopisywac juz rekordy wykozystujac pola zdefiniowane w punkcie 7 np.
dn: cn=Jan Kowalski, ou=telefony,o=FIRMA,c=PL
cn: Jan Kowalski
objectclass: top
objectclass: person
objectclass: AddressesBook
givename: Jan
sn: Kowalski
o: AHOJ
ou: DZIAL LIKWIDACJI AHOJA
telephoneNumber: 0700300300
l: Warszawa
mail: likwidator@ahoj.pl
13. i tak dalej .. i tak dalej.. ja w tym celu napisalem sobie skrypcik w perlu ktory wygenerowal mi pocje kilkudziesieciu takich rekordow z otrzymanych danych.
14. teraz trzebaby jakos to wrzucic do bazy.. mozna tak:
host$ ldif2ldbm -i telefony.ldif
15. i juz... teraz odpal daemona slapd i juz dziala...
16. sprawdzmy czy jest ok
host$ ldapsearch -b "ou=telefony,o=FIRMA,c=PL" cn=*
cn=Jan Kowalski, ou=telefony,o=FIRMA,c=PL
cn=Jan Kowalski
objectclass: top
objectclass: person
objectclass: AddressesBook
givename: Jan
sn=Kowalski
o=AHOJ
ou=DZIAL LIKWIDACJI AHOJA
telephoneNumber=0700300300
l=Warszawa
mail=likwidator@ahoj.pl
jest ok.
17. w Netscape ustaw w Communicator->Address Book->File->New Directory adres serwera i drzewo przeszukiwania, w tym przypadku bedzie to "ou=telefony,o=FIRMA,c=PL" a w Outlooku robi sie to przez uslugi katalogowe...
18. Prawda ze proste ?
19. do przegladania wygodnie uzywac np. LDAP UserDirectory (./ud)
20. Nowe rekordy dodawac mozna recznie przez ldapadd [parametry] lub skryptami,www, innymi narzedziami ktorych jest sporo w sieci.
21. przydatne linki:
http://www.openldap.org
http://www.tldp.org/HOWTOs/LDAP-HOWTO.html
http://www.direct-to-linux.com/LinuxTutorialLDAP.html