LDAP Account Managerのインストールと設定

さてLDAPの概要は分かったような気がしてきた。
しかし、当初の目的「認証連携、Posix/Apache/Redmineアカウント一元管理」のためにはどうしたらよいだろう。
アカウント管理に用途を限らないLDAPは自由度が高すぎて、色々学ぶことや決め事が必要そうだ。
アカウント管理のためには、どういうツリーをつくるべきなののか?
いわゆる設計というやつである。ベストプラクティス的なものが世の中にあるはずだが・・

というわけで、おそらくそういう人をターゲットにしたであろう、
フリーのPHP実装、アカウント管理特化型WebUI LDAPクライアントにたどりついた。その名もずばりldap-account-manager。
http://lam.sourceforge.net/

インストール

早速インストールしてみた。

apt-get install ldap-account-manager

なんだか、勝手にapache2がprefork MPMになったりしてビビッたが、なんだかインストールされてくれた。
既にapache2はインストール済みで色々使っている状態だったので、へんな設定上書きされるのが心配だったが、結論だけ言えばそれは杞憂に終わった。さすがUbuntu

ちょっとだけ整合性を取る調整をしたあと、ブラウザで、http://example.com/lam/ 的なURLを入れると、「PHPで使えるメモリが16Mしかなくて困る。php.iniをいじって64M以上にしてくれ」的なエラーメッセージが出てきた。最初「php.iniってどこにあるの?」と困ったが、調べたところintrepid (ubuntu8.10)では/etc/php5/apache2/php.ini なんてところにあることが分かった。該当部分を編集してapache再起動したところ、こんな感じのログイン画面が出てきた。

こういう画面が出たということは、インストール自体はOKということだろう。


LDAP Account Manager (LAM)の設定

「さて、早速使ってみよう。」と思った矢先、困った。「どうやってログインするんだ?」

先ほどのスクリーンショットは、インストール直後は、正確にはちょっと違っていて、実はUser Nameプロダウンのところに「admin」(slapdインストール時に作られたadminユーザ)なんていう風には出てこない。そうでていれば迷わなかったが、最初は「Manager」なんていうのが出ていて、「誰よこれ?」的理由でログインできずに少し混乱した。この部分は後で説明するが、正解は、「LAM設定をする」というプロセスが必要ということ。先ほどインストールしたslapdの初期設定とこのLAMとやらの初期設定は全然リンクしてません。ですので、そこをヒモ付けてやる作業が必要になる。

具体的には、以下のとおり

  • このLAMとやらには、「マスターパスワード」という概念があって、それは初期設定では「LAM」になっている。
  • 先ほどのログイン画面スクリーンショット右上のLAM configurationメニューを押すと以下がでてくる

 

  • ここで下のメニューを押すと、以下のようなのがでてくるので、




このスクリーンショットも設定後のものなので、インストール直後は設定値がちょっと違っていた。縦長の画面だが、上から見ていこう。

  • まず、Server-settingsのTreeSuffixの部分。ここには、マシンのFQDN名を入れた。これは、slapdのインストール時に初期値としてそう設定されるからである。(と思われる。)
  • つぎに、Unix> Password Hash TypeをPLAINに変更した。が、これは、意味がなかったようだ。初期値であるSSHAにしておくのが良さそうだ。
  • 最後に、Security settings> List of valid usersの項目だ。 最初、ここにManagerなんていうものが入っているので、最初のログイン画面で混乱させられたわけだ。ここには、自分のサーバのFQDNにあわせて、上記のような値を書いてやる。そうすると、slapdインストール時に設定したadminユーザとそのパスワードで、先ほどのLAMのログイン画面(LAMと入れたところではない)からログインできるようになる。
  • ログインすると、以下のようにLDAPの中身をいじる(ユーザ管理をする)メニューがでてくる。

  • あとは、UIにしたがって、ユーザなりグループなりを作ればよい。この部分は比較的分かりやすい。