Scientific Linux 6.1 で OpenLDAP 2.4.23 をインストール

ボクの環境では複数の仮想マシンが動いており、OS / Postfix / Devecot / Samba / Apache HTTP Server などがそれぞれ別々にパスワード管理していると面倒なので、LDAPで一元管理している。以下は OpenLDAP 2.4.23 を Scientifc Linux (SL) 6.1 にインストールする方法だが、Red Hat Enterprise Linux (RHEL) / CentOS / Oracle Linux でも同様だろう。

OpenLDAP 2.3 から非推奨になっていたslapd.confは2.4でついに廃止され、slapd-configを使う方法だけになったのだが、slapd-configでの設定方法が OpenLDAP Software 2.4 Administrator’s Guide を読んでも Red Hat Enterprise Linux 6 Deployment Guide: Directory Servers を読んでもさっぱり分からないので、この記事では従来のsplad.confをslapd-config用に変換するという手法を取っている。公式ガイドの A Quick-Start Guide もslapd.confを変換して使っているので(おい)、それほど時代遅れって感じでもないと信じたい。

そんなわけでインストール。インストール自体はRPMを入れるだけなので簡単だ。

LDAPサービスの管理者であるrootdnのパスワードを作成する。

slapd.confのサンプルとなるファイルをコピーし、suffix / rootdn / rootpwを設定する。rootpwは先ほどslappasswdで作成したものだ。

加えてLDAPデータベースのアクセス権限を設定する。以下では、userPassword属性は自分自身のものであれば変更可能だが他人は認証にしか使えず、それ以外の属性は自分自身のものであれば変更可能だが他人は読込みしか行えない。

作成したslapd.confが文法的に正しいかテストしよう。

すでに設定されているslapd-configの設定を削除し、slaptestでslapd.confの設定をslapd-configでの設定に変換する。その後、ファイル所有者をldapに変更しよう。今後slapd.confを変更したら、この作業を毎回行う必要がある。

OpenLDAPが内部で使用している Oracle Berkeley DB の設定ファイルのサンプルをコピーし、ファイル所有者を変更する。小規模環境ならサンプル・ファイルそのままで問題ないだろう。

OpenLDAPサーバーを起動し、OS起動時に同時起動するように設定する。

LDAPデータベースの中身はまだ空っぽなので、ボクは以下のようなディレクトリをまずは用意した。

作成したLDIFを追加する。

正しく追加できたか確認し、問題なければOpenLDAPサーバーは一通り動作したことになる。

ちなみにslapd-configでさっぱり分からない点は「cn=configolcRootPWldapaddするときのパスワードってなに? パスワードなしだとログインできないし、/etc/openldap/slapd.d 以下は直接編集するなって書いてあるし……」と「include samba.schema ってLDIFにどうやってするの!?」の2つ。こんな基本的なことがマニュアルに書いてないなんて絶対おかしいよ。

コメントを残す