첫째, 저는 OpenLDAP 전문가가 아닙니다.
저는 slapd
수년 동안 작동해 온 서버에서 openldap()을 실행하고 있습니다. 오늘 실행 yum update
해 보니 openldap 패키지를 포함하여 꽤 많은 패키지가 업데이트되었습니다. 오류 없이 완료되면 LDAP 서버가 실행되지 않습니다. 나는 간단한 service slapd start
(및 /etc/init.d/slapd start
) 두 가지 모두 갑자기 실패했습니다.
파일을 보면 /var/log/ldap.log
다음 항목이 표시됩니다.
@(#) $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.
둘 다 slaptest
성공 slaptest -u
했습니다.
# slaptest
config file testing succeeded
# slaptest -u
config file testing succeeded
openldap 버전은 다음과 같습니다.
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
다음은 slapd.conf
yum 업데이트 이전에 작동했던 파일입니다.
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
누구든지 어떤 제안을 해줄 수 있나요?
매우 감사!
답변1
conf와 스크립트의 호스트 ID가 일치해야 합니다.
이 문제가 있는 다른 사람의 경우: 문제를 알아냈습니다. 업그레이드하는 동안 약간 최신 버전에서는 호스트가 구성 파일의 서버 정의와 일치해야 합니다.
예를 들어 파일에 다음 slapd.conf
과 같은 줄이 있습니다.
ServerID 1 "ldap://myldapserver"
그런 다음 시작 스크립트(또는 slapd를 시작할 때)에서 호스트를 "ldap://myldapserver"로 정의해야 합니다.
이것은 의미가 있는 것처럼 보입니다. 그러나 오늘의 어려움을 통해 /etc/init.d/slapd
초기 설치 중에 추가된 기본 파일에 호스트가 공백으로 나열되어 있다는 것을 알게 되었습니다 . 따라서 기본 시작 스크립트는 기본적으로 다음을 실행합니다.
slapd -h "" -u <user> -g <group>
스위치 켜기가 구성 파일의 내용과 일치하는지 확인하기 위해 시작 스크립트를 편집하면 모든 것이 다시 작동하기 시작 -h
했습니다 .slapd