« ServersMan@VPS(5) Webminをインストールしてみる | Main | ServersMan@VPS(7) Postfixを入れてみる »

2010.07.14

ServersMan@VPS(6) OpenLDAP環境の構築

OpenLDAPは少しだけ使ったことがあるのですが(過去の記事を遡ればエントリがあります)、かなり適当な使い方だったので、詳しいことはあまり理解できていませんでした。なので、とりあえず、書籍を1冊購入して、環境構築の勉強を。

最終的に、以下のような環境を構築したいなぁ・・・と。もっとも、時間が限られているのがちょっと辛いところ(出来れば今月中、遅くとも8月中旬までには終わらせておく必要があるので)。

  • ユーザーは、Webブラウザを経由して自分のパスワードを変更できる
  • ただし、管理者以外は、自分の情報以外は参照することは出来ない
  • Apacheの認証と組み合わせる(もっとも、この部分だけなら既にやってますが)
  • Apacheの認証のグループ設定をLDAPの情報と組み合わせる(LDAP側での設定に準じて、アクセス可否を制御する)

とりあえずは、OpenLDAPが動作する環境の構築から。

【1】OpenLDAPが動作するためのアプリケーションはインストールされていないので、インストール。

yum install openldap-servers openldap-clients

2.3.43がインストールされました。

【2】/etc/openldap/slapd.conf を編集する。
とりあえずは、suffix / rootdn / rootpw の3項目を設定。パスワードは slappasswd でSSHAで処理。

【3】/etc/openldap/ldap.conf を編集する。
BASEとURIがコメントアウトされているが、BASEとHOSTを指定する(別にURIを指定してもいいとは思うのですが・・・以前やったときはURIを指定しました)。

【4】OpenLDAPのプログラムがアクセスするディレクトリの所有権を変更する。

chown -R ldap:ldap /var/lib/ldap/

この設定をしておかないと、/etc/init.d/ldap start を行った時に、
/var/lib/ldap/__db.001 is not owned by "ldap" [WARNING]

という警告が出て、起動に失敗します。

続いてphpLDAPadminをインストール。
Webブラウザ経由でパスワードの変更を行えるようにするためには、何らかの管理ツールは必須。過去にJavaで必要最低限の機能を有しているWebアプリを作ったことはあるのですが、どうせなら本格的に設定を行うことが出来るようにするため、phpLDAPadminを入れることに。

【1】phpをインストールする。
ServersMan@VPSのシンプルセットではphpもインストールされていないので、LDAPアクセス用のモジュールも含めてインストールする。

yum install php php-ldap

5.1.6がインストールされました(同時に、/etc/httpd/conf.d/php.ini なども生成されます)。
/etc/php.ini において、memory_limitの値はデフォルトで128Mになっていたので、そのままとします。

【2】phpLDAPadminのプログラムをダウンロードし、コピーする。
ダウンロードページからアーカイブをダウンロード。今回は phpldapadmin-1.2.0.5.tgz を入手。ダウンロード完了後、展開&ファイルを移動。

tar zxvf phpldapadmin-1.2.0.5.tgz
mv ./phpldapadmin-1.2.0.5 /var/www/html/phpldapadmin

【3】phpLDAPadminの設定ファイルを編集する。
まずは設定ファイルをコピーします。

cd /var/www/html/phpldapadmin/config
cp config.php.example config.php

基本的に、全て初期値のままでも動作するような感じです。が、とりあえずは以下の2ヶ所を設定(匿名でのログインを出来ないようにします)。
$servers->setValue('server','name','***** LDAP Server');
$servers->setValue('login','anon_bind',false);

【4】起動
ServersMan@VPSでは、/etc/init.d/httpd start でApacheを起動する場合、(デフォルトの状態では)ユーザーがapacheではなくdaemonで起動してきますので、

chown -R daemon:apache /var/lib/php/session/

をしておく必要があります。これをしておかないと、ログインしようとした時などに、
open(/var/lib/php/session/sess_dq1lketmuqdfh7uqj9pepsdro1, O_RDWR) failed: Permission denied

というエラーが発生します。

とりあえず下準備は出来たので、後はLDIFファイルを作成してエントリを作成していくことになるのですが・・・続きはまた週末にでも。


|

« ServersMan@VPS(5) Webminをインストールしてみる | Main | ServersMan@VPS(7) Postfixを入れてみる »

Linux」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/48849327

Listed below are links to weblogs that reference ServersMan@VPS(6) OpenLDAP環境の構築:

« ServersMan@VPS(5) Webminをインストールしてみる | Main | ServersMan@VPS(7) Postfixを入れてみる »