OpenLDAP資料一覧

OpenLDAPインストール手順

2008/3/21更新

対応バージョン: 2.4.8

公式サイト

準備

あらかじめインストールしておくもの

BerkeleyDB(db4)

導入OS

Fedora 8

インストール

配布ファイル展開

% tar zxvf openldap-2.4.8.tgz
% cd openldap-2.4.8

make,インストール

% ./configure <オプション>
% make depend
% make
% sudo make install

インストール物 (man,infoは除く)

ライブラリ
/usr/local/lib/liblber*
/usr/local/lib/libldap*
設定ファイル(サンプル)
/usr/local/etc/openldap/ldap.conf
/usr/local/etc/openldap/ldap.conf.default
/usr/local/etc/openldap/slapd.conf
/usr/local/etc/openldap/slapd.conf.default
/usr/local/etc/openldap/DB_CONFIG.example

/usr/local/var/openldap-data/DB_CONFIG.example
スキーマ定義
/usr/local/etc/openldap/schema/*
ヘッダファイル
/usr/local/include/lber*
/usr/local/include/ldap*
/usr/local/include/slapi-plugin.h
デーモン
/usr/local/libexec/slapd
ツール
/usr/local/bin/ldapadd -> ldapmodify
/usr/local/bin/ldapcompare
/usr/local/bin/ldapdelete
/usr/local/bin/ldapmodify
/usr/local/bin/ldapmodrdn
/usr/local/bin/ldappasswd
/usr/local/bin/ldapsearch
/usr/local/bin/ldapwhoami

/usr/local/sbin/slapacl -> ../libexec/slapd
/usr/local/sbin/slapadd -> ../libexec/slapd
/usr/local/sbin/slapauth -> ../libexec/slapd
/usr/local/sbin/slapcat -> ../libexec/slapd
/usr/local/sbin/slapdn -> ../libexec/slapd
/usr/local/sbin/slapindex -> ../libexec/slapd
/usr/local/sbin/slappasswd -> ../libexec/slapd
/usr/local/sbin/slaptest -> ../libexec/slapd

各種設定

基本設定

/usr/local/etc/openldap/slapd.confにて基本的な設定を行う。

ここではとりあえず以下のような設定にする。

include     /usr/local/etc/openldap/schema/core.schema

pidfile     /var/run/slapd.pid
argsfile    /var/run/slapd.args

database    bdb

suffix      "dc=private,dc=jp"

rootdn      "cn=Manager,dc=private,dc=jp"
rootpw      secret

directory   /usr/local/var/openldap-data

index   objectClass     eq

それ以外の設定については以下を参照のこと。

関連資料・記事

DB_CONFIG準備

今回データベースとしてbdb(Berkeley DB)を使用するので、同DB用の設定ファイルを準備しておく。

% cd /usr/local/var/openldap-data
% sudo cp DB_CONFIG.example DB_CONFIG
% sudo vi DB_CONFIG
(設定内容は省略する)

syslog設定

/etc/rsyslog.confに以下の設定を追加し、rsyslogdにHUPシグナルを送る。

local4.*    /var/log/slapd.log

動作確認

slapd(LDAPサーバ)を起動する。

% sudo /usr/local/libexec/slapd

待ち受けポートがLISTENになっているか確認する。

% netstat -nat|egrep '(Proto|389)'
Proto Recv-Q Send-Q Local Address  Foreign Address  State      
tcp        0      0 0.0.0.0:389    0.0.0.0:*        LISTEN      

以下のようにして情報が取り出せればOKである。

% ldapsearch -h localhost -b '' -s base '(objectclass=*)' '*' '+'
:
objectClass: top
:

initスクリプト設置

スクリプト作成

/etc/rc.d/init.d/slapdを作成する。

#!/bin/bash
#
# slapd
#
# chkconfig: 345 80 20
# description: slapd server

TARGET=slapd
DST_PREFIX=/usr/local
DST_BIN=${DST_PREFIX}/libexec/${TARGET}
DST_CONF=${DST_PREFIX}/etc/openldap/${TARGET}.conf
DST_PIDF=/var/run/${TARGET}.pid

[ -f ${DST_BIN} ] || exit 0
[ -f ${DST_CONF} ] || exit 0

start()
{
  echo -n "Starting ${TARGET}: "
  ${DST_BIN} -f ${DST_CONF}
  echo
}

stop()
{
  echo -n "Shutting down ${TARGET}: "
  kill `cat ${DST_PIDF}`
  echo
}

restart()
{
  stop
  start
}

case "$1" in
  start)
    start
    ;;

  stop)
    stop
    ;;

  restart)
    restart
    ;;

  *)
    echo "Usage: `basename $0` {start|stop|restart}" >&2
    exit 1
esac

exit 0

サービス登録

% sudo chkconfig --add slapd
% sudo chkconfig --list slapd
slapd  0:off  1:off  2:off  3:on  4:on  5:on  6:off