TOPサーバ構築・運用> OpenLDAP、BDBバックエンドの設定
OpenLADP
改めてOpenLDAPはじめませんか?

第2回:OpenLDAPでLDAP Syncレプリケーション!

著者:セシオス  関口 薫   2007/6/25
前のページ  1  2   3  4  次のページ
OpenLDAP、BDBバックエンドの設定

   今回はバックエンドデータベースとして、OpenLDAPで標準的に使用されている「BDB」を選択します。BDBバックエンドの設定は「/usr/local/etc/openldap/slapd.conf」で行い、次のように記述します。なお設定項目の詳細については、表2を参照してください。
include   /usr/local/etc/openldap/schema/core.schema
include   /usr/local/etc/openldap/schema/cosine.schema
include   /usr/local/etc/openldap/schema/inetorgperson.schema

pidfile   /usr/local/var/run/slapd.pid
argsfile   /usr/local/var/run/slapd.args

sizelimit   10000

database   bdb
suffix   “dc=example,dc=com”
rootdn   “cn=Manager,dc=example,dc=com”
rootpw   {SSHA}l5Q9Jh6793+7ar6Xlhq1XzDwkVyyaSsr

access to attrs=userPassword
       by anonymous auth
       by self write
       by * none

directory   /usr/local/var/openldap-data
index   objectClass,uid,cn,entryCSN,entryUUID   eq
cachesize      10000
idlcachesize   30000
checkpoint      1024   5

   rootpwには、次のコマンドを実行して、ハッシュ化したパスワードを設定してください。

# /usr/local/sbin/slappasswd -s <パスワード>

   BDBバックエンドの設定項目の中でOpenLDAPの性能に影響するのが「cachesize」と「idlcachese」ディレクティブです。これらは検索時のキャッシュに関する設定項目で、適切に設定することによってOpenLDAPの検索性能が大幅に向上します。

   cachesizeは、検索結果のキャッシュサイズをエントリ数で指定します。従って、LDAPサーバに格納するエントリ数と同じ値を設定します。しかしエントリ数が非常に多い場合は、マシンのメモリ容量を考慮した上で、cachesizeの値を設定する必要があります。

   idlcachesizeは、インデックスのキャッシュサイズで、cachesizeの3倍以上の値を設定するように推奨されています。

   表2は、設定項目の詳細についてまとめたものです。設定時の参考にしてください。

ディレクティブ デフォルト値 説明
access 0 LDAPのエントリ、属性に対するアクセス権を指定します。
include - 指定したファイルに記述されている設定情報を読み込みます。主にスキーマファイルを読み込む際に使用します。
sizelimit 500 検索結果として返すエントリの最大数を指定します。
pidfile - プロセスIDを記録するファイル名を指定します。
argsfile - LDAPサーバ起動時のコマンドラインオプションを記録するファイル名を指定します。
database - バックエンドデータベースを指定します。
rootdn - Root権限を持つDNを指定します。
rootpw - rootdnのパスワードを指定します。
suffix - ディレクトリツリーのトップとなるDNを指定します。
directory - データベースファイルを格納するディレクトリを指定します。
inedex - インデックスを作成するLDAPの属性を指定します。
cachesize 1000 検索結果をキャッシュする際のエントリ数を指定します。
idlcachesize 0 キャッシュするインデックスのサイズを指定します。
checkpoint 0(KB),0(分) データベースのバッファを指定したデータ量(KB)を書き込むごと、指定した時間(分)が経過するごとにディスクへ書き込みます。

表2:設定項目の詳細な内容


設定の完了と動作確認

   設定が完了したら、正常に動作することを確認します。まず以下のコマンドでLDAPサーバデーモンを起動します。

# /usr/local/libexec/slapd

   次に、以下のリスト1のようなLDIFファイルを作成します。

リスト1:LDIFファイルの内容
test.ldif
dn: dc=example,dc=com
objectClass: domain
dc: example

dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People

dn: uid=sekiguchi,ou=People,dc=example,dc=com
objectClass: Person
objectClass: inetOrgPerson
uid: sekiguchi
cn: Kaoru Sekiguchi
sn: Sekiguchi
mail: sekiguchi@example.com

   作成したtest.ldifをLDAPサーバに登録します。

# ldapadd -x -h <ホスト名> -D 'cn=Manager,dc=example,dc=com' -w secret -f test.ldif

   データの登録が完了したら、LDAPサーバを検索します。登録したデータが正常に表示されれば、BDBバックエンドの設定は正しく行われています。

# ldapsearch -x -h <ホスト名> -D 'cn=Manager,dc=example,dc=com' -w secret -b 'dc=example,dc=com'

前のページ  1  2   3  4  次のページ


株式会社セシオス 関口 薫
著者プロフィール
株式会社セシオス  関口 薫
2000年早稲田大学理工学部を卒業後、大手システムインテグレータに入社。オープンソースソフトウェアを活用したシステム開発に従事し、その中で2002年頃OpenLDAPと出会う。現在は、OpenLDAPなどのオープンソースソフトウェアを組み合わせた認証ソリューションの開発・提供に従事している。


INDEX
第2回:OpenLDAPでLDAP Syncレプリケーション!
  CentOS 5+OpenLDAPでLDAPサーバの冗長化環境を構築
OpenLDAP、BDBバックエンドの設定
  レプリケーション
  設定と正常動作の確認