Bug 52538 - После обновления openldap-servers с 2.6.7 до 2.6.9 сервис slapd перестал запускаться.
Summary: После обновления openldap-servers с 2.6.7 до 2.6.9 сервис slapd перестал запу...
Status: CLOSED FIXED
Alias: None
Product: Branch p11
Classification: Unclassified
Component: openldap (show other bugs)
Version: unspecified
Hardware: x86_64 Linux
: P5 normal
Assignee: Alexey Shabalin
QA Contact: qa-p11@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-12-26 11:29 MSK by Andrei
Modified: 2025-01-03 00:09 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrei 2024-12-26 11:29:38 MSK
Здравствуйте.

После обновления openldap-servers с 2.6.7 до 2.6.9 сервис slapd перестал запускаться.
Я так понял, что связано с тем, что изменился механизм запуска с init скрипта на systemd.

Содержимое файла /etc/sysconfig/ldap
--------------
SLAPDURLLIST="'ldap://localhost/ ldaps:///'"
--------------

В этом случае при запуске slapd в логах вот такое (ругается на SLAPDURLLIST):
--------------
дек 26 08:46:03 server.home systemd[1]: slapd.service: Consumed 5.014s CPU time.
дек 26 08:46:03 server.home systemd[1]: Failed to start slapd.service - OpenLDAP Server Daemon.
дек 26 08:46:03 server.home systemd[1]: slapd.service: Failed with result 'exit-code'.
дек 26 08:46:03 server.home systemd[1]: slapd.service: Main process exited, code=exited, status=1/FAILURE
дек 26 08:46:03 server.home slapd[10780]: connections_destroy: nothing to destroy.
дек 26 08:46:03 server.home slapd[10780]: slapd stopped.
дек 26 08:46:03 server.home slapd[10780]: daemon: listen URL "'ldap://localhost/" parse error=3
дек 26 08:46:03 server.home slapd[10780]: @(#) $OpenLDAP: slapd 2.6.9 (Dec 12 2024 02:17:07) $
openldap
дек 26 08:45:58 server.home cert-sh[9537]: Certificate will not expire
дек 26 08:45:58 server.home systemd[1]: Starting slapd.service - OpenLDAP Server Daemon...
--------------

Если SLAPDURLLIST закоментировать в /etc/sysconfig/ldap или оставить только SLAPDURLLIST="ldap://localhost/" то ругается на что-то другое, но уже не сам slapd:
--------------
дек 25 16:17:36 server.home systemd[1]: slapd.service: Consumed 5.387s CPU time.
дек 25 16:17:36 server.home systemd[1]: Failed to start slapd.service - OpenLDAP Server Daemon.
дек 25 16:17:36 server.home systemd[1]: slapd.service: Failed with result 'protocol'.
дек 25 16:17:35 server.home slapd[3180]: @(#) $OpenLDAP: slapd 2.6.9 (Dec 12 2024 02:17:07) $
openldap
дек 25 16:17:29 server.home cert-sh[1119]: Certificate will not expire
дек 25 16:17:28 server.home systemd[1]: Starting slapd.service - OpenLDAP Server Daemon...
--------------

Если запускать руками, то ошибок нет.


Подсмотрел, что предлагает Fedora для systemd unit файла slapd. 

Поменял Type на forking, и вшил нужные мне протоколы не как параметр -h 'ldap:/// ldaps:///'. В таком случае сервис стартует.
--------------------------------------------
[Unit]
Description=OpenLDAP Server Daemon
After=network-online.target
Documentation=man:slapd
Documentation=man:slapd-config
Documentation=man:slapd-mdb

[Service]
Type=forking
Environment="SLAPDURLLIST=ldap://localhost/"
Environment="SLAPD_OPTIONS="
EnvironmentFile=-/etc/sysconfig/ldap
ExecStartPre=/usr/bin/cert-sh generate "slapd"
ExecStartPre=/usr/sbin/slaptest -Q -u $SLAPD_OPTIONS
ExecStartPre=/etc/chroot.d/ldap.all
ExecStart=/usr/sbin/slapd -u ldap -r /var/lib/ldap -h 'ldap:/// ldaps:///' $SLAPD_OPTIONS
NotifyAccess=all

[Install]
WantedBy=multi-user.target
--------------------------------------------
Comment 1 Alexey Shabalin 2025-01-03 00:09:03 MSK
Исправлено в 2.6.9-alt2.