ldap大容量邮件系统数据库应用指南

2009-05-13 01:14:45来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

如今网上的ldap的文档,多半是相互抄袭的,千篇一律。其实ldap主要应用在大容量邮件系统上。几乎所有的文档对这个问题避而不谈,总是在地址簿上兜圈子,可恶!

ldap其实就是一个数据库,不是数据库怎么存放资料呢?不过跟我们平常的关系数据库有所不同。关系数据库是有一张一张的二维表格来存放数据的。ldap类似我们的dns系统,是树状的。用节点来存放数据。当然一个树枝可以有n个节点,每个节点上存放的数据,都是以key=>value的形式。就像我们的dns系统。.是根,下面是com,org,net,cn等等一些树枝,这些树枝下面还有abc.com,bcd.com等等树枝。在每个树枝下面都可以放节点,其实就是域名下面的主机:www,ftp,mail等等。所有的这些内容,组成了一个dns树,在ldap里面叫数据库。这下应该很形象了吧。

下面说说我的ldap的实现。我主要用ldap来存放邮件系统里面的用户信息,包括username,clearpw,maildir,等一些,这样postfix在投递邮件的过程中可以通过检索ldap来知道把邮件投递到硬盘的什么位置。
先去把berkeley-DB的源代码拉过来(http://www.sleepycat.com/),我的是4.1.25,openldap需要这东西,这东西其实也没什么不好的,所以我就把它装到/usr下去了。
#tarzxvfdb-4.1.25.tar.gz
#cddb-4.1.25
#cddist
#./configure--prefix=/usr
#make
#makeinstall

然后就可以开始安装openldap了,我用的是2.1.22,原码是从
http://www.openldap.org/上拉的。
#tarzxvfopenldap-2.1.22.tgz
#cdopenldap-2.1.22
#./configure--prefix=/usr/local/openldap
#makedepend
#make
#maketest
#makeinstall

这部分安装应该没什么问题,有问题的话就去看看网上的文档,虽然说不到重点,这方面说的还算详细。接下来就是配置。


schema

schema类似关系数据库的字段说明,包括字段名,数据类型,数据长度等等。系统有一些默认的schema,我的默认schema文件在/usr/local/openldap/etc/openldap/schema下面,最重要的是core.schema。它定义了一些最基本的字段。

为了适应我们的应用,我们要创建自己的schema文件。我创建的shema文件如下:(文件名:kunmail.schema)

#
#kunmail-ldapv3directoryschema
#
#writtenbyhefish@cz8.net
#
#AttributeTypeDefinitions

attributetype(1.3.6.1.4.1.7914.1.2.1.1NAME'username'
DESC'nameoftheuseronthemailsystem'
EQUALITYcaseIgnoreIA5Match
SYNTAX1.3.6.1.4.1.1466.115.121.1.26
SINGLE-value)

attributetype(1.3.6.1.4.1.7914.1.2.1.2NAME'vuid'
DESC'UIDoftheuseronthemailsystem'
EQUALITYintegerMatch
SYNTAX1.3.6.1.4.1.1466.115.121.1.27
SINGLE-value)

attributetype(1.3.6.1.4.1.7914.1.2.1.3NAME'vgid'
DESC'GIDoftheuseronthemailsystem'
EQUALITYintegerMatch
SYNTAX1.3.6.1.4.1.1466.115.121.1.27
SINGLE-value)

attributetype(1.3.6.1.4.1.7914.1.2.1.4NAME'maildir'
DESC'Pathtothemaildir/mboxonthemailsystem'
EQUALITYcaseExactMatch
SYNTAX1.3.6.1.4.1.1466.115.121.1.15
SINGLE-value)

attributetype(1.3.6.1.4.1.7914.1.2.1.5NAME'forwardAddr'
SUBSTRcaseIgnoreSubstringsMatch
DESC'Forwardmailaddress'
EQUALITYcaseIgnoreIA5Match
SYNTAX1.3.6.1.4.1.1466.115.121.1.26)

attributetype(1.3.6.1.4.1.7914.1.2.1.6NAME'quota'

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:简单架设Jabber局域网即时通讯服务器

下一篇:用slackware架设虚拟主机管理系统(一)