Как восстановить базу LDAP из бекапа в LDIF файлах?

Итак, как восстановить базу LDAP из бекапа в LDIF файлах?

1. Копируем из бекапа файлы ldif конфига и базы: 

cn=config.ldif, cn=bd-log.ldif, o=bd.ldif

В cn=config.ldif содержится вся конфигурация базы.

2. Создаем директории:

$ ls -la /var/lib/ldap/

drwxr-xr-x 2 ldap ldap 4096 Oct 4 10:20 cn=bd-log

drwxr-xr-x 2 ldap ldap 4096 Oct 4 10:20 o=bd

3. Копируем сертификаты cacert.pem, cert.pem, key.pem в /etc/ssl/, если у вас ldap работал по tls.
4. Правим /etc/sysconfig/slapd:

SLAPD_URLS="ldapi:/// ldap://0.0.0.0:389/  ldaps://0.0.0.0:636/"

5. Заливаем конфиг и базу:

Чистим slapd.d: rm -rf /etc/openldap/slapd.d/cn\=config*

slapadd -F /etc/openldap/slapd.d/ -n 0 -l /home/centos/cn\=config.ldif

slapadd -F /etc/openldap/slapd.d/ -b o=bd -c -l /home/centos/slapd/o\=bd.ldif

Ошибок при заливке быть не должно, если ошибки есть, то что-то пошло не так.

6. Меняем права:
chown -R ldap:ldap /var/lib/ldap/*
chown -R ldap:ldap /etc/openldap/slapd.d/*
Запускаем ldap: systemctl start slapd.service
systemctl enable slapd.service

Готово. 

 

unix-way