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