设为首页
加入收藏
帮助中心
首页 | 红盾通告 | 信息中心 | ASP技术 | 数据库 | 网页设计 | 网管专栏 | OICQ攻略 | 墨客频道 | 网站运营 |
当前位置:首页 >> 网管专栏 >> 邮件服务 >> 正文
最新信息
·JMail(4.3)中文手册
·Foxmail密码丢了如何应急
·Merak 5.94完全上手
·用Foxmail Server搭建邮件…
·WebEasyMail 问题解答大全
·VisNetic MailServer 常见…
·James安装使用简易指南
·Winmail和垃圾邮件过滤
·Winmail和邮件监控
·用Windows 2003配置邮件服…
资料搜索
热点信息
·Winmail和垃圾邮件过滤
·James安装使用简易指南
·WebEasyMail 问题解答大全
·如何解决OUTLOOK2002无法访…
·用Windows 2003配置邮件服…
·Merak 5.94完全上手
·邮件乱码产生的原因与解决…
·Foxmail密码丢了如何应急
·Winmail和邮件监控
·VisNetic MailServer 常见…
推荐信息
·用Cdonts实现发送Email
·基于QMail的完整WEBMAIL解…
·Sendmail的安全解决方案
·Foxmail密码丢了如何应急
·James安装使用简易指南
·Exchange2000系统建设及规…
·sendmail大全
·神奇梦"邮"-DreamMail技巧…
·自己电脑做SMTP服务器不求…
·Jmail的主要参数列表


Google
 
分布式的Qmail邮件系统
〖编辑:Cloudy | 浏览:人次〗

一. 设计目的

  适应多用户、大容量的邮件系统,易扩展,提供mail服务冗余特性。

  二. 配置环境

  我的测试环境采用了三台PC Server,均采用RedHat 6.2,openldap2.0.7和qmail-1.03 以及qmail-ldap,分别运行smtp/pop3服务,具体

配置如下。
  192.168.0.19 omni1.i100.com.cn 主smtp/pop3 server,dns MX记录,邮件存储主机,qmqp server
  192.168.0.5 cocoon.i100.com.cn LDAP server,邮件存储主机
  192.168.0.2 gw2.i100.com.cn 邮件存储主机,qmqp server,同时是次smtp/pop3 server
  在192.168.0.19的/data/vuser/目录下,存储johnny的邮件。
  在192.168.0.5的/data/vuser/目录下,存储jacky的邮件。
  在192.168.0.2的/var/qmail/vuser/目录下,存储denny的邮件。

  以上配置在实践中,可以配置成邮件存储和ldap以及smtp server分别位于不同机器。

  三. 软件


  openldap-2.0.7.tgz
  qmail-1.03.tar.gz
  qmail-ldap-1.03-20010301.patch
  ucspi-tcp-0.84.tar.gz

  编译qmail的时候,记得把对cluster的支持编译进去。Edit the Makefile to reflect your setup. You can change the following

values: QLDAP-CLUSTER

  Compiles the clustering code in. Note: this doesn't mean clustering is on, it just means you _can_ turn on clustering. 缺

省qmail是支持cluster结构的。

四. LDAP和qmail的安装

  关于LDAP和qmail的安装,在这里,我给出我的LDAP的ldif文件:

  dn: dc=i100, dc=com, dc=cn
  objectclass: top
  objectclass: orgnization

  dn: cn=Manager, dc=i100, dc=com, dc=cn
  uid: Manager
  objectclass: qmailUser
  mail: johnnys@cn.solution100.com

  dn: cn=johnny, dc=i100, dc=com, dc=cn
  cn: johnny
  sn: johnny
  objectclass: top
  objectclass: person
  objectclass: inetOrgPerson
  objectclass: qmailUser
  mail: johnny@i100.com.cn
  mailhost: omni1.i100.com.cn
  mailalternateaddress: johnnys@i100.com.cn
  mailmessagestore: /data/vuser/johnny/
  mailquota: 51200
  uid: johnny
  userpassword: hSAMdaZcsdAOI

  dn: cn=jacky, dc=i100, dc=com, dc=cn
  cn: jacky
  sn: jacky
  objectclass: top
  objectclass: person
  objectclass: inetOrgPerson
  objectclass: qmailUser
  mail: jacky@i100.com.cn
  mailhost: cocoon.i100.com.cn
  mailalternateaddress: jacky@i100.com.cn
  mailmessagestore: /data/vuser/jacky/
  mailquota: 51200
  uid: jacky
  userpassword: hSAMdaZcsdAOI

  dn: cn=denny, dc=i100, dc=com, dc=cn
  cn: denny
  sn: denny
  objectclass: top
  objectclass: person
  objectclass: inetOrgPerson
  objectclass: qmailUser
  mail: denny@i100.com.cn
  mailhost: gw2.i100.com.cn
  mailalternateaddress: denny@i100.com.cn
  mailmessagestore: /var/qmail/vuser/denny/
  mailquota: 51200
  uid: denny
  userpassword: hSAMdaZcsdAOI

  以上大家可以看到,我把三个用户的邮件分别存到了不同的机器上。如果用户多,可以把a-n和o-z开头的用户分别存储到不同的机器上。

  五. 基本系统配置

  在三台机器上分别install qmail with qmail-ldap patch.

  需要特别配置的是/var/qmail/control下的相关文件。

  ldapuid ldapgid 这是可以读写用户邮件目录的系统用户的uid和gid,在不同的机器上,会有不同的配置;确保此用户有读写用户邮件目

录的权限。

  ldapserver 此文件指定LDAP服务器的ip地址;如果您想ldap有冗余作用,在主LDAP server down了的时候,启用次LDAP server,可以在

该文件中指定。

  如:ldap1.i100.com.cn:389 ldap2.i100.com.cn:389 :)

  ldapserver 此文件内容是0或者1,表示是否启动qmail cluster模式。我们当然要启动了。

  echo 1 > /var/qmail/control/ldapserver

  六. Qmail Cluster工作原理

  在允许cluster的邮件环境中,每台主机都可以处理该cluster声明的域的邮件;当一个mail到达主smtp server的时候,Qmail查询LDAP

server中有关该用户的mailhost属性,如果mailhost属性指定的不是此server的/var/qmail/control/me中定义的的主机,此邮件被通过qmqp协

议转发到mailhost定义的主机上。

  注:所有主机名必须是合法的dns主机名。

  七. 详细配置

  在每台运行qmail的系统上运行qmail-qmqpd进程,才可实现邮件转发。需要设置tcp.qmqp

  文件,此文件中定义可信任的mailhost.

  如: 192.168.0.:allow

  :deny

  然后用tcprules生成tcp.qmqp.cdb文件。

  运行 /usr/local/bin/tcpserver -v -x /var/qmail/control/tcp.qmqp.cdb
  -u 502 -g 501 0 628 /var/qmail/bin/qmail-qmqpd 2>&1 | /var/qmail/bin/splogger qmqpd &

  启动qmail-qmqpd进程,监听在628 port。

  在客户端,使用oe将pop3 server设置为主smtp/pop3 server地址(这里是192.168.0.19),就可以收到存储在192.168.0.5和192.168.0.2

上用户的邮件。 :)

  八. 有关qmail-qmqpd server

  以上实现了邮件的分布式存储,但是随着用户的增加,主smtp/pop3 server会成为整个系统的瓶颈;而且一旦主smtp/pop3 server down机

,整个系统将不再有效。

  解决办法是增加qmqpd server。

  现在主smtp/pop3 server是192.168.0.19,我测试环境是把192.168.0.2同时也作为qmqpd server;由此,一旦192.168.0.19 down机,

192.168.0.2仍然可以继续提供smtp/pop3服务。

  我简单的采用手工down掉192.168.0.19,而把pop3和smtp server设置成192.168.0.2的方式,以证实此方法的可行性;并且192.168.0.2并

不是此域声明的MX记录。

  以上需要在两台qmqpd server的/var/qmail/control目录中,增加qmqpservers文件,在其中每行写入一台qmqpd server的ip地址。 :)

  九. 其他

  如果需要webmail功能,可以和sqwebmail进行整合。此方案不提供对pop3存储的冗余措施,如果可能,可以采用Raid、NFS或者SAN的解决方案。


录入时间:2006-05-08 21:35:02 [打印本页] [关闭窗口] [返回顶部]
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

Copyright © 2006-2014 0733168.Com Inc All Rights Reserved
关于我们 | 广告合作 | 联系我们 | 法律声明 | 友情链接 | 意见反馈
本站所收录信息、社区话题、及本站所做之广告均属其个人行为,与本站立场无关
湘ICP备06008436号