まず、パッケージを入手します。今回は http://www.openldap.org/ から入手した openldap-2.0.11.tgz を使います。
% tar zxvf openldap-2.0.11.tgz % cd openldap-2.0.11 % ./configure % make depend % make % make test % su root -c 'make install' |
次に、OpenLDAPのサーバslapdの設定を行います。この設定は sldap.conf というファイルで行います。デフォルトではこの設定ファイルは/usr/local/etc/openldap にあります。
以下にデフォルトのファイルの以下の部分を更新あるいは追加する設定の例を示します。
suffix "o=FC Lab,c=JP" rootdn "cn=Manager,o=FC Lab,c=JP" rootpw {SSHA}2O+BBlg0ysdnTB6xHC8ftbL1GEdObNMF schemacheck off |
サーバは検索などの処理の依頼を受けた時に、その内容がこのsuffixと合致する場合のみに返答します。それ以外の場合は、自分の持つ内容ではないと判断し応答しません。つまり上の設定 のようにsuffixを設定した場合、このサーバは"o=FC Lab,c=JP"の情報だけをサービスするということになります。それで普通は、このサーバに対して処理をで検索を行う場合はBaseNameに"o=FC Lab,c=JP"を指定して行います。
rootdnとrootpwのところには、このサーバの管理する時にバインドする管理者のDNとそのパスワードを指定します。エントリを追加する場合などには、このDNとパスワードをバインドして処理を行います。 rootpwで設定するパスワードは以下のようにして作ります。
% /usr/local/sbin/slappasswd New password: (パスワードを入力) Re-enter new password: (もう一度入力) {SSHA}2O+BBlg0ysdnTB6xHC8ftbL1GEdObNMF |
ここで得られたパスワードの値をrootpwで設定してください。
最後の schemacheck off という設定はスキーマのチェックに合わない属性でも追加できるようにするためのものです。スキーマは/usr/local/etc/openldap/schema/core.schemaなどに記述されていますが、この規則に合わない属性でも追加できるようになります。これがないとcore.schemaなどで定義していない内容はエラーとなって登録できません。
上の例では国、県、組織...のような階層構造を指定していますが、ドメインの階層を指定してDC(domain component)スタイルで記述することもできます。例えば以下のように記述します。
suffix "dc=fc-lab,dc=com" rootdn "cn=Manager,dc=fc-lab,dc=com" |
以上の設定が終了したら以下のようにしてサーバを起動します。
# /usr/local/libexec/slapd |