LDAP: sauvegarde / restauration

Quand on joue avec des bases de données, il n’est pas rare de tout exploser. D’où l’importance de bien sauvegarder et de savoir restaurer.

Ici, on travaille avec slapd (OpenLDAP) sous Debian GNU/Linux.

La configuration du serveur est stockée sous forme de fichiers ldif dans /etc/ldap/slapd.d.

Je parle surtout d’un cas simple avec une seule base. S’il y a plus d’une base, il suffit d’adapter ce qui se fait là après avoir lu ça.

Sauvegarde:

# slapcat -b cn=config -l /var/backups/ldap/config.ldif # config
# slapcat -l /var/backups/ldap/data.ldif                # données

Restauration:

On commence par couper le serveur:

/etc/init.d/slapd stop

la config:

On fait le ménage:

rm -rf /etc/ldap/slapd.d
mkdir /etc/ldap/slapd.d

On restaure:

slapadd -F /etc/ldap/slapd.d -b cn=config -l /var/backups/ldap/config.ldif

Et on oublie pas les droits:

chown -R openldap:openldap /etc/ldap/slapd.d

Les données:

Même procédé.

Ménage:

rm -rf /var/lib/ldap
mkdir /var/lib/ldap

Restauration:

slapadd -F /etc/ldap/slapd.d -b $ROOTDN -l /var/backups/ldap/data.ldif

Et les droits:

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

Et quand on a tout fini, on redémarre le daemon:

/etc/init.d/slapd start

Quelques notes en vrac:

Si on utilise du SSL/TLS avec slapd:

  • il ne faut pas oublier de sauvegarder les certificats ;
  • de mettre l’utilisateur openldap dans le group ssl-cert.

Si on utilise sasl et ldap, il faut aussi mettre l’utilisateur openldap dans le groupe sasl.