LoginSignup
7

More than 5 years have passed since last update.

HomebrewでOpenLDAPをインストールする

Last updated at Posted at 2014-11-22

ActiveDirectoryでユーザ認証するアプリを作りたくて、開発環境として手元にOpenLDAPをインストールしてみたらちょっと大変だったので作業メモ。

環境と関連リンク

インストール

% brew info openldap
openldap: stable 2.4.39
http://www.openldap.org/software/
/usr/local/Cellar/openldap/2.4.39 (131 files, 7.4M) *
  Built from source with: --with-berkeley-db
From: https://github.com/homebrew/homebrew-dupes/blob/master/openldap.rb
==> Dependencies
Required: openssl ✔
Optional: berkeley-db ✔
==> Options
--with-berkeley-db
        Build with berkeley-db support
--with-memberof
        Include memberof overlay
--with-sssvlv
        Enable server side sorting and virtual list view
% brew install homebrew/dupes/openldap --with-berkeley-db

symlinkを作る

slapdlibexec にいるのが普通っぽいので、Homebrewの流儀に従ってディレクトリとsymlinkを作っておく。

% mkdir /usr/local/libexec 
% ln -s /usr/local/Cellar/openldap/2.4.39/libexec/slapd /usr/local/libexec

設定

OpenLDAPがインストールされるのはここ。

/usr/local/etc/openldap

slapd.conf

rootpw

管理者パスワードを slappasswd で作成し、slapd.conf に書いておく。

% slappasswd
New password:
Re-enter new password:
{SSHA}+*******************************

sufffix , rootdn

手元で動かす用の設定をしておく。

  • suffix
    • dc=localhost
  • rootdn
    • cn=admin,dc=localhost

slapd.conf

最終的にこういう修正になる。

slap.conf
suffix      "dc=localhost"
rootdn      "cn=admin,dc=localhost"
rootpw      {SSHA}+*******************************

DB_CONFIG

slapd.conf には directory /usr/local/var/openldap-data の指定がある。データディレクトリはここになる。

DB_CONFIG.example/usr/local/etc/openldap にあるものと同一なのでrenameして使う。

% mv /usr/local/var/openldap-data/DB_CONFIG.example /usr/local/var/openldap-data/DB_CONFIG         

id2entry.bdb

openldap-data/id2entry.bdb が存在しないと slapd がスタートしない。

% slaptest
54701b7c bdb_db_open: database "dc=localhost": db_open(/usr/local/var/openldap-data/id2entry.bdb) failed: No such file or directory (2).
54701b7c backend_startup_one (type=bdb, suffix="dc=localhost"): bi_db_open failed! (2)
slap_startup failed (test would succeed using the -u switch)

同梱の *.ldifslapadd してやると作成される。

% slapadd -l /usr/local/etc/openldap/schema/core.ldif
  • before
% ls -1
DB_CONFIG                           
__db.001
__db.002
__db.003
alock
  • after
% ls -1 
DB_CONFIG
__db.001
__db.002
__db.003
alock
dn2id.bdb
id2entry.bdb
log.0000000001

参考になりました :sushi:
http://hryksbt.b.sourceforge.jp/archives/421

起動

slaptest でOKが出たら起動する。

% slaptest
54701c89 bdb_monitor_db_open: monitoring disabled; configure monitor database to enable
config file testing succeeded

monitoring disabled; はとりあえず気にしなくてよい。

% sudo /usr/local/libexec/slapd

やったね!

おまけ

一気に実行するスクリプトを書いた。この先ユーザ作ったりするので、進捗があったら追加していくよてい。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7