新聞中心
深入了解 分布式的Qmail郵件系統(tǒng)
作者:佚名 2011-02-21 14:31:04
運(yùn)維
系統(tǒng)運(yùn)維
分布式 Qmail是一個(gè)因特網(wǎng)郵件傳送代理(簡(jiǎn)寫為MTA),它運(yùn)行在linux/Unix兼容系統(tǒng)下,是一個(gè)直接代替UNIX下Sendmail軟件的郵件傳送程序。qmail使用SMTP協(xié)議與其它系統(tǒng)上的MTA交換郵件。本文我將給大家講下分布式的Qmail郵件系統(tǒng)。

京山ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
分布式的Qmail郵件系統(tǒng)大家估計(jì)不熟悉,本文就給大家講下他的安裝與配置。
一. 設(shè)計(jì)目的
適應(yīng)多用戶、大容量的郵件系統(tǒng),易擴(kuò)展,提供mail服務(wù)冗余特性。
二. 配置環(huán)境
我的測(cè)試環(huán)境采用了三臺(tái)PC Server,均采用RedHat 6.2,openldap2.0.7和qmail-1.03 以及qmail-ldap,分別運(yùn)行smtp/pop3服務(wù),具體
配置如下。
192.168.0.19 omni1.i100.com.cn 主smtp/pop3 server,dns MX記錄,郵件存儲(chǔ)主機(jī),qmqp server
192.168.0.5 cocoon.i100.com.cn LDAP server,郵件存儲(chǔ)主機(jī)
192.168.0.2 gw2.i100.com.cn 郵件存儲(chǔ)主機(jī),qmqp server,同時(shí)是次smtp/pop3 server
在192.168.0.19的/data/vuser/目錄下,存儲(chǔ)johnny的郵件。
在192.168.0.5的/data/vuser/目錄下,存儲(chǔ)jacky的郵件。
在192.168.0.2的/var/qmail/vuser/目錄下,存儲(chǔ)denny的郵件。
以上配置在實(shí)踐中,可以配置成郵件存儲(chǔ)和ldap以及smtp server分別位于不同機(jī)器。
三. 軟件
openldap-2.0.7.tgz
qmail-1.03.tar.gz
qmail-ldap-1.03-20010301.patch
ucspi-tcp-0.84.tar.gz
編譯qmail的時(shí)候,記得把對(duì)cluster的支持編譯進(jìn)去。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結(jié)構(gòu)的。
四. LDAP和qmail的安裝
關(guān)于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
userpassword: 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
以上大家可以看到,我把三個(gè)用戶的郵件分別存到了不同的機(jī)器上。如果用戶多,可以把a(bǔ)-n和o-z開頭的用戶分別存儲(chǔ)到不同的機(jī)器上。
#p#
五. 基本系統(tǒng)配置
在三臺(tái)機(jī)器上分別install qmail with qmail-ldap patch.
需要特別配置的是/var/qmail/control下的相關(guān)文件。
ldapuid ldapgid 這是可以讀寫用戶郵件目錄的系統(tǒng)用戶的uid和gid,在不同的機(jī)器上,會(huì)有不同的配置;確保此用戶有讀寫用戶郵件目
錄的權(quán)限。
ldapserver 此文件指定LDAP服務(wù)器的ip地址;如果您想ldap有冗余作用,在主LDAP server down了的時(shí)候,啟用次LDAP server,可以在
該文件中指定。
如:ldap1.i100.com.cn:389 ldap2.i100.com.cn:389 ????
ldapserver 此文件內(nèi)容是0或者1,表示是否啟動(dòng)qmail cluster模式。我們當(dāng)然要啟動(dòng)了。
echo 1 > /var/qmail/control/ldapserver
六. Qmail Cluster工作原理
在允許cluster的郵件環(huán)境中,每臺(tái)主機(jī)都可以處理該cluster聲明的域的郵件;當(dāng)一個(gè)mail到達(dá)主smtp server的時(shí)候,Qmail查詢LDAP
server中有關(guān)該用戶的mailhost屬性,如果mailhost屬性指定的不是此server的/var/qmail/control/me中定義的的主機(jī),此郵件被通過qmqp協(xié)
議轉(zhuǎn)發(fā)到mailhost定義的主機(jī)上。
注:所有主機(jī)名必須是合法的dns主機(jī)名。
七. 詳細(xì)配置
在每臺(tái)運(yùn)行qmail的系統(tǒng)上運(yùn)行qmail-qmqpd進(jìn)程,才可實(shí)現(xiàn)郵件轉(zhuǎn)發(fā)。需要設(shè)置tcp.qmqp
文件,此文件中定義可信任的mailhost.
如: 192.168.0.:allow
:deny
然后用tcprules生成tcp.qmqp.cdb文件。
運(yùn)行 /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 &
啟動(dòng)qmail-qmqpd進(jìn)程,監(jiān)聽在628 port。
在客戶端,使用oe將pop3 server設(shè)置為主smtp/pop3 server地址(這里是192.168.0.19),就可以收到存儲(chǔ)在192.168.0.5和192.168.0.2
上用戶的郵件。 ????
八. 有關(guān)qmail-qmqpd server
以上實(shí)現(xiàn)了郵件的分布式存儲(chǔ),但是隨著用戶的增加,主smtp/pop3 server會(huì)成為整個(gè)系統(tǒng)的瓶頸;而且一旦主smtp/pop3 server down機(jī)
,整個(gè)系統(tǒng)將不再有效。
解決辦法是增加qmqpd server。
現(xiàn)在主smtp/pop3 server是192.168.0.19,我測(cè)試環(huán)境是把192.168.0.2同時(shí)也作為qmqpd server;由此,一旦192.168.0.19 down機(jī),
192.168.0.2仍然可以繼續(xù)提供smtp/pop3服務(wù)。
我簡(jiǎn)單的采用手工down掉192.168.0.19,而把pop3和smtp server設(shè)置成192.168.0.2的方式,以證實(shí)此方法的可行性;并且192.168.0.2并
不是此域聲明的MX記錄。
以上需要在兩臺(tái)qmqpd server的/var/qmail/control目錄中,增加qmqpservers文件,在其中每行寫入一臺(tái)qmqpd server的ip地址。 ????
九. 其他
如果需要webmail功能,可以和sqwebmail進(jìn)行整合。此方案不提供對(duì)pop3存儲(chǔ)的冗余措施,如果可能,可以采用Raid、NFS或者SAN的解決方案。
通過文章的描述,讀者都知道了分布式Qmail的相關(guān)安裝和配置,希望對(duì)大家有所幫助!
【編輯推薦】
- 如何在Qmail里配置SMTP
- Qmail郵件系統(tǒng)日志和管理
- 深入了解 Qmail的工作原理和配置文件
- Qmail簡(jiǎn)單介紹
- Qmail防垃圾郵件處理
- mysql安裝與qmail實(shí)際操作概述
- Linux系統(tǒng)Qmail郵件服務(wù)器安裝過程解析
網(wǎng)站題目:深入了解 分布式的Qmail郵件系統(tǒng)
本文路徑:http://fisionsoft.com.cn/article/dhechjs.html


咨詢
建站咨詢
