俺だけのために Ore! Tips!

OpenLDAP-2.2.15 のインストール

2004年08月09日 作業

FreeBSD 5.2.1-RELEASE に、OpenLDAP をインストールする。

OpenLDAP は BerkeleyDB を必要とするようなので、まずは BerkeleyDB のインストールから。
BerkeleyDB のインストールが終了したら、OpenLDAP のインストールに移る。

まず、最新のソースを落としてくる。そしてファイルの展開。
(http://www.openldap.org/ ではなく、日本のミラーサイトからが良い)

serv2# cd /usr/local/src
serv2# lynx ftp://ftp.dti.ad.jp/pub/net/OpenLDAP/openldap-release/openldap-2.2.15.tgz

 <ダウンロード済>

serv2# ls -la openl*
-rw-r--r--  1 root  wheel  2575720 Aug  9 23:49 openldap-2.2.15.tgz
serv2# tar xvfz openldap-2.2.15.tgz
openldap-2.2.15/
openldap-2.2.15/doc/
openldap-2.2.15/doc/man/
<略>
openldap-2.2.15/tests/scripts/test020-proxycache
openldap-2.2.15/tests/scripts/test021-certificate

まずは、configure を行う。

serv2# cd openldap-2.2.15
serv2# ./configure --enable-crypt --enable-ldbm
Copyright 1998-2004 The OpenLDAP Foundation. All rights reserved.
        Restrictions apply, see COPYRIGHT and LICENSE files.
Configuring OpenLDAP 2.2.15-Release ...
checking host system type... i386-unknown-freebsd5.2.1
<略>
checking for Berkeley DB thread support... no
checking Berkeley DB version for BDB backend... no
configure: error: BDB: BerkeleyDB version incompatible

ありゃ?BerkeleyDB のバージョンが「非互換」だと言われた。
最新の BerkeleyDB なのにぃ?ほんとにぃ?

一応、rehash と ldconfig してみるか。

serv2# rehash
serv2# /sbin/ldconfig -m /usr/local/BerkeleyDB/lib
serv2# ./configure --enable-crypt --enable-ldbm
Copyright 1998-2004 The OpenLDAP Foundation. All rights reserved.
        Restrictions apply, see COPYRIGHT and LICENSE files.
Configuring OpenLDAP 2.2.15-Release ...
checking host system type... i386-unknown-freebsd5.2.1
<略>
configure: error: BDB: BerkeleyDB version incompatible

ありゃぁ!!駄目かぁ。

どうも、linux compat 入れてるのがまずいのかなあ?
例えば libdb なんだが、/usr/local/BerkeleyDB.4.2/lib 以下には libdb-4.2.so が存在しているが、/usr/compat/linux/lib/ の下には古い libdb-3.1.so がいる。
こっちが参照されている?

何か、明示的に include や lib の位置を指定して configure すれば良いのかも。

serv2# pwd
/usr/local/src/openldap-2.2.15
serv2# sh
# pwd
/usr/local/src/openldap-2.2.15
# CPPFLAGS=-I/usr/local/BerkeleyDB.4.2/include LDFLAGS=-L/usr/local/BerkeleyDB.4.2/lib ./configure
Copyright 1998-2004 The OpenLDAP Foundation. All rights reserved.
        Restrictions apply, see COPYRIGHT and LICENSE files.
Configuring OpenLDAP 2.2.15-Release ...
checking host system type... i386-unknown-freebsd5.2.1
<略>
checking for db.h... yes
checking for Berkeley DB link (default)... no
checking for Berkeley DB link (-ldb42)... no
checking for Berkeley DB link (-ldb-42)... no
checking for Berkeley DB link (-ldb-4.2)... yes
checking for Berkeley DB version match... yes
checking for Berkeley DB thread support... yes
checking Berkeley DB version for BDB backend... yes
<略>
creating include/portable.h
creating include/ldap_features.h
creating include/lber_types.h
Please run "make depend" to build dependencies

よし。configure は無事終了。
やはり、ver 4.2 のファイルを探していたようやね。

make を行う。一気に make install まで。(もう、このまま sh 上でやっちゃう)

# make depend
Making depend in /usr/local/src/openldap-2.2.15
Entering subdirectory include
Making ldap_config.h
<略>
Making depend in /usr/local/src/openldap-2.2.15/doc/man
Entering subdirectory man1

Entering subdirectory man3

Entering subdirectory man5

Entering subdirectory man8



# make
Making all in /usr/local/src/openldap-2.2.15
Entering subdirectory include

Entering subdirectory libraries
Making all in /usr/local/src/openldap-2.2.15/libraries
Entering subdirectory liblutil
rm -f version.c
../../build/mkversion -v "2.2.15" liblutil.a > version.c
cc -g -O2 -I../../include -I../../include -I/usr/local/BerkeleyDB.4.2/include -c base64.c
<略>
Entering subdirectory man8
PAGES=`cd .; echo *.8`;  for page in $PAGES; do  sed -e "s%LDVERSION%2.2.15%"  -e 's%ETCDIR%/usr/local/etc/openldap%'  -e 's%LOCALSTATEDIR%/usr/local/var%'  -e 's%SYSCONFDIR%/usr/local/etc/openldap%'  -e 's%DATADIR%/usr/local/share/openldap%'  -e 's%SBINDIR%/usr/local/sbin%'  -e 's%BINDIR%/usr/local/bin%'  -e 's%LIBDIR%/usr/local/lib%'  -e's%LIBEXECDIR%/usr/local/libexec%'  -e 's%RELEASEDATE%2004/07/27%'  ./$page > $page.tmp;  done



# make install
Making all in /usr/local/src/openldap-2.2.15
Entering subdirectory include
<略>
installing /usr/local/man/man8/slappasswd.8
installing /usr/local/man/man8/slaptest.8
installing /usr/local/man/man8/slurpd.8

インストール終了。

試しに起動してみる。

serv2# find / -name "slapd" -print
/usr/local/libexec/slapd
/usr/local/src/openldap-2.2.15/servers/slapd
/usr/local/src/openldap-2.2.15/servers/slapd/slapd
serv2# ps -ax|grep slap
79496 p0 S+ 0:00.00 grep slap
serv2# /usr/local/libexec/slapd
serv2# ps -ax | grep slap
79498 ?? Ss 0:00.02 /usr/local/libexec/slapd
79500 p0 R+ 0:00.00 grep slap

試しにクライアントソフトでルート DSE のシステム情報を読みとってみる。

serv2# ls -la /usr/local/bin/ldap*
-rwxr-xr-x  2 root  wheel  176884 Aug 10 01:21 /usr/local/bin/ldapadd
-rwxr-xr-x  1 root  wheel  164496 Aug 10 01:21 /usr/local/bin/ldapcompare
-rwxr-xr-x  1 root  wheel  164388 Aug 10 01:21 /usr/local/bin/ldapdelete
-rwxr-xr-x  2 root  wheel  176884 Aug 10 01:21 /usr/local/bin/ldapmodify
-rwxr-xr-x  1 root  wheel  164396 Aug 10 01:21 /usr/local/bin/ldapmodrdn
-rwxr-xr-x  1 root  wheel  164360 Aug 10 01:21 /usr/local/bin/ldappasswd
-rwxr-xr-x  1 root  wheel  189472 Aug 10 01:21 /usr/local/bin/ldapsearch
-rwxr-xr-x  1 root  wheel  161868 Aug 10 01:21 /usr/local/bin/ldapwhoami
serv2# /usr/local/bin/ldapsearch -x -b '' -s base +
# extended LDIF
#
# LDAPv3
# base <> with scope base
# filter: (objectclass=*)
# requesting: +
#

#
dn:
structuralObjectClass: OpenLDAProotDSE
namingContexts: dc=my-domain,dc=com
supportedControl: 2.16.840.1.113730.3.4.18
supportedControl: 2.16.840.1.113730.3.4.2
supportedControl: 1.3.6.1.4.1.4203.1.10.1
supportedControl: 1.2.840.113556.1.4.1413
supportedControl: 1.2.840.113556.1.4.1339
supportedControl: 1.2.840.113556.1.4.319
supportedControl: 1.2.826.0.1.334810.2.3
supportedExtension: 1.3.6.1.4.1.1466.20037
supportedExtension: 1.3.6.1.4.1.4203.1.11.1
supportedExtension: 1.3.6.1.4.1.4203.1.11.3
supportedFeatures: 1.3.6.1.4.1.4203.1.5.1
supportedFeatures: 1.3.6.1.4.1.4203.1.5.2
supportedFeatures: 1.3.6.1.4.1.4203.1.5.3
supportedFeatures: 1.3.6.1.4.1.4203.1.5.4
supportedFeatures: 1.3.6.1.4.1.4203.1.5.5
supportedLDAPVersion: 3
subschemaSubentry: cn=Subschema

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

うん。ちゃんと動いている。:-)

前ページに戻る


Copyright (C) 2004 S.Maaasamasa.