记录一下自己安装OpenLDAP的过程,文中大部分内容从网上整理而来,闲话少叙。
OS:redhat el5.3
这里安装的是当前最新版的OpenLDAP2.4.26,可从OpenlDAP官网上下载www.openldap.org.,安装包为openldap-2.4.26.tgz
安装OpenlDAP需要预先安装一些1其他的软件,以下是本次安装是安装的软件及顺序:
1.BerkeleyDB:db-4.5.20.tar.gz,可从oracle官网上下载,不同OpenlDAP的版本对BerkeleyDB版本的要求也不一样,
这个具体可以从openldap-2.4.26.tgz解压后的readme文件中得知。
2.openssl:openssl-0.9.8e.tar.gz,可从官网下载:http://www.openssl.org,可选其他版本。
3.openldap:openldap-2.4.26.tgz
下面开始
一,安装BerkeleyDB(以下以“#”开始的均表示命令行操作)
1.# tar xvfz db-4.5.20.tar.gz
# cd db-4.5.20/build_unix/
# ../dist/configure-prefix=/usr/local/BerkeleyDB
# make
# sudo make install
2. 把/usr/local/BerkeleyDB.4.2/lib的库路径加到/etc/ld.so.conf文件内,添加完成后执行一次ldconfig
在/etc/ld.so.conf中追加:
/usr/local/BerkeleyDB/lib
#ldconfig
二,安装openssl
1. 解压
# tar –zxvf openssl-0.9.8e.tar.gz
2. #./config-prefix=/usr/local/openssl -shared
3. #make 编译
#make test 测试
#make install 安装 ----安装到了/usr/local/ssl下
4 /etc/ld.so.conf文件中,加上:/usr/local/ssl/lib
Update the run-time linker:
#ldconfig
5 环境变量
#echo $PATH
#vi /root/.bash_profile:
PATH=$PATH:$HOME/bin:/usr/local/ssl/bin:/usr/local/BerkeleyDB/bin
6. Verify that binary 'openssl' is linkingagainst the correct ssl libraries...
# cd /usr/local
# ldd /usr/local/ssl/bin/openssl
7 # which openssl ----验证系统当前使用的openssl
如果显示不是刚才安装的目录,可能就是因为系统之前安装过openssl
若要使系统使用你刚安装的,使用如下方法:
在/root/.bash_profile中将PATH设置为如下的顺序,即把当前安装上的openssl的版本放在环境变量的前面,这样优先使用的就是新安装的最新的版本的OpenSSL了
记得重启
8 以下操作也可看做为安装openldap做准备
#ln -s/usr/local/ssl/lib/libcrytpo.so.0.9.8/lib/libcrypto.so.4
#ln -s /usr/local/ssl/lib/libssl.so.0.9.8 /lib/libssl.so.4
#ln -s /usr/local/ssl/lib/libcrytpo.so.0.9.8 /usr/lib/libcrypto.so
#ln -s /usr/local/ssl/lib/libssl.so.0.9.8/usr/lib/libssl.so
#ln -s /usr/local/ssl/include/openssl /usr/include/openssl
最后要刷新系统的动态连接库配置
#echo /usr/local/ssl/lib >> /etc/ld.so.conf
#ldconfig -v
三,安装openldap
当前目录为.tar.gz文件解压后的文件夹目录
1. configure之前,执行以下命令
#exportCPPFLAGS="-I/usr/local/BerkeleyDB/include"
#exportLDFLAGS="-L/usr/local/BerkeleyDB/lib"
#exportLD_LIBRARY_PATH="/usr/local/ssl/lib:/usr/local/BerkeleyDB/lib"
然后configure
#./configure --prefix=/usr/local/openldap --with-tls=openssl --enable-dynamic --enable-overlays --enable-accesslog
说明:--with-tls=openssl指定使用openssl,--enable-overlays --enable-accesslog指定启用accesslog。
如果configure遇到以下问题:
configure: error: MozNSS not found 。。。。。。。。。。。
configure: error:Countnot locate TLS/SSL package..
以上两个错误交替出现,是因为安装程序没有找到openssl,解决方法是:
#ln -s/usr/local/ssl/lib/* /lib/
#ln -s /usr/local/ssl/lib/* /usr/local/lib/
然后:#./configure --prefix=/usr/local/openldap--with-tls=openssl --enable-dynamic --enable-overlays --enable-accesslog
2.#make depend
3.#make
4.#make test --这一步需要较长时间,大概三十分钟吧
---Found 2 errors >>>>>> Exiting with afalse success status for now >>>>>./scripts/test058-syncrepl-asymmetric completed OK for hdb.
如果test结束有这样的信息,可以忽略。一般按上面步骤进行的话不会有这信息。
5.#make install
6. 此时启动openldap有问题
#mkdir -p /var/lib/ldap #directory alreadyexists if RedHat rpms are installed
#chmod 700 /var/lib/ldap
#chown -R root:root /var/lib/ldap # userldap:ldap already exists if RH rpms are installed
#chown -R root:root /etc/openldap
7.
在libexec目录下,建立文件local.file,内容为:
exportLD_LIBRARY_PATH="/usr/local/ssl/lib:/usr/local/BerkeleyDB/lib"
即加入共享库的目录,ssl和BerkeleyDB的lib目录
这样,只需在启动slapd之前
#source local.file 也可以设置为永久环境变量
8. 如果启动后,还是连接不上,则可能是服务器的iptables设置问题,可以使用一下命令:
#service iptables stop 这个在生产环境下慎用。