zoukankan      html  css  js  c++  java
  • openldap安装

    http://zhaoshijie.iteye.com/blog/819382

    1.安装OpenSSL,安装路径 默认 : /usr/local/ ssl

    tar -zxvf openssl-1.0.0d.tar.gz

    cd openssl-1.0.0d

    ./Configure

    make

    make install

    2.安装BerkeleyDB,安装路径默认: /usr/local/ BerkeleyDB.5.1

    tar -zxvf db-5.1.25.tar.gz

    cd db-5.1.25 

    cd build_unix

    ../dist/configure


    make

    make install

    安装完成后要将该软件的库路径/usr/local/BerkeleyDB.5.1/lib加入到/etc/ld.so.conf中,然后执行ldconfig使配置文件生效这样在编译openldap时候才能找到该库文件。ld.so.conf是系统动态链接库的配置文件,此文件中包含了可被Linux共享的动态链接库所在目录的名字(系统目录/lib,/usr/lib除外),各个目录之间以空格或者冒号或者逗号隔开。一般的Linux发行版中都含有/usr/X11R6/lib这个共享库,这是X Window窗口系统的动态链接库所在目录。ldconfig是他的管理命令。

    如果你不按照上面的做法,也没有关系,只要把/usr/local/BerkeleyDB.4.5下面lib, include目录下面的所有文件,手动拷贝到/usr/lib和/usr/include目录下面就可以了.作用和前面修改配置文件相同,目的也是这样在编译openldap时候才能找到该库文件.
    使用命令:
    cp /usr/local/ BerkeleyDB.4.5/include/* /usr/include
    cp /usr/local/ BerkeleyDB.4.5/lib/* /usr/lib

    3.安装OpenLDAP 2.4.24 , 安装路径默认 :/usr/local/etc/openldap

    tar -zxvf openldap-2.4.24.tgz

    cd openldap-2.4.24

    export CPPFLAGS="-I/usr/local/BerkeleyDB.5.1/include"

    export LDFLAGS="-L/usr/local/lib -L/usr/local/BerkeleyDB.5.1/lib"

    export CPPFLAGS="-I/usr/local/ssl/include"

    export LDFLAGS="-L/usr/local/ssl/lib"

    ./configure --with-tls=openssl --enable-dynamic

    一 旦你已运行 configure 脚本,那么 configure 脚本输出的最后一行应当是 Please "make depend" to build dependencies 
    如果不是上面的这行的话,则说明 configure 脚本失败了,你需要参看它的输出来决定是在什么地方出了点问题。除非 configure 完全成功了,否则你不能进入到下一步

    ===================================================

    env 
    CPPFLAGS="-I/usr/local/BerkeleyDB.5.1/include" LDFLAGS="-L/usr/local/BerkeleyDB.5.1/lib" 
    CPPFLAGS="-I/usr/local/ssl/include" LDFLAGS="-L/usr/local/ssl/lib" 
    ./configure 
    说明 : 将 BerkeleyDB.5.1 和 ssl 的 lib 和 include 在编译时临时加入到环境变量中 . 
    使用./configure --with-tls=openssl --enable-dynamic解决configure: error: MozNSS not found - please specify the 
    location to the NSPR and NSS header files in CPPFLAGS and the location to the NSPR and NSS libraries in LDFLAGS (if not in the system location) 
    ===================================================

    make depend   ( 构建依赖关系 ) 
    make 
    make install

    4. openldap 的启动 
    使用命令 :/usr/local/libexec/slapd 
    测试是否启动:ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts 
    显示如下: 
    # extended LDIF
    #
    # LDAPv3
    # base <> with scope baseObject
    # filter: (objectclass=*)
    # requesting: namingContexts 
    #
    #
    dn:
    namingContexts: dc=my-domain,dc=com
    # search result
    search: 2
    result: 0 Success
    # numResponses: 2
    # numEntries: 1

    5. 用ldapadd向其中加入条目

    信息的录入有三种方法,一种是手工录入,一种是.ldif文件格式录入,一种是脚本自动录入。我们先从最基础的手工 录入方式开始介绍,了解录入信息的格式。明白了手工录入的格式,其它两种方式都很容易明白。以下是手动录入信息的全过程

    创立DN

    [root@mm openldap]# ldapadd -x -D "cn=Manager,dc=mydomain,dc=com" -W
    Enter LDAP Password:
    dn:dc=mydomain,dc=com
    objectclass:top
    objectclass:dcobject
    objectclass:organization
    dc:mydomain
    o:2012.Inc
    adding new entry "dc=mydomain,dc=com"

    [root@mm openldap]# ldapadd -x -D "cn=Manager,dc=mydomain,dc=com" -W
    Enter LDAP Password:
    dn:ou=zongbu,dc=mydomain,dc=com
    ou: zongbu
    objectclass: organizationalUnit
    adding new entry "ou=zongbu,dc=mydomain,dc=com"

    [root@mm openldap]# ldapadd -x -D "cn=Manager,dc=mydomain,dc=com" -W
    Enter LDAP Password:
    dn:ou=kuli,dc=mydomain,dc=com
    ou:kuli
    objectclass: organizationalUnit
    adding new entry "ou=kuli,dc=mydomain,dc=com"

    [root@testlfy openldap]# ldapadd -x -D "cn=Manager,dc=mydomain,dc=com" -W
    Enter LDAP Password:
    dn:ou=mm,dc=mydomain,dc=com
    ou:mm
    objectclass: organizationalUnit
    adding new entry "ou=mm,dc=mydomain,dc=com"

    [root@testlfy openldap]# ldapadd -x -D "cn=Manager,dc=mydomain,dc=com" -W
    Enter LDAP Password:
    dn:cn=lizhiling,ou=mm,dc=mydomain,dc=com
    cn:lizhiling
    sn:lin
    objectclass:inetorgperson
    adding new entry "cn=lizhiling,ou=mm,dc=mydomain,dc=com"

    [root@testlfy openldap]# ldapadd -x -D "cn=Manager,dc=mydomain,dc=com" -W
    Enter LDAP Password:
    dn:cn=angelababy,ou=mm,dc=mydomain,dc=com
    cn:angelababy
    sn:angel
    objectclass:inetorgperson
    adding new entry "cn=angelababy,ou=mm,dc=mydomain,dc=com" 

    6. 使用ldapsearch命令查询“dc=mydomain, dc=com”下的所有条目

    vigar@vigar-laptop:/usr/local/bin$ sudo ldapsearch -x  -b "dc=mydomain,dc=com"

    # extended LDIF
    #
    # LDAPv3
    # base <dc=mydomain,dc=com> with scope subtree
    # filter: (objectclass=*)
    # requesting: ALL#

    
    

    # mydomain.com
    dn: dc=mydomain,dc=com
    objectClass: top
    objectClass: dcObject
    objectClass: organization
    dc: mydomain
    o: 2012.Inc

    # zongbu, mydomain.com
    dn: ou=zongbu,dc=mydomain,dc=com
    ou: zongbu
    objectClass: organizationalUnit

    # kuli, mydomain.com
    dn: ou=kuli,dc=mydomain,dc=com
    ou: kuli
    objectClass: organizationalUnit

    # mm, mydomain.com
    dn: ou=mm,dc=mydomain,dc=com
    ou: mm
    objectClass: organizationalUnit

    # lizhiling, mm, mydomain.com
    dn: cn=lizhiling,ou=mm,dc=mydomain,dc=com
    cn: lizhiling
    sn: lin
    objectClass: inetOrgPerson

    # angelababy, mm, mydomain.com
    dn: cn=angelababy,ou=mm,dc=mydomain,dc=com
    cn: angelababy
    sn: angel
    objectClass: inetOrgPerson

    # search result
    search: 2
    result: 0 Success

    # numResponses: 7
    # numEntries: 6

    
    
    
     

     7.在其它client端上用ldapBrowser连接, 先配置一个cfg文件,文件内容, 其中标红处要与ldap server上的slapd.conf中的内容对应

    #################################
    # LDAP Browser v2.8 config file #
    #################################
    basedn=dc=mydomain,dc=com
    port=389
    managerlogin=yes
    managereferrals=no
    limit=0
    derefaliases=always
    sslport=636
    version=3
    timeout=0
    password=bugaosuni
    host=10.0.2.8
    managerdn=cn=Manager,dc=mydomain,dc=com

     连接效果如下

    参考资料 

    1. http://blog.csdn.net/njchenyi/article/details/2051293

     2. iPlanet Directory Server示例

    http://docs.oracle.com/cd/E19199-01/816-6696-10/cmdline.html#14439

    bash-3.2$ ldapsearch -h 10.0.32.13 -p 389 -D "uid=admin,ou=Administrators,ou=TopologyManagement,o=NetscapeRoot" -w admin -b  "ou=agent_section,ou=333,ou=885,ou=10.0.2.3,ou=invoker_RT,ou=ini,ou=2b,o=NetscapeRoot" -s sub "objectclass=*"
    ou=agent_section,ou=333,ou=885, ou=10.0.2.3, ou=invoker_RT, ou=ini, ou=2b, o=NetscapeRoot
    ou=agent_section
    objectClass=top
    $daemon_cmd=perl mm.pl
  • 相关阅读:
    网络流24题-分配问题
    网络流24题-圆桌问题
    git ssh
    SQL Server 添加说明 语句
    问题思路
    数据库事务和锁
    Castle Windsor
    Flask学习笔记11之特殊的装饰器
    python中的"环绕通知"
    Flask学习笔记10之flash
  • 原文地址:https://www.cnblogs.com/vigarbuaa/p/2804216.html
Copyright © 2011-2022 走看看