OpenLDAP をソースからコンパイルして CentOS 6.2 にインストールする
CentOS 6.2 の環境に OpenLDAP をソースからコンパイルしてインストールしてみたので、その時のメモ。
OpenLDAP は年に数回ほど検証環境で使いたいなって場面があります。まぁ、このあたりは専門ではないので誰かに環境貸しておくれ状態になってたわけですが、やっぱり環境ぐらい自分で作れた方がいいだろうということで今回やってみた次第です。
余談入りましたが、以下方法です。
※ インストールする OpenLDAP のバージョンは、2015/07/28 時点最新の 2.4.41 です。
1. ソースのダウンロード
以下の Web ページの United States のミラーからダウンロードしました ( Japan はたまたまなのかつながらず・・・ )。
・OpenLDAP, Download
http://www.openldap.org/software/download/
wget でダウンロードして、ついでに展開までしておく。
mkdir /usr/local/openldap cd /usr/local/openldap wget ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.41.tgz gunzip -c openldap-2.4.41.tgz | tar xf -
2. 必要なソフトウェアのインストール
OpenSSL と GnuTLS が必要みたいなのでインストールしておく。yum で。
yum -y install openssl gnutls
BerkeleyDB 入ってないと ( *1 ) の感じで怒られるので、こいつもインストールしておく。こっちも yum で。
yum -y install db4*
( *1 )
./configure --prefix=/usr/local/openldap/2.4.41 - 略 - checking db.h usability... no checking db.h presence... no checking for db.h... no configure: error: BDB/HDB: BerkeleyDB not available
3. configure、コンパイル、インストール
今回はインストールディレクトリを "/usr/local/openldap/2.4.41" としたかったので、ディレクトリ作って --prefix で指定する。
mkdir /usr/local/openldap/2.4.41 cd /usr/local/openldap/openldap-2.4.41 ./configure --prefix=/usr/local/openldap/2.4.41 - 略 - Making servers/slapd/overlays/statover.c Add syncprov ... Please run "make depend" to build dependencies
特にエラーもでず、Makefile できているので、とりあえず上手くいったっぽい。
ls /usr/local/openldap/openldap-2.4.41 ANNOUNCEMENT COPYRIGHT LICENSE Makefile.in aclocal.m4 clients config.status configure.in doc libraries servers tests CHANGES INSTALL Makefile README build config.log configure contrib include libtool stamp-h
コンパイル、インストール。
make && make install
こちらも特にエラー等でず、--prefix に指定したディレクトリにそれっぽいディレクトリができてますね。
ls /usr/local/openldap/2.4.41 bin etc include lib libexec sbin share var
4. 設定ファイルの編集
"/usr/local/openldap/2.4.41/etc/openldap/slapd.conf" の「BDB database definitions」を以下のように変更する。
####################################################################### # BDB database definitions ####################################################################### database bdb suffix "dc=example,dc=com" rootdn "cn=Manager,dc=example,dc=com" rootpw secret directory /usr/local/openldap/2.4.41/var/openldap-data index objectClass eq
5. 起動、停止
以下の感じで slapd で起動できる。
/usr/local/openldap/2.4.41/libexec/slapd
ポート 389 がちゃんと LISTEN しております。
netstat -an | grep 389 tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN tcp 0 0 :::389 :::* LISTEN
停止はとりあえず kill でやるみたい。。。
kill -INT `cat /usr/local/openldap/2.4.41/var/run/slapd.pid`
ドキュメントは以下あたりです。
・OpenLDAP Software 2.4 Administrator's Guide: A Quick-Start Guide
http://www.openldap.org/doc/admin24/quickstart.html
・OpenLDAP Software 2.4 Administrator's Guide: Building and Installing OpenLDAP Software
http://www.openldap.org/doc/admin24/install.html
・OpenLDAP Software 2.4 Administrator's Guide: Running slapd
http://www.openldap.org/doc/admin24/runningslapd.html#Stopping slapd
データの追加、検索等は、また今度まとめて別エントリーで書こうと思います。
以上です。