31May/090
freebsd下安装openldap
由于工作需要,要了解ldap方面的知识,苦于不知从何下手,管它三七二十一,先装好环境再说。而openldap号称可以和商业相媲美的开源的ldap产品。就是它了.网上在freebsd下的安装大多都是采用port安装的。由于偶自己用的freebsd没装port,那就只好手工编译,反正偶也不嫌累。。呵呵
全部安装以openldap2.3.32,Berkeyley DB4.2.52(最新已经到4.5版本了,怕不兼容,把版本稍微降了点),还有个认证的东东sasl(装了才发现不会用,白装了)
首先安装Berkeyley DB4,和一般的安装没什么区别,三部曲嘛
tar –zxvf db-4.3.28.tar.gz
cd db-4.3.28
cd build_unix
../dist/configure
make
make install
cd db-4.3.28
cd build_unix
../dist/configure
make
make install
安装sasl,继续三部曲
tar xzvf cyrus-sasl-1[1].5.28.tar.gz
cd cyrus-sasl
./configure
make
make install最后安装openldap
tar xzvf openldap-stable-20070110.tgz
cd openldap-2.3.32
./configure --prefix=/usr/local/openldap三部曲行不通了。。出现下列错误
configure: error: BDB/HDB: BerkeleyDB version incompatible
赶快网上找资料,才知道是编译选项在作怪。修改编译选项为
env CPPFLAGS="-I/usr/local/bdb/include" LDFLAGS="-L/usr/local/bdb/lib" ./configure --prefix=/usr/local/openldap --with-wrapper --enable-ldbm
如果想知道CPPFLAGS这些的具体意思,可以用./configure --help自己查看
重新来过,没想到又出现新的错误
configure: error: Berkeley DB version mismatch
晕,刚解决完incompatible问题,又冒出个mismatch.继续找原因。最后好不容易在一外国网站找到一个解决方法,原来是环境变量惹的祸
export LD_LIBRARY_PATH="<BerkelyDB Directory path>/build_unix/.libs" #这里的<BerkelyDB Directory path>是你解压缩安装的路径,不是你安装后的路径,别搞混了终于编译通过了,接下来就回归正常的编译步骤了
make depend
make
make test #这个花的时间比较长,至少10分钟
make install恭喜,openldap安装ok了。