Erstens bin ich kein OpenLDAP-Experte.
Ich habe openldap ( slapd
) auf einem Server laufen, der seit Jahren funktioniert. Heute habe ich es ausgeführt yum update
und es hat einige Pakete aktualisiert, darunter auch die Openldap-Pakete. Als es fertig war (ohne Fehler), lief unser LDAP-Server nicht. Ich habe ein einfaches service slapd start
( und /etc/init.d/slapd start
) versucht, beides schlug plötzlich fehl.
Wenn ich in die /var/log/ldap.log
Datei schaue, sehe ich diese Einträge:
@(#) $OpenLDAP: slapd 2.4.40 (May 10 2016 23:30:49) $#012#[email protected]:/builddir/build/BUILD/openldap-2.4.40/openldap-2.4.40/build-servers/servers/slapd
read_config: no serverID / URL match found. Check slapd -h arguments.
slapd stopped.
connections_destroy: nothing to destroy.
Sowohl slaptest
als auch slaptest -u
sind erfolgreich:
# slaptest
config file testing succeeded
# slaptest -u
config file testing succeeded
Hier sind die OpenLDAP-Version(en):
openldap-clients-2.4.40-12.el6.x86_64
openldap-servers-2.4.40-12.el6.x86_64
openldap-devel-2.4.40-12.el6.x86_64
compat-openldap-2.3.43-2.el6.x86_64
openldap-2.4.40-12.el6.x86_64
Hier ist auch meine slapd.conf
Datei, die vor dem Yum-Update funktioniert hat:
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/misc.schema
include /etc/openldap/schema/passwordSelfReset.schema
allow bind_v2
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
modulepath /usr/lib64/openldap
moduleload syncprov.la
moduleload unique.la
database monitor
access to *
by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
by dn.exact="cn=admin,dc=am5up,dc=com" read
by * none
database bdb
suffix "dc=am5up,dc=com"
rootdn "cn=admin,dc=am5up,dc=com"
rootpw {SSHA}0yFFC0BTYdZLDRNtSHVz1I6YC4zJ3Z0AZ09123
directory /var/lib/ldap
index objectClass eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub
overlay unique
unique_attributes mail
ServerID 1 "ldap://ldap.am5up.com"
overlay syncprov
syncprov-checkpoint 10 1
syncprov-sessionlog 100
Kann jemand Vorschläge machen?
Sehr geschätzt!
Antwort1
Host-IDs in Conf und Skript müssen übereinstimmen
Für alle anderen mit diesem Problem: Ich habe das Problem herausgefunden. Während des Upgrades erfordert die etwas neuere Version, dass der Host der Serverdefinition in der Konfigurationsdatei entspricht.
Ihre Datei enthält beispielsweise slapd.conf
eine Zeile wie:
ServerID 1 "ldap://myldapserver"
Dann müssen Sie in Ihrem Startskript (oder beim Start von slapd) den Host als „ldap://myldapserver“ definieren.
Dies scheint sinnvoll zu sein. Durch meine heutigen Probleme habe ich jedoch festgestellt, dass die Standarddatei /etc/init.d/slapd
, die bei meiner ersten Installation hinzugefügt wurde, den Host als leer auflistet. Daher führt das Standard-Startskript im Wesentlichen Folgendes aus:
slapd -h "" -u <user> -g <group>
Nachdem ich das Startskript bearbeitet hatte, um sicherzustellen, dass das -h
Einschalten slapd
mit dem in meiner Konfigurationsdatei übereinstimmte, funktionierte alles wieder.