一. 設計目的
適應多使用者、大容量的郵件系統,易擴充套件,提供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: [email protected]
dn: cn=johnny, dc=i100, dc=com, dc=cn
cn: johnny
sn: johnny
objectclass: top
objectclass: person
objectclass: inetorgperson
objectclass: qmailuser
mail: [email protected]
mailhost: omni1.i100.com.cn
mailalternateaddress: [email protected]
mailmessagestore: /data/vuser/johnny/
mailquota: 51200
uid: johnny
userpass
word
: hsamdazcsdaoi
dn: cn=jacky, dc=i100, dc=com, dc=cn
cn: jacky
sn: jacky
objectclass: top
objectclass: person
objectclass: inetorgperson
objectclass: qmailuser
mail: [email protected]
mailhost: cocoon.i100.com.cn
mailalternateaddress: [email protected]
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: [email protected]
mailhost: gw2.i100.com.cn
mailalternateaddress: [email protected]
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,在不同的機器上,會有不同的配置;確保此使用者有讀寫使用者郵件目錄的許可權。
ldaps
erver 此檔案指定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/tc
pserver -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的解決方案。
建立分布式的Qmail郵件系統
一.設計目的 適應多使用者 大容量的郵件系統,易擴充套件,提供mail服務冗餘特性。二.配置環境 我的測試環境採用了三颱pc server,均採用redhat 6.2,openldap2.0.7和qmail 1.03 以及qmail ldap,分別執行 tp pop3服務,具體配置如下。192.16...
安裝djbdns優化qmail郵件系統傳送郵件速度
qmail郵件系統在給具有多條mx的大型站點傳送郵件的時候會報下面的錯誤 delivery 55371 deferral cname lookup failed temporarily.4.4.3 在qmail的官方 上面了解到通過安裝djbdns可以加速dns解析速度,提高qmail郵件的傳送速度...
Qmail 郵件系統維護管理技術文件
從安裝到管理維護qmail郵件系統,已經積累了一點點維護經驗,分享一下自己總結的經驗,該文件會一直更新。1 qmail control檔案詳解 在平時維護和管理qmail郵件系統的時候,為了提高qmail的安全 能和處理郵件的速度,經常要修改control目錄下面的控制檔案,一般位於 var qma...