当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 如何设置一个基本的OpenLDAPServer

Linux服务器
Linux上双网卡绑定方法(Suse9SP3)
Linux操作系统调优参数的意义
Linux下使用SSH客户端及其Sftp文件传送
教你恢复被误删除的Linux文件
SQL Server注入大全及防御
Linux无法解析域名的解决办法
Linux系统下安装和配置MyEclipse的方法
Ubuntu下VirtualBox 1.4.0设置文件共享
Windows与Linux系统共享StarDict字典文件
修改Linux下相关的登陆信息
Windows通过SecureCRT远程登录Linux主机
Linux操作系统如何修改SWAP交换区的大小
Linux操作系统下为Apache目录添加密码
Linux时间设置与同步(NTP)
Linux内核补丁AMD旁路转换缓冲(TLB)错误
Linux架设DHCP服务器的方法
Fedora 8下Apache配置与管理
Linux操作系统下用单网卡捆绑双IP的方法
Ubuntu Linux系统环境变量配置文件
SUSE Linux中将Tomcat作为Service运行

Linux服务器 中的 如何设置一个基本的OpenLDAPServer


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 47 ::
收藏到网摘: n/a


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

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

#tarcvfzopenldap-stable-20010524.tgz
#cdopenldap-2.0.11
#./configure
#makedepend
#make
#maketest
#makeinstall

我的操作环境是redhat6.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的"ldbmdatabasedefinitions"部分更改相应的suffix,rootdn行如下

databaseldbm
suffix"o=yourdomain,c=us"
rootdn"cn=root,o=yourdomain,c=us"
rootpwsecret
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/binand/usr/local/libexec加到搜索路径中,即加到/etc/profile中的PATH行:
PATH="$PATH:/usr/X11R6/bin:/usr/local/bin:/usr/local/libexec"这样下次登录后只需键入slapd。

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

#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=JepheWu,o=yourdomain,c=us
objectclass:inetorgperson
cn:JepheWu
sn:Wu
mail:[email protected]

......moreusers......

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

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

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

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

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

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

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

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

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

#tcpdumpport389