Fedora 12 に OpenLDAPサーバーを導入しました。
新しい研究室なので計算機環境のセットアップはゼロから自分でやらないといけないのです。Fedora 12 のopenldapにはだいぶ手こずりました。
いきなり最初から余談になりますが、Fedora 12でピリオドを含むユーザ名を作るには、yum updateをする必要があります。
さて、本題。openldapのインストールについてですが、一番大事なことは、openldapのデバッグ機能をオンにしたまま、slapdデーモンが起動時に立ちあがるような設定にしないことです。システムが起動しなくなります。
細かい設定については、いろんな方が書いているので割愛して、嵌まるポイントだけ。
(注)下記はFedora 12に依存したものがほとんどです。また、このページの記述については自己責任でお試しください。あらゆる損害等については一切関知いたしません。
(1)service slapd on (or /etc/init.d/slapd start)で立ち上げると slapd.confを読まない。
手動で下記のように立ち上げるべき(少なくとも確実に動くような環境ができるまでは)。
/usr/sbin/slapd -h ldap:/// -u ldap -f /etc/openldap/slapd.conf
(2) slapdをservice slapd offで止めたつもりになっていても、残っていることがあるので、その場合はkill -9 で落とす。
(3) slapd.confのindexセクションをコメントアウトしないと、なぜかuidでの検索ができない(=ldapサーバはユーザ認証のために参照されるのに、検索結果が常にゼロになるため、あたかもLDAPサーバーが動いてないかのように思えてしまう)。
(4) DB_CONFIG.exampleは/usr/share/doc/openldap-servers-2.4.19 にある。
(5) /etc/ldap.confと/etc/openldap/ldap.confは両方とも必要で機能が異なる(Fedoraに限らない)。
(6) ファイアウォールがオンの場合は system-config-firewall-tui等で、389/TCPを開く。
(7) /var/lib/ldapのオーナーをldap:ldapに
(8) 困ったらログを見る。
(9) それでも困ったら本を見る。本田他著「システム管理のためのLDAP徹底理解」ソフトバンククリエイティブ 2009が参考になりました。