OpenLDAP
その他のめも
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 のいろいろな使用例が書かれています |