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

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 61 ::
收藏到网摘: 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