前段时间头儿让我去学下LDAP(包括安装与操作),在接下来的项目中可能会用到.于是我去学了,哪知道问题N多....装了一周;跟公司的应用服务器整合又花了一周.... 下面就把安装过程中常见的一些错误记录如下:

系统环境:RedHat ES4.6;openSSL-0.9.8e;cyrus-sasl-2.1.22;BerkeleyDB4.6.21;openLDAP-2.4.13
 
安装顺序上,应先安装openSSL,SASL,BDB,最后再安装LDAP.
前面几步,一切正常.     可是./configure   BDB的时候出现以下错误:
Berkeley DB should not be built in the top-level or dist directories.

解决方案如下:
# tar xvfz db-4.6.21.tar.gz
# cd db-4.6.21/build_unix/
# ../dist/configure -prefix=/usr/local/BerkeleyDB
再make && make install即可.

BDB
安装完毕之后开始安装openLDAP,但是configure时又出错:
configure: error: BDB/HDB: BerkeleyDB not available

解决方法如下:
export CPPFLAGS="-I/usr/local/BerkeleyDB/include"
export LDFLAGS="-L/usr/local/BerkeleyDB/lib"

之后,继续configurate,还是有错,这次错误:
configure: error: Berkeley DB version mismatch

这个错误见得最多.一开始狂换版本,BDB从4.7.25,4.6.21一路换到4.2.52;LDAP则从2.4.13,2.4.11一路换到2.2.28,只有2.2.28搭配BDB-4.2.52也2.3.32搭配BDB-4.5.20安装成功,前提是执行以下语句先:
export LD_LIBRARY_PATH="usr/local/BerkeleyDB/lib"
而把语句中的/usr/local/BerkeleyDB改成BDB解压缩路径时,安装成功机率大了很多.即以下写法:
export LD_LIBRARY_PATH="/usr/src/db-4.6.21/build_unix/.libs"

 
尝试BDB4.7.25搭配LDAP2.4.11时,出现make错误;
尝试BDB4.7.25搭配LDAP2.4.13时,make test停住不动,强行install后使用正常,但无法与公司应用服务器整合.最后BDB4.6.21+LDAP2.4.13与应用服务器整合成功.