如何设置一个基本的OpenLDAP Server

如何设置一个基本的OpenLDAP Server
本文出自:http://www.linuxforum.net 作者:吴阿亭 Jephe wu (2001-09-04 15:00:01)

      一. 目的 

      本文旨在介绍如何安装OpenLDAP并且设置一个公司内部的集中化的邮件地址薄服务器供客
      户端查询。 
      基本上,OpenLDAPg还应用在其它许多方面,象集中化的用户帐号验证服务器,但邮件地址
      薄查询是最常用的。 

      二. 安装 

      从www.openldap.org下载最新的openldap软件包,按照编译和安装的步骤,依次运行:

      #tar cvfz openldap-stable-20010524.tgz 
      #cd openldap-2.0.11 
      #./configure 
      #make depend 
      #make 
      #make test 
      #make install 

      我的操作环境是redhat 6.1,如果没有遇到任何错误,最后默认安装LDAP后台程序slapd
      到目录/usr/local/libexec;配置文件在目录/usr/local/etc/openldap/ 并且放各种
      OpenLDAP工具
      ldapadd,ldapdelete,ldapmodify,ldapmodrdn,ldappasswd,ldapsearch 在目录
      /usr/local/bin,运行时数据库在/usr/local/var/openldap-ldbm 。 

      三. 设置 

      1) 更改配置文件/usr/local/etc/openldap/slapd.conf 
      在include /usr/local/etc/openldap/schema/core.schema这行后面加上下面的行,
      包括所有的方案。 

      include /usr/local/etc/openldap/schema/corba.schema 
      include /usr/local/etc/openldap/schema/cosine.schema 
      include /usr/local/etc/openldap/schema/inetorgperson.schema 
      include /usr/local/etc/openldap/schema/java.schema 
      include /usr/local/etc/openldap/schema/krb5-kdc.schema 
      include /usr/local/etc/openldap/schema/misc.schema 
      include /usr/local/etc/openldap/schema/nadf.schema 
      include /usr/local/etc/openldap/schema/nis.schema 
      include /usr/local/etc/openldap/schema/openldap.schema 

      2) 在文件slapd.conf的"ldbm database definitions"部分更改相应的
      suffix,rootdn行如下 

      database ldbm 
      suffix "o=yourdomain,c=us" 
      rootdn "cn=root,o=yourdomain,c=us" 
      rootpw secret 
      directory /usr/local/var/openldap-ldbm 

      有各种格式你可以用,这里我用的是o=yourdomain,c=us 说明你的公司域名和所在的国
      家或地区 
      rootdn的格式安装后默认为cn=Manager,这里改为root完全是自己的喜好,这样符合
      Unix/Linux中root具有最高权限的传统。 

      3) 现在可以启动slapd了,运行/usr/local/libexec/slapd 。 

      可以考虑把/usr/local/bin and /usr/local/libexec加到搜索路径中,即加到
      /etc/profile 
      中的PATH行: 
      PATH="$PATH:/usr/X11R6/bin:/usr/local/bin:/usr/local/libexec" 
      这样下次登录后只需键入 slapd 。 

      4) 测试ldap server是否正常工作。 
      运行下面的命令检查是否有相应的输出。 

      #ldapsearch -x -b 'o=yourdomain,c=us' '(objectclass=*)' 

      5) 编辑.ldif文本文件,用ldapadd添加记录进入LDAP数据库。 
      文件内容如下: 

      dn: o=yourdomain,c=us 
      objectclass: dcobject 
      objectclass: organization 
      o: yourdomain 
      dc: yourdomain 

      dn: cn=Jephe Wu,o=yourdomain,c=us 
      objectclass: inetorgperson 
      cn: Jephe Wu 
      sn: Wu 
      mail: jephe_wu@yourdomain.com 

      ......more users...... 

      依次类推,添加每个人的记录进入该文件中,注意对象类型 inetorgperson 至少必须要
      有cn和sn 
      ,这里我们用cn,sn,mail三项定义,这对我们的邮件地址薄功能来说已经足够。你还可以
      定义象 
      mobile, homephone,pager......等等。 

      然后用下面的命令添加上面的.ldif文件进入LDAP数据库 

      #ldapadd -x -D "cn=root,o=yourdomain,c=us" -w secret -f
      "yourldiffilename" 

      注:上面的文件的第一部分"dn: o=yourdomain,c=us"是必须的,否则不能添加数据。 
      用你的公司的域名替换上面的"yourdomain"。 

      6) 设置Outlook Express, 允许用LDAP服务器查询邮件地址。 

      "工具/帐号/添加--目录服务",填入你的服务器的IP地址或者主机全称域名,在下一个屏
      幕中选yes以允许用目录服务来查询地址,最后在"目录服务"栏中选中刚才设置的项目击
      “属性/高级",在"搜索库"中填入 
      "o=yourdomain,c=us" 。 
      Netscape请根据上面的信息设置相应的选项。 

      四. 常见使用问题 

      1) 能启动slapd 没有问题,但不能添加数据库,运行ldapadd添加时出错 "ldap_bind:
      cannot contact LDAP Server" 。 
      答: 最可能的原因是在/etc/hosts中没有127.0.0.1 localhost项目。 

      2) 注意查询顺序: 如果在Outlook Express的地址薄中有内容,则检查地址时地址薄优
      先,如果在本地地址薄中找不到相应记录,然后再查询LDAP服务器。 

      3) 用下面的命令确信客户端与LDAP服务器有通讯,在服务器运行下面的命令,然后在OE中
      测试检查地址,你将会得到查询LDAP数据库的连接过程的输出。 

      # tcpdump port 389

文章转自庄周梦蝶  ,原文发布时间2007-07-14

时间: 2025-01-21 03:03:58

如何设置一个基本的OpenLDAP Server的相关文章

在Win 2003环境中设置一个Web服务器

本文介绍了如何在 Windows Server 2003 环境中设置一个用于匿名访问的WWW服务器. 安装 Internet 信息服务 Microsoft Internet 信息服务 (IIS) 是与Windows Server 2003 集成的 Web 服务. 要安装IIS.添加可选组件或删除可选组件,请按以下步骤xx作: 单击开始,指向控制面板,然后单击"添加或删除程序". "添加或删除程序"工具就会启动. 单击添加/删除 Windows 组件. 显示"

Win 2003环境中设置一个Web服务器

  概要 本文介绍了如何在 Windows Server 2003 环境中设置一个用于匿名访问的WWW服务器. 安装 Internet 信息服务 Microsoft Internet 信息服务 (IIS) 是与Windows Server 2003 集成的 Web 服务. 要安装IIS.添加可选组件或删除可选组件,请按以下步骤xx作: 单击开始,指向控制面板,然后单击"添加或删除程序". "添加或删除程序"工具就会启动. 单击添加/删除 Windows 组件. 显示

html-用javascript如何实现设置一个任意时间(20xx年xx月xx日xx时xx分xx秒),并按照这个时间走下去?

问题描述 用javascript如何实现设置一个任意时间(20xx年xx月xx日xx时xx分xx秒),并按照这个时间走下去? 用javascript如何实现设置一个任意时间(20xx年xx月xx日xx时xx分xx秒),并按照这个时间走下去? 帮助文档里只有setFullYear(19xx,xx,xx)这个方法,可是十分秒该如何设置,并实现精准的走时.(图片是获取当前时间的程序),新手求思路.计算器"> 解决方案 先求出指定时间和当前时间的差,然后每隔一秒获取一下当前时间,然后显示的时候把这

javascript-jquery如何设置一个动态创建的 $('#').append('')中的ID?并利用它

问题描述 jquery如何设置一个动态创建的 $('#').append('')中的ID?并利用它 就比如像这样的: <script type="text/javascript"> var number=0; function next(){ $('#showdata').append('<input class="number_showdata" id="showdataid'+number+'" type="tex

android-如何在指定的位置处设置一个按钮

问题描述 如何在指定的位置处设置一个按钮 android系统环境下,我想在指定的位置,比如说 (x,y) 处设置一个按钮.这个位置的点是在运行时候生成的. 如何做来实现这个功能呢? 解决方案 LinearLayout.LayoutParams p = new LinearLayout.LayoutParams (LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT); p.topMargin = ; p.bottomMargin = ; p.lef

如何设置一个严格30分钟过期的Session

我在面试的时候, 经常会问一个问题: "如何设置一个30分钟过期的Session?", 大家不要觉得看似简单, 这里面包含的知识挺多, 特别适合考察基本功是否扎实, 谁来回答试试? 呵呵 为什么问这个问题呢? 1. 我在Twitter上看到了有人讨论这个问题, 2 想起来我经常问这个问题, 所以~~ 在这里, 我来解答下这个题目. 第一种回答 那么, 最常见的一种回答是: 设置Session的过期时间, 也就是session.gc_maxlifetime, 这种回答是不正确的, 原因如

如何设置一个严格30分钟过期的Session示例介绍

SESSION和COOKIE是每个面试官必问的知识点,所以希望同学能深刻学习理解这部分以获得更好的工作机会 以下内容转之laruence博客(这是个学习PHP的好地方,详情点击http://www.laruence.com/) 我在面试的时候, 经常会问一个问题: "如何设置一个30分钟过期的Session?", 大家不要觉得看似简单, 这里面包含的知识挺多, 特别适合考察基本功是否扎实, 谁来回答试试? 呵呵 为什么问这个问题呢? 1. 我在Twitter上看到了有人讨论这个问题,

迅雷怎么设置一个一个下载?迅雷设置一个一个下载步骤

  迅雷怎么设置下载完自动关机呢?如果你想了解迅雷设置下载完成后自动关机步骤的话可以来看下文,当我们要下载一个大文件的话,等他下载完毕再关机是很麻烦的,该如何设置呢? 找到软件窗口右上方最小化按钮左边的"菜单图标",点击弹出菜单选项; 迅雷怎么设置一个一个下载?绿茶小编胖胖将在下文演示迅雷设置一个一个下载步骤,如果我们需要下载多个文件的话该怎么设置按照顺序来下载呢?步骤很简单,请看下文吧. 1.首先我们点击迅雷右上角的下拉中的"配置中心"; 2.点击基本设置==下载

win8系统电脑如何设置一个有趣的QQ标签

  win8系统电脑如何设置一个有趣的QQ标签          具体步骤: 1.打开QQ,点击自己的头像; 2.在QQ资料中点击"标签"选卡; 3.在下面输入想要设置的标签名点击"贴上"即可; 4.同时在标签选卡页中,我们把鼠标移动到不喜欢的标签上,点击"X"就可以删除了.