• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 分布式的Qmail郵件系統

    發表于:2007-07-02來源:作者:點擊數: 標簽:
    一.設計目的 適應多用戶、大容量的郵件系統,易擴展,提供mail服務冗余特性。 二.配置環境 我的 測試環境 采用了三臺PCServer,均采用RedHat6.2,openldap2.0.7和qmail-1.03以及qmail-ldap,分別運行smtp/pop3服務,具體 配置如下。 192.168.0.19omni1.i100.c
    一. 設計目的 

      適應多用戶、大容量的郵件系統,易擴展,提供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: .netOrgPerson 
      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的解決方案。 

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>