Red Hat5上OpenLDAP的安装

来源:互联网 发布:软件项目管理 编辑:程序博客网 时间:2024/05/22 22:21

记录一下自己安装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

    configure成功后,会提示让你make depend


   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         这个在生产环境下慎用。