Promjena formata zapisa LDAP imenika

U Debianu 8 paket slapd podrazumno (defaultno) koristi MDB umjesto HDB kao format zapisa LDAP imenika na disku, u direktoriju /var/lib/ldap/.

U Debianu 7 paket slapd koristio je stariji format HDB.  Ako je posluzitelj svježe instaliran, koristit će se novi format zapisa MDB, dok nadogradnjom poslužitelja pomoću carnet-upgrade ostaje stari format.

No, jednostavnom akcijom je moguće prebaciti slapd u novi format zapisa.

Prvo je potrebno napraviti backup imenika koristeći naredbu:

slapcat -l /tmp/backup.ldif 

Zatim se zaustavi slapd:

service slapd stop 

Stare datoteke se mogu izbrisati, no dobro ih je privremeno spremiti u direktorij /tmp:

cp -a /var/lib/ldap /tmp/
rm -rf /var/lib/ldap/*

Zatim se može prionuti rekonfiguraciji paketa slapd koristeći sljedeću naredbu:

dpkg-reconfigure slapd 

Na sva pitanja treba samo stisnuti tipku enter, osim na pitanje:

"Database backend to use: BDB HDB MDB" 

Na to pitanje odgovorite s MDB.

Zatim prekonfigurirajte paket openldap-aai koristeći naredbu:

dpkg-reconfigure openldap-aai 

Opet spustite slapd:

service slapd stop

Vratite podatke koje ste na backupirali:

slapadd -l /tmp/backup.ldif 

Nakon tog je potrebno promijeniti ovlasti nad datotekama u direktoriju /var/lib/ldap/:

chown -R openldap:openldap /var/lib/ldap/*mdb 

I konačno možete podići slapd:

service slapd start 

To bi bilo to.

 

 

Kuharice: 
Kategorije: 
Vote: 
0
No votes yet

Komentari

Danas sam ovo krenuo odraditi i stvar je zapela. Nakon koraka:

slapadd -l /tmp/backup.ldif

Dobije se greška:

5a313a91 mdb_id2entry_put: mdb_put failed: MDB_KEYEXIST: Key/data pair already exists(-30799) "dc=unizd,dc=hr"
5a313a91 => mdb_tool_entry_put: id2entry_add failed: err=-30799
5a313a91 => mdb_tool_entry_put: txn_aborted! MDB_KEYEXIST: Key/data pair already exists (-30799)
slapadd: could not add entry dn="dc=unizd,dc=hr" (line=1): txn_aborted! MDB_KEYEXIST: Key/data pair already exists (-30799)
_                       0.00% eta    05s elapsed            none spd   4.1 M/s
Closing DB...

Što upućuje na to da zapis već postoji.

Potrebno je obrisati bazu i to na slijedeći način, nakon koraka

dpkg-reconfigure openldap-aai
service slapd stop

treba odraditi

rm -rf /var/lib/ldap/*mdb

Dalje nastaviti po uputama iz članka.

 

Zahvale kolegi Miji Đereku na brzoj pomoći pri rješavanju.