우선, 저는 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
내 구성 파일에 있는 것과 일치하는지 확인하기 위해 시작 스크립트를 편집하고 나면 모든 것이 다시 작동하기 시작했습니다.