Az LDAP egy olyan adatbázisok gyűjtőneve, amelyekkel Lightweight Directory Access Protocol-on keresztül lehet beszélgetni, s magát az adatbázist úgy tervezték, hogy sokkal többször és gyorsabban lehet belőle olvasni, mint írni. Alapvető célja olyan adatok tárolása, amelyeket gyakran olvassuk és ritkán írjuk: belépési adatok, email címek, domén adatok, stb.
Hozzuk létre az ldap nevű jail-t:
$ zfs clone dpool/jails/v8.1.0/template_u1@base dpool/jails/v8.1.0/ldap
$ zfs set compression=on dpool/jails/v8.1.0/ldap
$ zfs create dpool/jails/data/ldap
$ zfs set mountpoint=/dpool/jails/v8.1.0/ldap/data dpool/jails/data/ldap
$ zfs set compression=on dpool/jails/data/ldap
$ zfs set mountpoint=/dpool/jails/v8.1.0/ldap/usr/ports dpool/jails/v8.1.0/ports
Adjuk hozzá a /etc/rc.conf állományhoz az újabb jail paramétereit, majd hozzuk létre az új alias-t a bge1 interfészen, s indítsuk el:
$ ifconfig bge1 alias 192.168.2.2 netmask 255.255.255.0
$ /etc/rc.d/jail start ldap
Configuring jails:.
Starting jails: ldap.jails.javaforum.hu.
$ zfs list
NAME USED AVAIL REFER MOUNTPOINT
dpool/jails/v8.1.0/ldap 44,6M 122G 871M /dpool/jails/v8.1.0/ldap
Láthatjuk, hogy szépen elindult, ezért lépjünk be, és telepítsük fel az openldap-server csomagot, amely az LDAP kiszolgáláshoz kell:
$ portinstall -i openldap-server
---> Session started at: Tue, 26 Jul 2011 17:00:20 +0200
---> Found 2 ports matching 'openldap-server':
net/openldap23-server
net/openldap24-server
Install 'net/openldap23-server'? [yes] n
Install 'net/openldap24-server'? [yes]
[Gathering depends for net/openldap24-server ...... done]
---> Fresh installation of databases/db46 started at: Tue, 26 Jul 2011 17:00:52 +0200
...
---> Fresh installation of net/openldap24-server ended at: Tue, 26 Jul 2011 17:10:29 +0200 (consumed 00:06:12)
---> ** Install tasks 2: 2 done, 0 ignored, 0 skipped and 0 failed
---> Listing the results (+:done / -:ignored / *:skipped / !:failed)
+ databases/db46
+ net/openldap24-server
---> Packages processed: 2 done, 0 ignored, 0 skipped and 0 failed
---> Session ended at: Tue, 26 Jul 2011 17:10:29 +0200 (consumed 00:10:09)
Ha sikerült feltelepíteni az OpenLDAP csomagot, akkor engedélyeznünk kellene a futását, ezért tegyük a jail /etc/rc.conf állományába a következő sort:
slapd_enable="YES"
Mielőtt elindítanánk az LDAP szolgáltatást, célszerű megvágni a slapd.conf állományt:
include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/nis.schema
include /usr/local/etc/openldap/schema/misc.schema
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
modulepath /usr/local/libexec/openldap
moduleload back_bdb
access to *
by self write
by users read
by anonymous read
database bdb
suffix "dc=javaforum,dc=hu"
rootdn "cn=Manager,dc=javaforum,dc=hu"
rootpw {SSHA}5SxhQ+7bT7AbbJY8kziphTmUuOUalcMR
directory /data/
index objectClass eq
loglevel 0
A jelszót változtassuk meg, a secret helyett generáljunk egy biztonságosabban tárolható jelszót, ezt kell beszúrni a rootpw után:
$ slappasswd
New password:
Re-enter new password:
{SSHA}5SxhQ+7bT7AbbJY8kziphTmUuOUalcMR
Ezek után indítsuk újra a jail-t, majd lépjünk vissza, és lássuk el kezdő adatokkal az LDAP adatbázist, vagyis hozzuk létre a startup.ldif fájl az alábbi tartalommal:
dn: dc=javaforum,dc=hu
objectclass: dcObject
objectclass: organization
o: Java Forum
dc: javaforum
dn: cn=Manager,dc=javaforum,dc=hu
objectclass: organizationalRole
cn: Manager
Majd adjuk hozzá ezt az LDAP adatbázishoz, a jelszó a slapd.conf állományban megadott jelszó lesz (secret):
$ ldapadd -x -D "cn=Manager,dc=javaforum,dc=hu" -W -f startup.ldif
Enter LDAP Password:
adding new entry "dc=javaforum,dc=hu"
adding new entry "cn=Manager,dc=javaforum,dc=hu"
Kérdezzünk le értékeket próbaképpen:
$ ldapsearch -x -b 'dc=javaforum,dc=hu' '(objectclass=*)'
# extended LDIF
#
# LDAPv3
# base <dc=javaforum,dc=hu> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# javaforum.hu
dn: dc=javaforum,dc=hu
objectClass: dcObject
objectClass: organization
o: Java Forum
dc: javaforum
# Manager, javaforum.hu
dn: cn=Manager,dc=javaforum,dc=hu
objectClass: organizationalRole
cn: Manager
# search result
search: 2
result: 0 Success
# numResponses: 3
# numEntries: 2
Az LDAP szerverünk elkészült, használjuk örömmel… 🙂