Sama halnya dengan aplikasi database lainnya, Open LDAP pun bisa memiliki berbagai macam database di dalamnya. Sebagai contoh, jika misalkan Anda memiliki aplikasi MySQL yang menyimpan brbagai macam database seperti database sales untuk menyimpan informasi yang berkaitan dengan data penjualan, database hrd yang menyimpan informasi berkaitan dengan data HRD organisasi Anda, maka OpenLDAP dapat melakukan hal yang sama. OpenLDAP dapat menyimpan lebih dan satu database.
Direktif yang digunakan untuk mendeklarasikan database adalah, tentu saja bukan sesuatu yang mengejutkan, database. Direktif ini menandakan awal dan deklarasi database sampai deklarasi database berikutnya. Untuk semua database yang akan ditangani oleh OpenLDAP, maka semua database tersebut
harus dideklarasikan dengan direktif tersebut. Namun deklarasi database tidak menggunakan nama database, melainkan dengan tipe database tersebut, sesuai dengan yang dideklarasikan di direktif backend (lihat disini untuk membangun backend). Berikut adalah deklarasi untuk database dengan tipe bdb, sesuai dengan tipe database yang telah kita deklarasikan di direktif backend sebelumnya
9 Direktif Database yang digunakan pada LDAP Server di Linux Debian
Setelah deklarasi direktif database, banyak sekali direktif lain yang berkaitan dengan database yang dapat dideklarasikan setelah direktif database.9 Direktif tersebut diantaranya
replica Digunakan untuk mendefinisikan replikasi database OpenLDAP Direktif ini akan secara lengkap dibahas di bagian replikasi.
syncrepl Direktif ini juga digunakan untuk mendefinisikan replika. Direktif ini juga akan dibahas secara lengkap di bagian replikasi.
replogfile Digunakan untuk mendefinisikan file log untuk proses replikasi.
rootdn Digunakan untuk mendefinisikan DN yang merupakan DN root untuk database bersangkutan.
rootpw Digunakan untuk mendefinisikan sandi untuk DN root. Direktif ini berisikan nilai berupa sandi yang akan digunakan oleh DN root, sehingga demi alasan keamanan ada baiknya untuk tidak menggunakan sandi dalam bentuk teks polos, namun sandi yang sudah dalam bentuk hash.
suffix Digunakan untuk mendefinisikan akhiran yang akan digunakan oleh slapd.
updatedn Hanya berlaku di server LDAP slave saja. Direktif ini digunakan untuk mendefinisikan DN yang diijinkan untuk proses replikasi. Direktif ini secara lengkap akan dijelaskan di bagian replikasi.
updateref Hanya berlaku di server LDAP slave saja. Direktif ini digunakan untuk mendefinisikan alamat LDAP master.
directory Direktif ini hanya berlaku jika tipe database yang digunakan adalah bdb, hdb ataupun ldbm.
Sebagai contoh, berikut adalah konfigurasi yang terkait dengan deklarasi database bdb yang telah dideklarasikan sebelumnya. Konfigurasi dibawah ini akan mengatur lokasi direktori dan database yang disimpan di direktori /var/lib/ldap dengan akhiran dc=admin, dc=web, dc=id, rootdn cn=admin,
dc=admin, dc=web, dc=id dan sandi untuk DN root tersebut adalah passwordku
directory “/var/lib/ldap” Direktif terakhir, yaitu rootpw merupakan salah satu direktif yang sangat rentan dalam hal keamanan. Direktif ini digunakan untuk mendefinisikan sandi yang akan digunakan oleh DN root. Sandi yang disimpan disini dapat berupa teks polos ataupun sandi dalam bentuk hash. Demi alasan keamanan, ada baiknya untuk jangan pernah menggunakan sandi dalam bentuk teks polos.
Untuk membuat sandi dalam bentuk hash, maka dapat digunakan perintah sebagai berikut
Perintah diatas akan membuat sandi passwordku dalam bentuk hash SSHA sebagai berikut
{ SSHA}cnRcHJ+yinb/0yirn2n4 IZ 6GWjTSPgCA17
Selain direktif yang telah disebutkan sebelumnya, masih ada direktif yang terkait dengan deklarasi database. Direktif tersebut adalah direktif dbconfig. Direktif ini hanya berlaku untuk database bdb dan hdb dan digunakan untuk mendefinisikan konfigurasi yang akan ditempatkan di berkas DB_CONFIG dan direktori database. Direktif ini pada dasamya berisikan nilai yang berkaitan dengan parameter dan aplikasi bdb atau hdb itu sendini. Sebagai contoh, berikut adalah konfigurasi default yang digunakan oleh Debian.
Konfigurasi diatas akan membuat bdb atau hdb membuat cache berukuran 2 MB, objek yang dapat dikunci secara bersamaan adalah sebanyak 1500, jumlah kunci dan loker masing-masing sebanyak 1500.