首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 软件教学-> 办公软件
ldap应用概述与qmail+ldap安装配置_qmail
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
1 概述
计算机网络经过长期的发展,不同的操作系统和应用程序以不同的格式在网络上存储了大
量的信息,一个网络管理员无法在一个集中的信息库中,以方便的方法管理网络信息和资
源。用户必须使用不同的应用程序获取不同的信息和资源,这大大增加了用户的负担,也
使许多信息难于共享,从而在一定程度上制约了网络的发展,因而需要一种新的技术,能
够以通用的格式和方式实现信息的存储和共享,实现网络的共享。

目录服务技术就是用于实现上述需求的。目录服务可以命名、描述和指定一个企业范围内
的用户和资源,从而简化通信与管理;它可以使用户通过简单的搜索查找资源及其他用
户;它可以帮助管理人员收集和控制散布与该机构的信息,并可以使他们通观地审视这些
信息。 目前基于目录服务的各种网上应用越来越多。特别是随着Intranet的崛起以及轻
型目录服务LDAP(Lightweight Directory Access Protocol)的开发,人们对其价值
的认识日趋明朗。

本文档详细描述了Unix中常用的邮件服务器qmail的安装和配置过程,以及qmail和LDAP
的整合,重点在于qmail的基本应用及其通过LDAP Server来进行Pop3认证的配置过程,
对于其它诸如邮件网关、邮件虚拟域、邮件列表、SMTP认证等不做叙述。本文档假定你对
qmail邮件服务器和OpenLDAP的LDAP Server有基本的了解,在各种软件包安装之前,请
认真阅读软件包附带的相关安装说明文档。

邮件服务器基于LDAP的应用扩展,是目前基于LDAP管理Internet信息的应用之一,此外
基于LDAP的WWW网关也是使用LDAP的一个方向,下图给出了这两种应用的总体结构:




2 安装前的准备
操作系统
RedHat Linux 6.2

所需软件包
1. qmail-1.03.tar.gz (http://www.qmail.org)
2. ucspi-tcp-0_88_tar.gz (http://cr.yp.to/ucspi-tcp.html)
3. checkpassword-0_90_tar.gz (http://cr.yp.to/checkpwd.html)
4. qmail-ldap-1_03-20010301_patch.gz (http://www.nrg4u.com/)
5. openldap-2_0_7.tgz (http://www.openldap.org)

主机IP地址和域名配置,在本例中为:
IP:192.168.0.117
DomainName :gloomy.openet.com.cn
(LDAP Server的RootDN为:dc=gloomy dc=openet dc=com dc=cn)
3 安装与配置
1. 卸载SendMail邮件系统
由于大多数Linux发行版本中都预装了SendMail邮件系统,所以在安装qmail 邮件服务器
前最好卸载SendMail邮件服务器,使用如下命令:
#netsysv (取消系统boot时启动SendMail)
#mv /usr/lib/sendmail /usr/lib/sendmail.bak
#mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
#mv /usr/bin/newaliases /usr/bin/newaliases.bak
#mv /usr/bin/mailq /usr/bin/mailq.bak

2. 安装qmail软件包
a) 首先确定qmail的安装路径,若选默认安装的话,使用如下命令,否则需要修改qmail
软件包中相应的conf*文件:
#mkdir /var/qmail
b) 增加qmail所需要的组和用户,使用如下命令:
#groupadd nofiles
#useradd -g nofiles -d /var/qmail/alias alias

#useradd -g nofiles -d /var/qmail qmaild
#useradd -g nofiles -d /var/qmail qmaill
#useradd -g nofiles -d /var/qmail qmailp
#groupadd qmail
#useradd -g qmail -d /var/qmail qmailq
#useradd -g qmail -d /var/qmail qmailr
#useradd -g qmail -d /var/qmail qmails
c) 编译qmail源代码并安装,使用如下命令:
#tar zxvf qmail-1.03.tar.gz
#cd qmail-1.03
#make setup check
d) 建立相应的配置文件,使用如下命令:
#config-fast gloomy.openet.com.cn

#cd /var/qmail/alias
#touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
#chmod 644 qmail*
e) 选择邮件的存储方式:
在qmail中,支持三种邮件存储方式,分别是典型的/var/spool/mail方式、传统的Unix
user/Mailbox方式和新的 user/Maildir方式,其中前两种方式为大多数的邮件客户端
所支持,但是它们均存在安全上的隐患,所以在这里使用了第三种方式,下面分别叙述三
种方式的建立方法:
/var/spool/mail 方式
#cp /var/qmail/boot/proc /var/qmail/rc
user/Mailbox 方式
#cp /var/qmail/boot/home /var/qmail/rc
user/Maildir 方式
1)#cp /var/qmail/boot/home /var/qmail/rc
2)建立相应的邮件用户,例如:#useradd test
#passwd test
3)使用qmail提供的工具建立Maildir,命令如下:
$ /var/qmail/bin/maildirmake Maildir
$ echo ./Maildir/ .qmail
(注意这里必须以用户权限建立邮箱)
4)修改 /var/qmail/rc 文件,把其中的/Mailbox 改为/Maildir/
5) 为了使root用户也能收发邮件,使用如下命令:
# su alias
$ cd
$ /var/qmail/bin/maildirmake Maildir
$ echo ./Maildir/ .qmail
f) 建立启动qmail的shell文件run_mail,其内容为:
#cat run_mail
csh -cf ‘/var/qmail/rc’ %26amp;

3. 测试qmail基本邮件系统
首先启动qmail邮件服务器,然后测试邮件的收发,使用如下命令:
#run_mail
#echo to : ReceiverName | /var/qmail/bin/qmail-inject
(其中 ReceiverName 为邮件接受者的ID,例如test)
在邮件发送后,可以查找是否收到邮件,分三种方式,依赖邮件的存储方式:
/var/spool/mail 方式
$cd /var/spool
$vi ReceiverName
或者用
$mail

user/Mailbox 方式
打开用户根目录下的Mailbox文件,看是否收到邮件
user/Maildir 方式
$cd Maildir
$ls new
(注意在以上测试时,如果发生错误,可以查看/var/log/maillog文件获得出错原因)

4. 添加Pop3和SMTP服务
可以使用inetd超级服务器或TcpServer来建立相应的Pop3和SMTP服务,为了支持大容量
的邮件用户,建议使用TcpServer来监听服务端口启动相应的服务,建立命令如下:
#tar zxvf ucspi-tcp-0_88_tar.gz
#cd ucspi-tcp-0.88
#make setup check
#tar zxvf checkpassword-0_90_tar.gz
#cd checkpassword-0.90
#make setup check
修改上面建立的run_mail文件,修改后的内容如下:
#cat run_mail
csh -cf /var/qmail/rc %26amp;
tcpserver –u 502 –g 501 -c 100 0 smtp /var/qmail/bin/qmail-smtpd %26amp;
tcpserver -c100 0 pop3 /var/qmail/bin/qmail-popup gloomy.openet.com.cn
/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir %26amp;
修改/var/qmail/control/rcpthosts文件,来增加SMTP接收邮件的域
例如:#cat /var/qmail/control/rcpthosts
gloomy.openet.com.cn
ldap,openet.com.cn
tbs.openet.com.cn
openet.com.cn

5. 测试Pop3和SMTP服务
首先启动qmail邮件服务器,然后测试,使用如下命令:
1) 本地测试
#run_mail
#netstat –na | grep 25
#netstat –na | grep 110
#telnet localhost 110
user test
pass test
list
retr 1
2) 远程测试
利用Windows下的图形邮件客户端(如 outlook、foxmail等)来测试邮件的收发,客户
端邮件帐号的建立请参考附带的帮助文档。

6. 为qmail增加LDAP支持
qmail可以通过LDAP来代替传统的/etc/passwd方式的Pop3认证,以便提高认证效率和有
效的支持大容量的邮件客户,为了使qmail获得LDAP支持,需要在qmail的基础上增加具
备LDAP认证的Patch包,具体操作使用如下命令:
#gunzip qmail-ldap-1_03-20010301_patch.gz
#cd qmail-1.03
#patch -p1 < /path to qmail-ldap patch/qmail-ldap patch name
在patch包打好之后,需要修改qmail的Makefile文件来配置相应的LDAP信息,具体如下
(这里只说明必须修改的,其余的可选项请参考QLDAPINSTALL.TXT文档):
1) -LDAPFLAGS = -DCLEARTEXTPASSWORD
配置是否在LDAP目录中使用明文密码
2) -LDAPLIBS =
配置使用的LDAP接口库,在本例中为:
-LDAPLIBS = -L/root/LdapServer/lib -lldap –llber –lldap_r –lpthread
-lresolv
3) -LDAPINCLUDES =
配置使用的LDAP头文件,在本例中为:
-LDAPINCLUDES = -I/root/LdapServer/include

4)-SHADOWLIBS = -lcrypt –lshadow
-SHADOWOPTS = -DPW_SHADOW
配置使用的密码认证方式
在Makefile设置修改完毕后,重新编译qmail源文件,然后覆盖安装qmail,使用如下命
令:
#make setup check

7. 安装OpenLDAP
本例中采用了OpenLDAP的开放源代码LDAP Server,详细的管理请参考
(http://www.openldap.org)站点的文档以及《LDAP配置手册》,下面概述其安装配置
过程:
#tar zxvf openldap-2_0_7.tgz
#cd openldap-2.0.7
#./configure
#make depend
#make
#make test
#make install
修改OpenLDAP Server的配置文件,启动slapd服务器,具体如下:
#cd path to LDAP Server/
#vi etc/openldap/slapd.conf
主要修改slapd.conf文件中的如下部分,在本例中为:
#############################################
# ldbm database definitions
#############################################
database ldbm
suffix "dc=gloomy , dc=openet , dc=com , dc=cn"
rootdn "dc=gloomy , dc=openet , dc=com , dc=cn"
rootpw secret
index objectclass,mail,uid
index qmailUser

8. 配置qmail+LDAP
在LDAP Server安装测试完毕后,修改并建立相应的qmail配置文件,增加对LDAP
LookUp的支持,分为如下几步:
1) 在/var/qmail/control/下建立相应的LDAP支持文件:
#cat ldapserver
192.168.0.117
#cat ldapbasedn
dc=gloomy , dc=openet , dc=com , dc=cn
#cat ldapobjectclass
qmailUser
2) 为LDAP添加相应的支持qmail邮件用户的schema:
#cd qmail-1.03
#cp qmail.schema /root/LdapServer/etc/openldap/schema
修改slapd.conf文件,加入下面一行:
include /root/LdapServer/etc/openldap/schema/qmai.schema
3) 修改前面建立的run_mail启动脚本,修改后的内容如下:
#cat run_mail
csh -cf /var/qmail/rc %26amp;
tcpserver –u 502 –g 501 -c 100 0 smtp /var/qmail/bin/qmail-smtpd %26amp;
tcpserver -c100 0 pop3 /var/qmail/bin/qmail-popup gloomy.openet.com.cn
/var/qmail/bin/auth_pop /var/qmail/bin/qmail-pop3d Maildir %26amp;

9. 在LDAP DIT中增加qmail邮件用户目录
首先启动LDAP服务器,然后创建相应的*.ldif文件(有关LDIF文件的格式,请参考
RFC2849的描述),插入LDAP数据库中,具体的命令如下:
#/root/LdapServer/libexec/slapd
在本例中建立的的交换文件为mailer.ldif,其具体内容如下:
#cat mailer.ldif
dn: cn=testUser , dc=gloomy , dc=openet , dc=com , dc=cn
cn: testUser
sn: testUser
objectClass: top
objectClass: person
objectClass: inetOrgPerson
objectClass: qmailUser
mail: test@gloomy.openet.com.cn
mailHost: gloomy.openet.com.cn
mailMessageStore: /home/test/Maildir/
mailQuota: 1000000S,100C
uid: test
userPassword: test
插入qmail用户目录到LDAP的目录信息树中,使用如下命令:
#/root/LdapServer/bin/ldapadd –x –D”dc=gloomy,dc=openet,dc=com,dc=cn”
–W –f mailer.ldif


10. 测试基于LDAP的Pop3认证
在上述步骤完成后,从新测试qmail邮件系统的运行状况,主要从以下三个方面测试,具
体命令如下:
1) 本地测试
具体请参考上面小节3的方法
2) Pop3+SMTP测试
具体请参考上面小节5的方法
3) 测试工具
#/var/qmail/bin/qmail-ldaplookup –u test
#/var/qmail/bin/qmail-ladplookup –m test@gloomy.openet.com.cn
4 参考资料
1) Life with qmail (http://www.lifewithqmail.org/lwq.html)
2) Life with qmail-LDAP (http://www.lifewithqmail.org/ldap/)
3) QLDAPINSTALL (http://www.nrg4u.com/)
4) Open LDAP 2.0 Administrator’s Guide
(http://www.openldap.org/doc/admin/)
5) 《LDAP配置手册》
5 总结
LDAP使得过去杂乱无序的网络资源和信息管理呈现出一种树状的有序体系,不但使
Internet资源的管理和控制变得易于进行,而且同时在另外一方面也提高了各种信息和资
源的使用效率,LDAP用10%的代价实现了X.500 DAP 90%的功能,是目前Internet上越来
越广泛的应用之一,本文通过对qmail邮件服务器和LDAP整合应用的安装和配置的描述,
希望能够对掌握LDAP这个下一代因特网服务与应用的基础提供一定的帮助。
出自:http://www.linuxforum.net 一笑
,

文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·ASP.NET2.0连接SQL Server数据库详解-.NET教程,Asp.Net开发
·在.net中轻松掌握Windows窗体间的数据交互-.NET教程,.NET Framework
·Java中的类反射机制-JSP教程,Java技巧及代码
·小技巧让pdf文件与word文档之间自由地转换
·j2ee程序员应该掌握的linux知识-JSP教程,J2EE/EJB/服务器
·通过WMI获得硬盘和CPU的物理序列号(VB.net)-.NET教程,VB.Net语言
·firfox浏览器开发人公开firfox2.0开发计划
·VB.net入门(10):补充:类~属性-.NET教程,VB.Net语言
·office2003实战秘笈之excel轻松制胜招
·C#编码规范.doc-.NET教程,C#语言
最新文章
·天涯试水网络口碑营销 邢明:希望与"关键词"媲美_站长访谈
·美梨网站长冰寒的商务之道_站长访谈
·白手起家 新网站流量快速提高之道_站长心得
·照片处理 photoshop简单制作照片柔光效果_photoshop教程
·网络百戒 ---网页外观_站长心得
·utf-8转换gb2312编码,解决统计google搜索来源关键字乱_google推广
·googleadsense作弊不是技术的较量_google推广
·google改进搜索服务 企业可在local更新资料_google推广
·rss订阅对你的网站搜索表现有好处吗?_站长心得
·15种简洁有效的网站推广方法_站长心得
相关主题
西部数码虚拟主机

友情链接
CNNIC 西部数码
万网 自助建站
虚拟主机 asp空间
域名注册 域名
域名申请 主页空间
论坛空间 网站空间
国际域名 虚拟空间
空间租用 DDOS防火墙
成都主机托管 四川主机托管
主机租用 服务器租用
网站目录 自助建站
虚拟主机 网址大全
软件下载
自助链接
虚拟主机资讯 特价虚拟主机
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论 打印  刷新     关闭