Il secondo metodo di creazione del database è farlo off-line, usando gli strumenti del database di slapd descritti qui di seguito. Questo metodo è il migliore se avete molte migliaia di oggetti da produrre, in quanto con il primo metodo occorrerebbe una quantità di tempo inaccettabile cioè usando il metodo LDAP descritto precedentemente. Questi strumenti leggono il file di configurazione dello slapd e il file dell’input LDIF che contengono una rappresentazione del testo degli oggetti da aggiungere. Producono direttamente i file index del database. Ci sono parecchie opzioni di configurazione importanti delle quali vorreste essere sicuri di impostare nei config file del database in primo luogo:
suffix <dn>
Come descritto nella sezione precedente, questa opzione comunica quali oggetti devono essere tenuti da questo database. Si dovrebbe impostare questo al DN della radice del sotto-albero che si sta provando a creare. Per esempio:
suffix "o=TUDelft, c=NL"
Si dovrebbe essere sicuri di specificare una directory in cui i file index dovrebbero essere creati:
directory /usr/local/tudelft
Per concludere, si dovrebbe specificare quali indici si desidera sviluppare. Ciò è fatto da una o più opzioni di indice.
index {<attrlist> | default } [pres,eq,approx,sub,none]
Per esempio:
index cn,sn,uid pres,eq,sub index objectClass eq
Ciò genererebbe gli indici di presenza, di uguaglianza e di sottostringa per il cn, Sn ed gli attributi del uid e un indice di uguaglianza per l’attributo objectClass. Vedere la sezione file di configurazione per maggiori informazioni su questa opzione.
Una volta che si sono configurate le cose a proprio gradimento, creare il database primario e gli indici collegati facendo funzionare il programma slapadd(8):
slapadd -l <inputfile> -f <slapdconfigfile> [-d <debuglevel>] [-n <integer>|-b <suffix>]
Gli argomenti hanno i seguenti significati:
-l <inputfile>
Specifica il file input di LDIF contenente gli oggetti da aggiungere nella forma del testo (dare uno sguardo alla prossima sezione).
-f <slapdconfigfile>
Specifica il file di configurazione dello slapd che comunica dove creare gli indici, che indici creare, ecc.
-d <debuglevel>
Attiva il debbuging, come specificato da <debuglevel>. I livelli di debug sono gli stessi come per slapd. Vedere la la Sezione 4.1 per maggiori dettagli.
-n <databasenumber>
Un argomento opzionale che specifica quale database modificare. Il primo database elencato nel file di configurazione è 1, i secondi 2, ecc. Di default è usato il primo database nel file di configurazione. Non dovrebbe essere usato insieme a - b.
-b <suffix>
Un argomento opzionale che specifica quale database modificare. Il suffisso fornito è abbinato a un suffisso di una direttiva del database per determinare il numero del database. Non dovrebbe essere insieme ad - n.
A volte può essere necessario rigenerare gli indici (come dopo aver modificato slapd.conf(5)). Ciò è possibile usando il programma slapindex(8). Il programma slapindex è invocato in questo modo:
slapindex -f <slapdconfigfile> [-d <debuglevel>] [-n <databasenumber>|-b <suffix>]
Dove le opzioni - f, - d, - n e -b sono le stesse che per il programma slapadd(1). slapindex ricostruisce tutti gli indici basati sui contenuti correnti del database.
Il programma slapcat è usato per fare il dump del database in un file LDIF. Ciò può essere utile quando si desidera fare un backup leggibile del proprio database o quando si desidera editare il proprio database off-line. Il programma è invocato in questo modo:
slapcat -l <filename> -f <slapdconfigfile> [-d <debuglevel>] [-n <databasenumber>|-b <suffix>]
dove -n o -b si usano per selezionare il database nello slapd.conf(5) specificato usando -f. L'uscita corrispondente di LDIF è scritta sullo standard output o in un determinato file usando l'opzione -l.