「LDAPによる認証」の編集履歴(バックアップ)一覧はこちら
LDAPによる認証 - (2009/04/09 (木) 17:22:25) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
現在製作しているシステムの認証にADを利用しようと思い立ち、PHPでLDAPを利用して実装しました。
**PHPの設定変更(win版:テスト環境、自分のPC)
+php.iniのexstensionのコメントをはず
+ssleay32.dllとlibeay32.dllがapacheから参照できることが前提
win版はすんなりと設定できましたVersion 5.2.6
**PHPの設定変更(linux版:本番環境、サーバー)
本番環境はソースからコンパイルしているため、PHPを再コンパイルする必要がありました。~
流れとしては
+Berkeley DB を導入
+OpenLDAP 2.4.11-Releaseの導入
+phpの再コンパイル
**Berkeley DB の導入
$ tar zxvf db-4.7.25.NC.tar.gz
$ cd db-4.7.25/build_unix/
$ ../dist/configure
$ make
$ make instrall
$ chown -R root:wheel /usr/local/BerkeleyDB.4.7
**OpenLDAP 2.4.16の導入
openldap-stable-20080813.tgzをダウンロード
$./configure
途中略
checking for db.h... yes
checking for Berkeley DB major version... 4
checking for Berkeley DB minor version... 1
checking for Berkeley DB link (-ldb-4)... no
checking for Berkeley DB link (-ldb4)... no
checking for Berkeley DB link (-ldb)... yes
checking for Berkeley DB version match... yes
checking for Berkeley DB thread support... yes
checking Berkeley DB version for BDB/HDB backends... no
configure: error: BDB/HDB: BerkeleyDB version incompatible
Berkeley DB のバージョンが違う?~
実は最初は何も考えずにOpenLDAPから作業を開始しました。~
そうしたら、もともと4.1がインストールされていたみたいです。~
そこで、最新のBerkeley DB4.7をインストールしましたが、うまく行かない。~
色々ググってみると、バージョンは4.2がいいみたい。~
-OpenLDAPとBerkeley DBのバージョンの組み合わせ
|~|4.1|4.2|4.6|4.7|
|2.3.43|incompatible|○|×|×|
|2.4.11|incompatible|○|×|×|
|2.4.16|incompatible|○|×|×|
***最終的な手順
+Berkeley DB4.2の導入
+OpenLDAP 2.4.11の導入
$ vi /etc/ld.so.conf
でBerkeley DB4.2のライブラリーを追加
$ ldconfig
で変更を適用
$ cd OpenLDAP2.4.11
$ CPPFLAGS=-I/usr/local/BerkeleyDB.4.2/include LDFLAGS=-L/usr/local/BerkeleyDB.4.2/lib ./configure
$ make
$ make test
$ make install
でやっと導入できました。
***PHPの再コンパイル
./configure --with-mysql=/usr/local/mysql --with-apxs=/www/bin/apxs --with-gd --with-jpeg-dir=/usr/local/lib --with-zlib-dir=/usr/local/lib --enable-mbstring
--with-ldap=/usr/local
現在製作しているシステムの認証にADを利用しようと思い立ち、PHPでLDAPを利用して実装しました。
**PHPの設定変更(win版:テスト環境、自分のPC)
+php.iniのexstensionのコメントをはず
+ssleay32.dllとlibeay32.dllがapacheから参照できることが前提
win版はすんなりと設定できましたVersion 5.2.6
**PHPの設定変更(linux版:本番環境、サーバー)
本番環境はソースからコンパイルしているため、PHPを再コンパイルする必要がありました。~
流れとしては
+Berkeley DB を導入
+OpenLDAP 2.4.11-Releaseの導入
+phpの再コンパイル
***Berkeley DB の導入
$ tar zxvf db-4.7.25.NC.tar.gz
$ cd db-4.7.25/build_unix/
$ ../dist/configure
$ make
$ make instrall
$ chown -R root:wheel /usr/local/BerkeleyDB.4.7
***OpenLDAP 2.4.16の導入
openldap-stable-20080813.tgzをダウンロード
$./configure
途中略
checking for db.h... yes
checking for Berkeley DB major version... 4
checking for Berkeley DB minor version... 1
checking for Berkeley DB link (-ldb-4)... no
checking for Berkeley DB link (-ldb4)... no
checking for Berkeley DB link (-ldb)... yes
checking for Berkeley DB version match... yes
checking for Berkeley DB thread support... yes
checking Berkeley DB version for BDB/HDB backends... no
configure: error: BDB/HDB: BerkeleyDB version incompatible
Berkeley DB のバージョンが違う?~
実は最初は何も考えずにOpenLDAPから作業を開始しました。~
そうしたら、もともと4.1がインストールされていたみたいです。~
そこで、最新のBerkeley DB4.7をインストールしましたが、うまく行かない。~
色々ググってみると、バージョンは4.2がいいみたい。~
-OpenLDAPとBerkeley DBのバージョンの組み合わせ
|~|4.1|4.2|4.6|4.7|
|2.3.43|incompatible|○|×|×|
|2.4.11|incompatible|○|×|×|
|2.4.16|incompatible|○|×|×|
***最終的な手順
+Berkeley DB4.2の導入
+OpenLDAP 2.4.11の導入
$ vi /etc/ld.so.conf
でBerkeley DB4.2のライブラリーを追加
$ ldconfig
で変更を適用
$ cd OpenLDAP2.4.11
$ CPPFLAGS=-I/usr/local/BerkeleyDB.4.2/include LDFLAGS=-L/usr/local/BerkeleyDB.4.2/lib ./configure
$ make
$ make test
$ make install
でやっと導入できました。
***PHPの再コンパイル
./configure --with-mysql=/usr/local/mysql --with-apxs=/www/bin/apxs --with-gd --with-jpeg-dir=/usr/local/lib --with-zlib-dir=/usr/local/lib --enable-mbstring
--with-ldap=/usr/local
表示オプション
横に並べて表示:
変化行の前後のみ表示: