まず、私は OpenLDAP の専門家ではありません。
slapd
私は何年も稼働しているサーバーでopenldap ( ) を実行しています。今日、 を実行し、openldap パッケージを含む多数のパッケージを更新しました。(エラーなしで) 完了すると、LDAP サーバーは実行されなくなりました。単純な(および)yum update
を試みましたが、どちらも突然失敗しました。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
構成ファイルの内容と一致するようにすると、すべてが再び動作するようになりました。