ubuntu 10.04下安装LDAP服务器

前端之家收集整理的这篇文章主要介绍了ubuntu 10.04下安装LDAP服务器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

最近公司想将旗下的几个网站的用户信息统一,实现统一管理及帐号漫游;

想试试ldap能不能实现我的要求,当然了,还是看到python有python-ldap的接口;

当然首先要先把LDAP的服务器给搭起来,花了半天的时间,在party总是很无耻的重置google搜索信息(而百度又实在是很无能)的恶劣条件下,总算是搭好了,留下足迹给需要的同志们查看吧;;

我的环境:ubuntu 10.04 PHP环境(LAMP)即可;

安装产品:LDAP,PHPldapmyadmin,python-ldap

1,我总是迫不及待的会先装python包,

sudo apt-get install python-ldap 即可

import ldap 如果没有报错就是安装成功了,

ldap.__version__ --> '2.3.10' 我安装后是这个版本

2,进入正题,LDAP的安装,这里主要参考了(http://forum.ubuntu.org.cn/viewtopic.php?f=54&t=246642&start=0)(http://doc.ubuntu.com/ubuntu/serverguide/C/openldap-server.html)

1 安装相关的软件

sudo apt-get install slapd ldap-utils



2 把需要的schemas加载到服务器上

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/misc.ldi

---------------------------------------------------------------------

不要使用纯文本密码。先要用slappasswd yourpasswd生成加密密码 (以下示例)

$ slappasswd
New password:
Re-enter password:
{SSHA}d2BamRTgBuhC6SxC0vFGWol31ki8iq5m

将以下有要用来root password的地方用你生成的加密密码替换

3 建立所需的存储数据库

backend.example.com.ldif

  1. #Loaddynamicbackendmodules
  2. dn:cn=module,cn=config
  3. objectClass:olcModuleList
  4. cn:module
  5. olcModulepath:/usr/lib/ldap
  6. olcModuleload:back_hdb
  7. #Databasesettings
  8. dn:olcDatabase=hdb,250)"> objectClass:olcDatabaseConfig
  9. objectClass:olcHdbConfig
  10. olcDatabase:{1}hdb
  11. olcSuffix:dc=example,dc=com
  12. olcDbDirectory:/var/lib/ldap
  13. olcRootDN:cn=admin,dc=example,250)"> olcRootPW:secret
  14. olcDbConfig:set_cachesize020971520
  15. olcDbConfig:set_lk_max_objects1500
  16. olcDbConfig:set_lk_max_locks1500
  17. olcDbConfig:set_lk_max_lockers1500
  18. olcDbIndex:objectClasseq
  19. olcLastMod:TRUE
  20. olcDbCheckpoint:51230
  21. olcAccess:toattrs=userPasswordbydn="cn=admin,dc=example,dc=com"writebyanonymousauthbyselfwriteby*none
  22. olcAccess:toattrs=shadowLastChangebyselfwriteby*read
  23. olcAccess:todn.base=""by*read
  24. olcAccess:to*bydn="cn=admin,dc=com"writeby*read

使其生效

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.example.com.ldi

4 最后创建frontend.example.com.ldif

#Createtop-levelobjectindomain

  • dn:dc=example,250)"> objectClass:top
  • objectClass:dcObject
  • objectclass:organization
  • o:ExampleOrganization
  • dc:Example
  • description:LDAPExample
  • #Adminuser.
  • dn:cn=admin,250)"> objectClass:simpleSecurityObject
  • objectClass:organizationalRole
  • cn:admin
  • description:LDAPadministrator
  • userPassword:secret
  • dn:ou=people,250)"> objectClass:organizationalUnit
  • ou:people
  • dn:ou=groups,250)"> ou:groups
  • dn:uid=john,ou=people,250)"> objectClass:inetOrgPerson
  • objectClass:posixAccount
  • objectClass:shadowAccount
  • uid:john
  • sn:Doe
  • givenName:John
  • cn:JohnDoe
  • displayName:JohnDoe
  • uidNumber:1000
  • gidNumber:10000
  • userPassword:password
  • gecos:JohnDoe
  • loginShell:/bin/bash
  • homeDirectory:/home/john
  • shadowExpire:-1
  • shadowFlag:0
  • shadowWarning:7
  • shadowMin:8
  • shadowMax:999999
  • shadowLastChange:10877
  • mail:john.doe@example.com
  • postalCode:31000
  • l:Toulouse
  • o:Example
  • mobile:+33(0)6xxxxxxxx
  • homePhone:+33(0)5xxxxxxxx
  • title:SystemAdministrator
  • postalAddress:
  • initials:JD
  • dn:cn=example,ou=groups,250)"> objectClass:posixGroup
  • cn:example
  • gidNumber:10000
  • sudo ldapadd -x -D cn=admin,dc=com -W -f frontend.example.com.ldif

    ** 查看当前的配置

    sudo ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config

    我的信息

    前面有很多,最后是

  • #searchresult
  • search:2
  • result:0Success
  • #numResponses:12
  • #numEntries:11
  • ** 以陌生人身份查看当前目录结构下的数据

    ldapsearch -x -h localhost -b dc=admin,dc=com

    #extendedLDIF

  • #
  • #LDAPv3
  • #base<dcdc=admin,dc=com>withscopesubtree
  • #filter:(objectclass=*)
  • #requesting:ALL
  • result:32Nosuchobject
  • #numResponses:1
  • ok,ldap的基本配置基本搞定

    3,PHPldapadmin的安装

    同样 sudo apt-get install PHPldapadmin即可

    用法PHPmyadmin一样,在浏览器中输入localhost/PHPldapadmin即可;

    我在运行之后出现了一个错误

    Unrecognized error number: 8192: Function eregi() is deprecated

    最后在老外的BUG提交列表里找到了有用的信息:

    Hello,

  • Ifoundapatchthatisquiteeasytoapply:
  • 1.Open/usr/share/PHPldapadmin/lib/common.PHP
  • 2.Findthefollowinglinesandchangevariableinbrakesasshown.
  • Current:
  • =======
  • #Wearenowreadyforerrorreporting.
  • error_reporting(E_ALL);
  • Working:
  • error_reporting(E_ALL&~E_DEPERCATED);
  • Enjoy!
  • 按其的步骤更改之后,成功!!!

    点击登陆:

    DN:cn=admin,sans-serif; font-size:0.875rem"> 密码:secret

    猜你在找的Ubuntu相关文章