OpenLDAP 2.4初期設定
OpenLDAP2.3 から slapd.conf がなくなり、設定もDBで保持するようになったらしい。
今まで通りslapd.confも使えるみたいけど、どうせなら新しい仕組みを!
ということで。
> yum install openldap-servers
さらに今回は
> yum install openldap-servers-sql
も入れておく。
で、/etc/openldap/
を見ると、
slapd.d/
その下に設定ファイル達。
というか、これらは設定ファイルDBのはらわたなので、直接いじってはダメらしい。
ldapadd
ldapsearchなどを使うべし。
とりあえず、rootPW を設定しないとアクセスできない気がする。
(というか、初期PWが分からない。)
ので、こちらを参考にrootPWを設定する。
dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: password
というldifファイルを作り、それを以下のコマンドで流し込む。
ldapadd -Y EXTERNAL -H ldapi:// -f init.ldif
(というかこれを使えば初期PW設定してなくてもとりあえずのアクセスはできるのでは??
で、ここから自分のデータをLDAPに登録していく。
/etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
これがDBの構成ファイルを指示してるっぽい。
(それにしてもファイル名が変で扱いづらい…なんとかなんないのか…)
でも、ファイル内容を鑑みるに、以下のファイルを初期設定しないといけないっぽい。
(1) cn=schema.ldif(スキーマを変更するなら)
(2) olcDatabase={1}monitor.ldif(モニタ設定)
(3) olcDatabase={2}bdb.ldif(本命)
とりあえず、(3)。
以下の内容のファイルを作成
----------------------------------------------------------------------------------------------------------------
dn: olcDatabase={2}bdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=hogehoge,dc=ac,dc=jp
dn: olcDatabase={2}bdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=hogehoge,dc=ac,dc=jp
----------------------------------------------------------------------------------------------------------------
これを以下のコマンドで流し込み。
> ldapmodify -Y EXTERNAL -H ldapi:// -f (ファイル名)
すると、ルートのサフィックスとDNが変更されるはず。
はまったポイント:
dn: olcDatabase={2}bdb,cn=config
↑の行の記述が、
dn: olcDatabase={2}bdb.ldif,cn=config
こんな感じにファイル名が入ってるとエラーになる。
検索はこんなかんじ
> ldapsearch -x -D 'cn=Manager,dc=hogehoge,dc=ac,dc=jp' -w fugafuga -b 'dc=hogehoge,dc=ac,dc=jp'
ついでにアクセスコントロール設定も追加
んー。ということはこれらのファイルはldap設定ファイルの直接の
はらわたではないのかも…
やっぱり本体は
/var/lib/ldap/
の中なのかな…?
とりあえず初期設定はOK?
あとはバックアップデータを流し込んでみます。
では!
(また、epelでインストール可能なldapviというツールを使えば、
設定ファイルを直接編集することも可能)
2013/3/13追記
DB_CONFIGがないとパフォーマンスが落ちるらしい…という警告が出る。
> cp /usr/share/openldap-servers/DB_CONFIG.example DB_CONFIG
とし、ldap再起動で解消。
参考リンク
http://nwing.knowd.co.jp/yamazaki/?q=node/323