版权声明:本文系作者原创。未经许可,不得转载。

           
1、修改/etc/hosts
    $ sudo vim /etc/hosts
    添加或修改一行
    127.0.1.1   hostname.example.com     hostname
    hostname可以通过运行命令获得。
    $ hostname
    OptiPlex-7010
    在安装ldap时,会读取这一行,创建默认根结点base dn 为dc=example,dc=com。

2、安装ldap-utils slapd
    $ sudo aptitude install ldap-utils slapd
    安装过程中设置管理员用户的密码,如secret。
    安装完成后,会自动添加管理员账户cn=admin, dc=example,dc=com。

3、安装网页客户端phpldapadmin
    $ sudo aptitude install phpldapadmin
    修改apache或nginx的配置文件,添加域名和端口,并使其指向/usr/share/phpldapadmin/。
    修改/usr/share/phpldapadmin/config/config.php。
    $ sudo vim /usr/share/phpldapadmin/config/config.php
    修改其中的两行:
    $servers->setValue('server','base',array('dc=example,dc=com'));#LDAP server的Base DNs
    $servers->setValue('login','bind_id','cn=admin,dc=example,dc=com');#登陆框默认Login DN
    
    在浏览器打开上述域名和端口,输入管理员帐号和密码,即可使用网页客户端登陆ldap数据库。

4、导入数据
    $ sudo ldapadd -H ldap://127.0.0.1 -x -D "cn=admin,dc=example,dc=com" -f export.ldif -w secret
    export.ldif为需要导入的数据文件。一般从别的ldap数据库导出而来。
    cn=admin,dc=example,dc=com为管理员账户。
    secret为管理员密码。

5、查看数据库
    $ sudo slapcat 
    如果出现下列内容,说明安装正确。
    dn: dc=example,dc=com
    objectClass: top
    objectClass: dcObject
    objectClass: organization
    o: example.com
    dc: example
    structuralObjectClass: organization
    entryUUID: 67286340-ed5a-1034-8b78-1134e712f9e6
    creatorsName: cn=admin,dc=example,dc=com
    createTimestamp: 20150912052519Z
    entryCSN: 20150912052519.749367Z#000000#000#000000
    modifiersName: cn=admin,dc=example,dc=com
    modifyTimestamp: 20150912052519Z
    
    dn: cn=admin,dc=example,dc=com
    objectClass: simpleSecurityObject
    objectClass: organizationalRole
    cn: admin
    description: LDAP administrator
    userPassword:: e1NTSEF9TmxrVkJLZDRkYUp0cU9NMEZhMlZPVktQZnVUeVIvakE=
    structuralObjectClass: organizationalRole
    entryUUID: 67407200-ed5a-1034-8b79-1134e712f9e6
    creatorsName: cn=admin,dc=example,dc=com
    createTimestamp: 20150912052519Z
    entryCSN: 20150912052519.907027Z#000000#000#000000
    modifiersName: cn=admin,dc=example,dc=com
    modifyTimestamp: 20150912052519Z

6、常见错误
    在查看数据时,如果出现下列内容,则说明安装错误。
    $ sudo slapcat
    dn: dc=nodomain
    objectClass: top
    objectClass: dcObject
    objectClass: organization
    o: nodomain
    dc: nodomain
    structuralObjectClass: organization
    entryUUID: 67dfd1e2-ed50-1034-9d21-2f5306a7bcff
    creatorsName: cn=admin,dc=nodomain
    createTimestamp: 20150912041345Z
    entryCSN: 20150912041345.984216Z#000000#000#000000
    modifiersName: cn=admin,dc=nodomain
    modifyTimestamp: 20150912041345Z
    
    dn: cn=admin,dc=nodomain
    objectClass: simpleSecurityObject
    objectClass: organizationalRole
    cn: admin
    description: LDAP administrator
    userPassword:: e1NTSEF9ZkNYVEx6OVdFMjIxWkVZSTJBOTF0dHRwZHlyd3BnRHE=
    structuralObjectClass: organizationalRole
    entryUUID: 67f0d8a2-ed50-1034-9d22-2f5306a7bcff
    creatorsName: cn=admin,dc=nodomain
    createTimestamp: 20150912041346Z
    entryCSN: 20150912041346.095792Z#000000#000#000000
    modifiersName: cn=admin,dc=nodomain
    modifyTimestamp: 20150912041346Z
    $ ldapsearch -x -LLL -H ldap:/// -b dc=nodomain dn
    dn: dc=nodomain
    
    dn: cn=admin,dc=nodomain
    
    在导入数据时,如果出现如下内容,则说明安装错误。
    $ sudo ldapadd -H ldap://127.0.0.1 -x -D "cn=admin,dc=nodomain" -f export.ldif -w secret
    ldap_add: Server is unwilling to perform (53)
        additional info: no global superior knowledge
    
    原因是安装之前没有在/etc/hosts中添加网址。
    此时,可以删除ldap-utils slapd,并重新安装。
    $ sudo aptitude purge ldap-utils slapd 
    也可以重新配置。
    $ sudo dpkg-reconfigure slapd

7、参看文档
    https://help.ubuntu.com/12.04/serverguide/openldap-server.html

lansheng228
256 声望4 粉丝

引用和评论

0 条评论