Назад | Перейти на главную страницу

Установка OpenLDAP на CentOS 7

Я жвыполнение этого пошагового руководства по OpenLDAP: http://www.server-world.info/en/note?os=CentOS_7&p=openldap&f=1 Важно: я работаю над CentOS 7

Но когда в первой части я пытаюсь начать slapd с участием: systemctl start slapd, это бросает мне ошибка что я не могу решить.

Я искал в Интернете, StackOverflow и Server Fault, но у кого-то такая же проблема.

Это ошибка:

# systemctl start slapd
Job for slapd.service failed. See 'systemctl status slapd.service' and 'journalctl -xn' for details.

И вот трассировки стека или ошибка, когда я проверяю systemctl status.

 [root@localhost openldap]# systemctl status slapd -l
    slapd.service - OpenLDAP Server Daemon
       Loaded: loaded (/usr/lib/systemd/system/slapd.service; disabled)
       Active: failed (Result: exit-code) since dv 2015-01-09 12:03:41 CET; 3min 9s ago
      Process: 5507 ExecStart=/usr/sbin/slapd -u ldap -h ${SLAPD_URLS} $SLAPD_OPTIONS (code=exited, status=1/FAILURE)
      Process: 5492 ExecStartPre=/usr/libexec/openldap/check-config.sh (code=exited, status=0/SUCCESS)

    gen 09 12:03:41 localhost.localdomain runuser[5495]: pam_unix(runuser:session): session opened for user ldap by (uid=0)
    gen 09 12:03:41 localhost.localdomain check-config.sh[5492]: Checking configuration file failed:
    gen 09 12:03:41 localhost.localdomain check-config.sh[5492]: 54afb58d ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif"
    gen 09 12:03:41 localhost.localdomain check-config.sh[5492]: 54afb58d unable to open file "/openldap/slapd.pid": 2 (No such file or directory)
    gen 09 12:03:41 localhost.localdomain slapcat[5500]: DIGEST-MD5 common mech free
    gen 09 12:03:41 localhost.localdomain slapd[5507]: @(#) $OpenLDAP: slapd 2.4.39 (Jun  9 2014 23:23:12) $
                                                               mockbuild@worker1.bsys.centos.org:/builddir/build/BUILD/openldap-2.4.39/openldap-2.4.39/servers/slapd
    gen 09 12:03:41 localhost.localdomain slapd[5509]: DIGEST-MD5 common mech free
    gen 09 12:03:41 localhost.localdomain systemd[1]: slapd.service: control process exited, code=exited status=1
    gen 09 12:03:41 localhost.localdomain systemd[1]: Failed to start OpenLDAP Server Daemon.
    gen 09 12:03:41 localhost.localdomain systemd[1]: Unit slapd.service entered failed state.

Мой вопрос: как мне это сделать? Есть ли решение? Или каковы рекомендации по устранению проблемы?

Как я могу начать это решать?

Использовать Страница справки CentOS OpenLDAP. Он очень лаконичный и без лишнего шума. Перед этим верните все файлы конфигурации в исходное состояние. Можно подтвердить через:

# rpm -V openldap-server

Если приведенная выше команда показывает какие-либо измененные файлы - либо удалите и переустановите openldap-server, либо извлеките файлы из резервной копии.

Я также использовал это руководство для настройки OpenLDAP на CentOS 7. После того, как я установил только openldap-servers без клиента и полностью провалился; возникли проблемы с разрешениями, не удалось запустить slapd и т. д. Я согласен с другими, чтобы начать все сначала и точно следовать указаниям.

Но даже в этом случае в руководстве есть некоторые проблемы, которые полезно задокументировать:

  • Если вы скопируете-вставить из руководства в файлы ldif, обязательно исправьте все обернутые строки, они вызвали у меня ошибки (chdomain.ldif в частности).
  • В basedomain.ldif, o: Server World и dc: Server следует изменить на правильный домен, иначе вы получите эту ошибку:

    ldap_add: нарушение именования (64) дополнительная информация: значение однозначного атрибута именования 'dc' конфликтует со значением, присутствующим в записи

  • Финал ldapadd также следует изменить на правильный домен, иначе вы получите ошибки неверных учетных данных.

Эти ошибки действительно не были интуитивно понятными, но я смог выполнить руководство и настроить OpenLDAP.

У вас какая-то ошибка в ваших файлах конфигурации. По крайней мере, вы допустили ошибку при создании исходного файла конфигурации и, вероятно, изменили то, что указано в руководстве:

В руководстве говорится:

 pidfile     /run/openldap/slapd.pid

но OpenLDAP пытается создать /openldap/slapd.pid, который не может работать как /openldap не будет существовать как каталог.

Начни с нуля.