OpenLDAP

最終更新日時:2007-03-07 15:35:50
その他のめも

OpenLDAPはフリーなLDAPサーバです。
他にもいくつかあるみたいですが、現状の選択肢としてはこれが一番無難ですね。
簡単に使えるので LDAP を手軽に試してみたい人はおすすめです。

インストール


openldap-stable-20031217 (バージョン的には 2.1.25) の例です。

OpenLDAP のコンパイルには Berkeley DB の 4.1 以上が必要なので、あらかじめインストールしておきます。

まず、OpenLDAP 公式サイトからアーカイブを取得し、展開します。
展開すると、openldap-2.1.25 のようなディレクトリが作成されるので、移動します。

 % gzip -dc openldap-stable-20031217.tar.gz | tar xvf -
 % cd openldap-2.1.25



展開されたディレクトリに移り、あとは以下のとおり。

 % ./configure
 % make depend
 % make
 % make test
 % su
 # make install


Berkeley DB のヘッダファイル (db.h) が見つからないといって configure で失敗する場合があります。
その場合には、/usr/local/include 等、db.h を Include Path として発見できる箇所に移動する等の処置で対応します。

設定


LDAP サーバとなる slapd の 設定を行います。
/usr/local/etc/openldap/slapd.conf が設定ファイルで、とりあえずはこの中の suffix,rootdn,rootpw を設定します。(テストするだけなら設定しなくても使用可能)
また、database ~ index までの設定を2つ書くことで、root ノードを2つ持たせることも可能です。
さらに、スキーマを自作したい場合には /usr/local/etc/openldap/schema にスキーマの定義ファイルを作成し、それを slapd.conf で include します。

起動


起動方法は以下の通りです。

 # /usr/local/libexec/slapd 


-d nオプションを指定するとデバッグモードとなり、n で指定したレベルでデバッグ情報が出力されます。
ただし、デバッグモードではデーモンにならず foreground なプロセスとして実行されます。

その他


LDIF ファイルを使用してノードを追加

 % ldapadd -x -D cn=root,o=my-domain -w passwd -f test.ldif 


LDIF ファイルを使用してノードを削除。-r 付きだと再帰的に削除

 % ldapdelete -D cn=root,o=my-domain -w passwd o=my-domain 


現在存在する NamingContexts を表示

 % ldapsearch -s base NamingContexts 


検索

 % ldapsearch -b o=my-domain '(cn=*test*)' 


リンク


サイト名概要
OpenLDAP 情報OpenLDAP の管理者ガイド、man ページの日本語訳
OpenLDAP の利用Solaris8 上での OpenLDAP の利用方法が分かりやすく書かれています
OpenLDAP 実験ページLDAP のいろいろな使用例が書かれています


お問い合わせは 掲示板 にて。