Окт 172017
 

В принципе, почти всё по инструкции. Однако!

На что надо обратить внимание:

  • в /etc/default/slapd желательно прописать “SLAPD_SERVICES=”ldap://<ip>:389 ldap://127.0.0.1:389/ ldapi:///” – иначе, при старте, ругается, что не может найти свой сервер-id в cn=config среди olcServerID.
  • после инициализации (когда прошла репликация config) дополнительного slapd появляются дополнительные базы, пустые. Останавливаю ldap, Лишние просто удаляю. Каталоги /etc/ldap/slapd.d/cn=config должны быть идентичны.
  • первая репликация проходит после внесения любого изменения в объект на “главном” сервере. Искать до этого что-то в свежей реплике – бесполезно. Видел совет, что можно запустить slapd с ключом -c $rid (replica id) , дескать, запускает принудительную синхронизацию – мне не помогло.
  • Режим mirrormode должен соответствовать!!! Если сервера равноправны – обязательно TRUE! Иначе, сервер переходит в “теневой режим” и ругается на изменения.

ldap_add: Server is unwilling to perform (53)
additional info: shadow context; no update referral

P.S. openldap – пример того, как не надо делать интерфейс с пользователем (админом). На дворе уже давно XXI век, а у них всё ещё значимые пробелы. Ну, пипец, один пробел в начале строки стоит или два. Не помню в каком месте, но у меня ldapmodify отказывался брать ldif. Ёлки-палки, подскажите уже им, что существуют приличные способы описания команда/параметр/значение.