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
うん。ちゃんと動いている。:-)
|
|