在CentOS5中安裝Qmail商業(yè)郵件系統(tǒng)(20070702更新)
aiz 在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng)(20070702更新)50系統(tǒng)性能簡(jiǎn)介本文是筆者在業(yè)余時(shí)間學(xué)習(xí)和研究Qmail 系統(tǒng)時(shí)所做的筆記, 全部資料均來(lái)自Google 網(wǎng)上所搜索到公開(kāi)
aiz 在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng)(20070702更新)
50
系統(tǒng)性能簡(jiǎn)介
本文是筆者在業(yè)余時(shí)間學(xué)習(xí)和研究Qmail 系統(tǒng)時(shí)所做的筆記, 全部資料均來(lái)自Google 網(wǎng)上所搜索到公開(kāi)資源(Open Source),本文所涉及的所有需下載安裝的資源, 均為以GPL 授權(quán), 而且可提供商業(yè)用途的免費(fèi)軟件. 本手冊(cè)遵守GPL 協(xié)議, 歡迎任何人士加入意見(jiàn)和修改. 全文按功能分為十四節(jié), 因?yàn)樘L(zhǎng)所以分為多篇來(lái)發(fā)表.
===============================================================================
目錄指南
===============================================================================
第一節(jié): 安裝前的準(zhǔn)備;
第二節(jié): 安裝Qmail 的基本系統(tǒng);
第三節(jié): 安裝協(xié)助Qmail 運(yùn)作的工具套件;
第四節(jié): 安裝vpopmail 虛擬域名管理系統(tǒng);
第五節(jié): 安裝病毒郵件防護(hù)系統(tǒng)ClamAV;
第六節(jié): 安裝垃圾郵件過(guò)濾系統(tǒng)SpamAssassin;
第七節(jié): 設(shè)置Qmail 的運(yùn)行腳本;
第八節(jié): 安裝Qmailadmin 和修正Domain Quota;
第九節(jié): 安裝Courier(authlib imap sqwebmail maildrop)和配置SSL 支持;
第十節(jié): 安裝SquirrelMail;
第十一節(jié): 安裝Horde-Webmail;
第十二節(jié): 安裝掃描程序qmail-scanner;
第十三節(jié): 配置POP3的SSL 支持;
第十四節(jié): 安裝Vqadmin 管理工具;
==============================================================================
性能簡(jiǎn)介:
===============================================================================
按照本安裝手冊(cè)部屬配置的Qmail 郵件系統(tǒng), 將會(huì)是一個(gè)具備完整功能的商業(yè)郵件系統(tǒng), 能滿足大中小型企業(yè)的電子商務(wù)需求, 也適合于專門提供電郵服務(wù)的ISP 網(wǎng)路公司. 它具備專業(yè)和商業(yè)電郵系統(tǒng)的所有標(biāo)準(zhǔn)功能, 能保證向商業(yè)用戶提供安全, 穩(wěn)定和高效的電子商務(wù).
1) 支持多虛擬域名的設(shè)置, 每臺(tái)主機(jī)可支持?jǐn)?shù)千乃至更多個(gè)虛擬域名;
2) 支持?jǐn)?shù)據(jù)庫(kù)來(lái)儲(chǔ)存管理信息, 用戶信息儲(chǔ)存在MySQL 數(shù)據(jù)庫(kù)中(無(wú)需Linux 系統(tǒng)賬號(hào)), 增
強(qiáng)了安全性和靈活性;
3) 支持賬戶數(shù)目限額和郵箱空間限額:
- 每個(gè)域名可設(shè)置最大空間容量和郵箱數(shù)目, 用戶可自行調(diào)整郵箱賬戶的空間大小;
- 用戶具有管理功能, 包括增加和刪除帳號(hào), 設(shè)置別名, 修改密碼以及分配和調(diào)整空間;
- 用戶可設(shè)置無(wú)限制數(shù)量的別名(包括轉(zhuǎn)發(fā));
4) 支持POP3協(xié)議接收電郵, 支持SSL 安全連接, 支持SMTP 認(rèn)證;
5) 支持多種Webmail 界面管理和收發(fā)電郵;
6) 自動(dòng)掃描進(jìn)出網(wǎng)關(guān)的電郵信息(包括接收, 發(fā)送和轉(zhuǎn)發(fā)), 可以設(shè)置使用QHPSI 來(lái)進(jìn)行高性能掃描, 能有效阻止病毒電郵和過(guò)濾垃圾郵件;
===============================================================================
系統(tǒng)管理方式
在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng) 1 / 108
,=============================================================================== 啟動(dòng)Qmail 系統(tǒng): qmailctl start
停止Qmail 系統(tǒng): qmailctl stop
Qmail 系統(tǒng)預(yù)設(shè)的腳本命令集: /var/qmail/bin/
TCP Server 的服務(wù)目錄路徑: /service(鏈接/var/qmail/supervise/)
添加, 刪除和管理電郵命令集: /home/vpopmail/bin/
一個(gè)查詢電郵域名的操作范例:
-------------------------------------------------------------------------------- cd /home/vpopmail/bin/;
./vdominfo test.com #返回信息如下:
- - - - - - - - - - - - - - - - - - - - - - - - -
domain: test.com
uid: 809
gid: 809
dir: /home/vpopmail/domains/test.com
users: 2
- - - - - - - - - - - - - - - - - - - - - - - - -
一個(gè)添加電郵域名的操作范例:
-------------------------------------------------------------------------------- cd /home/vpopmail/bin/;
./vadddomain test.com;
Please enter password for postmaster:
enter password again:
--------------------------------------------------------------------------------
一個(gè)添加電郵帳號(hào)的操作范例:
-------------------------------------------------------------------------------- cd /home/vpopmail/bin/;
/vadduser [email]email@test.com[/email]
Please enter password for [email]email@test.com[/email]:
enter password again:
--------------------------------------------------------------------------------
一個(gè)刪除電郵帳號(hào)的操作范例:
-------------------------------------------------------------------------------- cd /home/vpopmail/bin/;
./vdeluser [email]email@test.com[/email]
-------------------------------------------------------------------------------- 一個(gè)刪除電郵域名的操作范例:
-------------------------------------------------------------------------------- cd /home/vpopmail/bin/;
./vdeldomain test.com
--------------------------------------------------------------------------------
在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng) 2 / 108
,一個(gè)用來(lái)添加域名(支持限額) 腳本(/home/vpopmail/bin/adddomain.pl)的使用范例:
-------------------------------------------------------------------------------- cd /home/vpopmail/bin/;
./adddomain-hung.pl;
Please input the new domain:test.com
Please enter password for postmaster:
enter password again:
domain testhung1.com has been create success
Please set the pop user quota for the domain:5
set quota success!
--------------------------------------------------------------------------------
電郵域名及此域下的電郵賬戶在這里: /home/vpopmail/domains/
新收郵件目錄: /home/vpopmail/domains/yourdomain/youremailaccount/.Mkdir/new/ 已讀郵件目錄: /home/vpopmail/domains/yourdomain/youremailaccount/.Mkdir/cur/
================================================================================ 用戶使用方法
================================================================================ 超級(jí)用戶管理頁(yè)面: http://xxx.xxx.xxx.xxx/cgi-bin/qmailadmin
[User Account] 請(qǐng)輸入 postmaster
[Domain Name] 請(qǐng)輸入 yourdomain
[Password] 請(qǐng)輸入 postmasterpassword
普通用戶管理頁(yè)面: http://xxx.xxx.xxx.xxx/cgi-bin/qmailadmin
[User Account] 請(qǐng)輸入 youremailaccount
[Domain Name] 請(qǐng)輸入 yourdomain
[Password] 請(qǐng)輸入 yourpassword
用戶網(wǎng)頁(yè)電郵: http://xxx.xxx.xxx.xxx/cgi-bin/sqwebmail
[User ID] 請(qǐng)輸入 youremail@yourdomain
[Password] 請(qǐng)輸入 yourpassword
用戶網(wǎng)頁(yè)電郵: http://xxx.xxx.xxx.xxx/squirrelmail/
帳號(hào): youremail@yourdomain
密碼: yourpassword
用戶網(wǎng)頁(yè)電郵: http://xxx.xxx.xxx.xxx/horde/
使用者名稱: youremail@yourdomain
密碼 : yourpassword
POP3客戶端設(shè)置:
主機(jī)名稱: xxx.xxx.xxx.xxx
帳戶名稱: youremailaccount@yourdomain
郵箱密碼: yourpassword
在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng) 3 / 108
,第一節(jié):安裝前的準(zhǔn)備
檢查L(zhǎng)inux 系統(tǒng), 調(diào)整適合Qmail 系統(tǒng)運(yùn)行的環(huán)境, 配置用戶, 組權(quán)限和相關(guān)目錄;
--------------------------------------------------------------------------------
1) 檢查系統(tǒng)的C 編譯環(huán)境;
--------------------------------------------------------------------------------
因?yàn)镼mail 源代碼的安裝配置檔中使用了名稱為"cc" 的C 編譯器, 所以, 如果你的系統(tǒng)中沒(méi)有
相應(yīng)的名為"cc" 的編譯命令, 那么就必須修改安裝配置檔conf-cc 和conf-ld, 確保安裝程序
能找到適合的C 編譯器.
在Linux 的命令提示行下, 敲入 cc 然后回車:
cc: no input files (注: 這是C 編譯器返回的反應(yīng)信息)
如果您得到上面類似"no input files"的反應(yīng), 這表明在您系統(tǒng)的缺省搜索訪問(wèn)路徑上有一個(gè)
適合于本安裝的, 的用的C 編譯器. 如果沒(méi)有類似反應(yīng), 請(qǐng)繼續(xù)測(cè)試執(zhí)行如下的C 編譯命令:
/usr/bin/cc;
/usr/bin/gcc;
/usr/local/bin/cc;
/usr/local/bin/gcc;
/usr/ccs/bin/cc;
如果上面的測(cè)試命令沒(méi)有一個(gè)能起作用, 請(qǐng)參考您的系統(tǒng)平臺(tái)之相關(guān)說(shuō)明文檔, 確認(rèn)您的系統(tǒng)中
有可用的C 編譯器及其正確的路徑; 例如對(duì)于Red Hat Linux,可用如下RPM 命令來(lái)查詢:
rpm -qa | grep gcc;
rpm -qa | grep egcs;
如果上面的測(cè)試命令有任何一個(gè)能起作用, 說(shuō)明你的系統(tǒng)中有可用的C 編譯器, 但因?yàn)槁窂交蛎Q 不符合本安裝的要求, 因此在安裝Qmail 之前, 需要修正Qmail 的安裝資源中關(guān)于C 編譯器的設(shè)置檔. 在Qmail 的源程序中, 關(guān)于C 編譯環(huán)境的配置參數(shù)包含在名為conf-cc 和conf-ld 的兩個(gè)文件中. 若 要修改配置檔conf-cc 和conf-ld, 請(qǐng)用編輯器打開(kāi)conf-cc 和conf-ld 文件, 然后置換文件中所有 的 "cc" 為適合您系統(tǒng)中的C 編譯器名稱即可(通常是在第一行). 例如, 如果你的系統(tǒng)中可用的C 編譯器名為"gcc", 或者是必須帶路徑訪問(wèn)的"/usr/bin/gcc",那么就請(qǐng)編輯conf-cc 和conf-ld 兩個(gè)文件(這兩個(gè)文件在qmail-1.03的資源當(dāng)中, 后面將要介紹如何下載這些資源), 將文件中的"cc" 改為"gcc" 或者"/usr/bin/gcc".
請(qǐng)注意: RedHat系統(tǒng)雖然使用gcc, 但通常會(huì)有一個(gè)名為/usr/bin/cc的連接, 并指向/usr/bin/gcc, 這種情況下就不用修改配置檔了. (由此亦可見(jiàn), 有另一個(gè)比修改配置檔更簡(jiǎn)單的方法, 就是建立一個(gè)名為 cc 的連接, 指向您系統(tǒng)中可用的C 編譯器即可).
--------------------------------------------------------------------------------
2) 檢查系統(tǒng)所需的必要組件(apache php mysql和named);
--------------------------------------------------------------------------------
#檢查系統(tǒng)組件:
rpm –qa | grep httpd;
rpm –qa | grep php;
rpm –qa | grep mysqld;
rpm –qa | grep bind; (這是檢查named, RedHat的Name Server預(yù)設(shè)是Bind)
請(qǐng)注意: 系統(tǒng)組件對(duì)保障Qmail 郵件系統(tǒng)的高效運(yùn)行至關(guān)重要,Qmail 的各種特性, 包括穩(wěn)定性
和安全性都依賴于這些組件與Linxu 操作系統(tǒng)的整合程度, 如果尚未安裝系統(tǒng)組件, 建議重新
安裝Linux 操作系統(tǒng), 讓操作系統(tǒng)的安裝程序自動(dòng)安裝和調(diào)整這些系統(tǒng)組件, 以達(dá)至最佳性能.
--------------------------------------------------------------------------------
3) 保證系統(tǒng)能自動(dòng)啟動(dòng)如下三個(gè)組件(在項(xiàng)目前加入*號(hào));
在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng) 4 / 108
,-------------------------------------------------------------------------------- setup; ->System Service;
* httpd
* mysqld
* named
#手工啟動(dòng)相關(guān)服務(wù)的命令
service httpd start; 或者 service httpd restart;
service mysqld start; 或者 service mysqld restart;
service named start; 或者 service named restart;
--------------------------------------------------------------------------------
4) 關(guān)閉SELINUX;
-------------------------------------------------------------------------------- vi /etc/sysconfig/selinux;
#如果看到有此行: SELINUX=enforcing
#請(qǐng)改成如下: SELINUX=disabled
#SELINUX如有改動(dòng), 必須保存并重新啟動(dòng)Linux: reboot
請(qǐng)注意: 本系統(tǒng)要求關(guān)閉SELinux, 并非是因?yàn)镾ELinux 不支持Qmail 系列郵件系統(tǒng), 而是因?yàn)樵?SELinux 下配置完整功能的商業(yè)郵件服務(wù)相當(dāng)麻煩. 您如果有需要在郵件服務(wù)器中啟用SELinux, 請(qǐng)參考下列網(wǎng)站:
官方網(wǎng)站: http://www.nsa.gov/selinux/
維基臺(tái)灣: http://zh.wikipedia.org/wiki/SELinux
維基英文: http://en.wikipedia.org/wiki/SELinux
IBM DW : http://www.ibm.com/developerworks/cn/linux/s-selinux/index.html
--------------------------------------------------------------------------------
5) 如果RedHat 系統(tǒng)安裝了預(yù)設(shè)的套件sendmail 或postfix, 請(qǐng)先刪除它們;
-------------------------------------------------------------------------------- rpm -e --nodeps sendmail;
rpm -e --nodeps postfix;
rpm -e --nodeps sendmail-cf;
刪除sendmail 的時(shí)候,也許會(huì)看到如下的警告信息(RPM刪除套件前會(huì)備份相關(guān)的設(shè)置檔) : warning: /var/log/mail/statistics saved as /var/log/mail/statistics.rpmsave warning: /etc/mail/submit.cf saved as /etc/mail/submit.cf.rpmsave
說(shuō)明: 上述套件其實(shí)無(wú)需刪除, 但為保證Qmail 系統(tǒng)的穩(wěn)定運(yùn)行, 必須確認(rèn)已經(jīng)停止其服務(wù), 或 更改相應(yīng)的服務(wù)端口, 以及調(diào)整默認(rèn)的鏈接.
--------------------------------------------------------------------------------
6) 為了避免已經(jīng)存在的文件導(dǎo)致相關(guān)命令不能正確運(yùn)行, 請(qǐng)先刪除以下目錄;
-------------------------------------------------------------------------------- rm -rf /var/qmail;
rm -rf /var/log/qmail;
rm -rf /service;
請(qǐng)注意: 這里假設(shè)以上目錄在您的系統(tǒng)中并未使用, 如果在您的系統(tǒng)已經(jīng)有其他程序應(yīng)用了 上述目錄, 請(qǐng)謹(jǐn)慎考慮刪除這些目錄可那能引起的后果;
--------------------------------------------------------------------------------
7) 需要預(yù)先檢查的用戶和組;
在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng) 5 / 108
,--------------------------------------------------------------------------------
運(yùn)行Qmail 系統(tǒng)需要在Linux 系統(tǒng)中添加兩個(gè)新組和7個(gè)新用戶, 在Qmail 的源程序中有一個(gè)名為 INSTALL.ids 的文件, 此文件包含了介紹如何在各種系統(tǒng)中添加用戶和組的命令. 如下是此文件 中開(kāi)頭部分所介紹的, 在Solaris,Linux 和FreeBSD 中添加用戶和組的命令:
vi INSTALL.ids;
On some systems there are commands that make this easy. Solaris and
Linux:
# 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
FreeBSD 2.2:
# pw groupadd nofiles
# pw useradd alias -g nofiles -d /var/qmail/alias -s /nonexistent
# pw useradd qmaild -g nofiles -d /var/qmail -s /nonexistent
# pw useradd qmaill -g nofiles -d /var/qmail -s /nonexistent
# pw useradd qmailp -g nofiles -d /var/qmail -s /nonexistent
# pw groupadd qmail
# pw useradd qmailq -g qmail -d /var/qmail -s /nonexistent
# pw useradd qmailr -g qmail -d /var/qmail -s /nonexistent
# pw useradd qmails -g qmail -d /var/qmail -s /nonexistent
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
在本安裝手冊(cè)中所配置的Qmail 系統(tǒng)的運(yùn)行用戶和組, 與上述方式產(chǎn)生的用戶和組稍有不同, 因?yàn)槲覀冎付诉@些組和用戶的GID 和UID. 采用固定的用戶ID 來(lái)運(yùn)行Qmail 系統(tǒng)的目的, 是為了方便系統(tǒng)后續(xù)的升級(jí)和遷移等維護(hù)工作, 這對(duì)于需要眾多郵件主機(jī), 以及經(jīng)常需要在各主機(jī)之間遷移郵箱用戶的系統(tǒng), 是值得采用的方式. 如下是本安裝手冊(cè)中將會(huì)使用的GID 和UID:
GID: 801, 802
UID: 800,801,802.803,804,805,806
Linux 系統(tǒng)使用GID 和UID 來(lái)識(shí)別用戶身份, 如果/etc/passwd檔中出現(xiàn)兩個(gè)以上重復(fù)ID, 那么只有最后一個(gè)ID 才會(huì)是有效用戶. 所以, 如果您的系統(tǒng)中已經(jīng)存在這些GID 或UID 的話, 那么安裝過(guò)程就可能無(wú)法正確產(chǎn)生相關(guān)的目錄和文件,Qmail 系統(tǒng)可能會(huì)因此而失敗. 因此, 建議您在執(zhí)行安裝之前, 首先檢查一下您當(dāng)前的系統(tǒng)中的用戶和組, 是否已經(jīng)有別的用戶和組正在使用上述GID 和UID. 如果發(fā)現(xiàn)系統(tǒng)已經(jīng)存在上述GID 和UID, 那么就要首先修改這些ID 數(shù)值, 以免產(chǎn)生重復(fù)ID. 為了保持系統(tǒng)一致性, 連續(xù)性和易遷移性, 建議您針對(duì)你的系統(tǒng)的特性, 選擇一個(gè)并不常用的UID 和GID 來(lái)安裝Qmail. 盡量采用統(tǒng)一UID 和GID 來(lái)安裝您的所有Qmail 系統(tǒng), 可以避免系統(tǒng)在后續(xù)的維護(hù)工作中修改系統(tǒng)的GID 和UID.
--------------------------------------------------------------------------------
參考資料: 如要修改操作系統(tǒng)現(xiàn)有用戶的GID 和UID, 請(qǐng)參照如下方法:
--------------------------------------------------------------------------------
vi /etc/passwd;
請(qǐng)記住您要修改的相關(guān)ID 和其對(duì)應(yīng)的用戶名, 改完GID 和UID 后, 記得要修改系統(tǒng)中所有此用戶
在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng) 6 / 108
,的文件和目綠, 可參照如下的FIND 命令來(lái)達(dá)到目的:
find / -uid [UID] –exec chown [USER] {} ;
find / -gid [GID] –exec chown [GROUP] {} ;
上述[UID]和[GID]為舊用戶的ID 數(shù)值, 而[USER]和[GROUP]則是此ID 相對(duì)應(yīng)的用戶名, 例如, 若 用戶htt 原先的UID 和GID 為801, 那么:
find / -uid 801 -exec chown htt {} ; (查找UID 為101的文件和目錄, 改為用戶htt 的新UID;) find / -gid 801 -exec chown .htt {} ; (查找GID 為101的文件和目錄, 改為組htt 的新GID;)
--------------------------------------------------------------------------------
8) 建立Qmail 系統(tǒng)的運(yùn)行目錄, 設(shè)置系統(tǒng)的用戶和組以及相關(guān)權(quán)限;
-------------------------------------------------------------------------------- #逐步執(zhí)行如下系列命令, 產(chǎn)生運(yùn)行Qmail 系統(tǒng)所需的用戶, 組和相關(guān)目錄:
groupadd -g 801 qmail;
groupadd -g 802 nofiles;
mkdir -p /var/qmail; (這是qmail 運(yùn)行程序的目錄)
chown root.qmail /var/qmail;
useradd -g nofiles -d /var/qmail/alias -s /sbin/nologin -p'*' -u 800 alias;
useradd -g nofiles -d /var/qmail -M -s /sbin/nologin -p'*' -u 801 qmaild;
useradd -g nofiles -d /var/qmail -M -s /sbin/nologin -p'*' -u 802 qmaill;
useradd -g nofiles -d /var/qmail -M -s /sbin/nologin -p'*' -u 803 qmailp;
useradd -g qmail -d /var/qmail -M -s /sbin/nologin -p'*' -u 804 qmailq;
useradd -g qmail -d /var/qmail -M -s /sbin/nologin -p'*' -u 805 qmailr;
useradd -g qmail -d /var/qmail -M -s /sbin/nologin -p'*' -u 806 qmails;
mkdir /var/log/qmail;
mkdir /var/log/qmail/qmail-send;
mkdir /var/log/qmail/qmail-smtpd;
mkdir /var/log/qmail/qmail-pop3d;
chown -R qmaill:root /var/log/qmail;
chmod -R 750 /var/log/qmail;
mkdir /var/qmail/supervise;
mkdir -p /var/qmail/supervise/qmail-smtpd/log;
mkdir -p /var/qmail/supervise/qmail-send/log;
mkdir -p /var/qmail/supervise/qmail-pop3d/log;
chmod t /var/qmail/supervise/qmail-smtpd;
chmod t /var/qmail/supervise/qmail-send;
chmod t /var/qmail/supervise/qmail-pop3d;
-------------------------------------------------------------------------------- 附錄: 為了方便安裝, 可以建立一個(gè)名為qmail-adduser.sh 的腳本程序:
-------------------------------------------------------------------------------- #!/bin/sh
PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin
#An automation script to start the installation of qmail, ucspi-tcp and daemontools #Specially formulated for Redhat, Fedora, RHEL and Whitebox Linux.
echo "Creating initial qmail directories..."
echo
sleep 2
groupadd -g 801 qmail
在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng) 7 / 108
,groupadd -g 802 nofiles
mkdir -p /var/qmail
chown root.qmail /var/qmail;
echo "Done!"
echo
sleep 2
echo "Creating all needed users and groups..."
echo
sleep 2
#######
#Script to add users and groups for Redhat, Fedora, RHEL and Whitebox type distros useradd -g nofiles -d /var/qmail/alias -s /sbin/nologin -p'*' -u 800 alias useradd -g nofiles -d /var/qmail -s /sbin/nologin -p'*' -u 801 qmaild
useradd -g nofiles -d /var/qmail -s /sbin/nologin -p'*' -u 802 qmaill
useradd -g nofiles -d /var/qmail -s /sbin/nologin -p'*' -u 803 qmailp
useradd -g qmail -d /var/qmail -s /sbin/nologin -p'*' -u 804 qmailq
useradd -g qmail -d /var/qmail -s /sbin/nologin -p'*' -u 805 qmailr
useradd -g qmail -d /var/qmail -s /sbin/nologin -p'*' -u 806 qmails
#######
echo "Done!"
echo
sleep 2
echo "Next, we setup special logging directories..."
echo
sleep 2
mkdir /var/log/qmail;
mkdir /var/log/qmail/qmail-send;
mkdir /var/log/qmail/qmail-smtpd;
mkdir /var/log/qmail/qmail-pop3d;
mkdir /var/log/qmail/qmail-pop3ds;
chown -R qmaill:root /var/log/qmail;
chmod -R 750 /var/log/qmail;
echo "Done!"
echo
sleep 2
echo "And set up the supervise script directories..."
echo
sleep 2
mkdir /var/qmail/supervise;
mkdir -p /var/qmail/supervise/qmail-smtpd/log;
mkdir -p /var/qmail/supervise/qmail-send/log;
mkdir -p /var/qmail/supervise/qmail-pop3d/log;
mkdir -p /var/qmail/supervise/qmail-pop3ds/log;
chmod t /var/qmail/supervise/qmail-smtpd;
chmod t /var/qmail/supervise/qmail-send;
chmod t /var/qmail/supervise/qmail-pop3d;
在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng) 8 / 108
,chmod t /var/qmail/supervise/qmail-pop3ds;
echo "All steps completed!"
echo
sleep 2
第二節(jié):安裝Qmail 的基本系統(tǒng)
================================================================================
1) 下載Qmail 主程序(請(qǐng)選擇a 或者b 方式):
================================================================================
--------------------------------------------------------------------------------
(a) 下載qmail-1.03資源;
--------------------------------------------------------------------------------
參考網(wǎng)址: http://www.qmail.org/top.html
請(qǐng)注意: 本安裝不采用下面(b)方式中附帶修補(bǔ)漏洞的netqmail, 因?yàn)楸景惭b將要采用一個(gè)流行的Qmail 擴(kuò)展組件spamcontrol, 此組件已經(jīng)修補(bǔ)了相關(guān)漏洞和做了大量改進(jìn), 但它并不兼容netqmail, 所以本安裝必須采用原始版本qmail-1.03.tar.gz.(也就是說(shuō), 本安裝后面的步驟是沿續(xù)此步驟的a 方式的資源)
cd /usr/local/src/qmail/;
wget http://cr.yp.to/software/qmail-1.03.tar.gz;
tar zxvf qmail-1.03.tar.gz;
cd /usr/local/src/qmail/qmail-1.03/;
先做個(gè)備份, 因?yàn)楹竺娌糠盅a(bǔ)丁的安裝不兼容spamcontrol, 而需此原始資源:
cp -p Makefile Makefile.org;
cp -p qmail-smtpd.c qmail-smtpd.c.org;
--------------------------------------------------------------------------------
(b) 下載官方推薦的netqmail-1.05;
--------------------------------------------------------------------------------
如果您不需要安裝Spamcontrol, 那么建議下載含有官方推薦補(bǔ)丁的netqmail-1.05.tar.gz, 此 下載檔亦在官方網(wǎng)站發(fā)布, 不僅包含上述qmail-1.03.tar.gz 源代碼, 還有qmail 本身以及相關(guān) 套件的重要補(bǔ)丁, 這些補(bǔ)丁修正了一些漏洞, 不足和兼容性問(wèn)題(但可能不適合于某些操作系統(tǒng)
平臺(tái));
參考網(wǎng)址: http://www.qmail.org/netqmail/
cd /usr/local/src/qmail/;
wget http://qmail.org/netqmail-1.05.tar.gz;
tar -zxvf netqmail-1.05.tar.gz;
cd netqmail-1.05; (此目錄含有qmail 的源代碼和補(bǔ)丁, 請(qǐng)參考README 說(shuō)明執(zhí)行修補(bǔ)步驟)
./collate.sh; (自動(dòng)解壓并打上補(bǔ)丁, 產(chǎn)生一個(gè)netqmail-1.05目錄, 請(qǐng)注意是否有錯(cuò)誤信息) vi ./collate.sh; (看看collate.sh 這個(gè)腳本作了些什么)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#!/bin/sh
set -e
echo ""
echo "You should see 7 lines of text below. If you see anything"
echo "else, then something might be wrong."
echo "[1] Extracting qmail-1.03... "
gunzip -c qmail-1.03.tar.gz | tar xf -
在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng) 9 / 108
,cd qmail-1.03
echo "[2] Patching qmail-1.03 into netqmail-1.05. Look for errors below:"
patch <../netqmail-1.05.patch | wc -l
echo "[4] The previous line should say 24 if you used GNU patch."
echo "[5] Renaming qmail-1.03 to netqmail-1.05..."
cd ..
mv qmail-1.03 netqmail-1.05
set e
if [ `find ./netqmail-1.05/ -type f | grep -v '.orig$' | xargs cat | wc -c` -ne 815871 ] ; then echo "Patch didn't apply successfully."
exit 1
fi
echo "[6] Continue installing qmail using the instructions found at:"
echo "[7] http://www.lifewithqmail.org/lwq.html#installation"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
請(qǐng)注意: 腳本collate.sh 是修補(bǔ)qmail-1.03本身的補(bǔ)丁程序,netqmail-1.05還包含幾個(gè)相關(guān) 套件的補(bǔ)丁程序, 放在other-patches 目錄下面, 如果這些套件是采用源代碼方式安裝的, 請(qǐng)
參考README 說(shuō)明執(zhí)行修補(bǔ)步驟. 但如果后續(xù)步驟采用RPM 方式安裝相關(guān)套件, 而RPM 套件若已經(jīng) 修補(bǔ)了相關(guān)漏洞, 則不必再進(jìn)行修補(bǔ).
================================================================================
2) 下載spamcontrol:
================================================================================
參考網(wǎng)址: http://www.fehcom.de/qmail/spamcontrol.html
mkdir -p /usr/local/src/qmail/spamcontrol;
cd /usr/local/src/qmail/spamcontrol/;
wget http://www.fehcom.de/qmail/spamcontrol/spamcontrol-2418_tgz.bin;
下載關(guān)鍵性的相關(guān)補(bǔ)丁:
wget http://www.fehcom.de/qmail/spamcontrol/clamav-0.90.1_output.patch_
wget http://www.fehcom.de/qmail/spamcontrol/ucspi-ssl-0.70_ucspitls-0.4.patch_
wget http://www.fehcom.de//qmail/spamcontrol/badmimetypes
wget http://www.fehcom.de//qmail/spamcontrol/badloadertypes
解壓spamcontrol-2418_tgz.bin會(huì)將資源文件釋放在當(dāng)前操作目錄下, 因此請(qǐng)先進(jìn)入qmail 的安裝目錄: cd /usr/local/src/qmail/qmail-1.03;
tar -xzf ../spamcontrol/spamcontrol-2418_tgz.bin;
注意: 一定要在qmail 安裝目錄下釋放資源, 才能保證更新相關(guān)文件. 復(fù)制四個(gè)補(bǔ)丁, 雖然本安裝中下列補(bǔ)丁未必完全需要, 但為了保持最新資源的完整性和一致性, 請(qǐng)一并復(fù)制, 以方便未來(lái)的維護(hù)調(diào)整和性能擴(kuò)展:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/bin/cp -fp ../spamcontrol/badloadertypes ./
/bin/cp -fp ../spamcontrol/badmimetypes ./
/bin/cp -fp ../spamcontrol/clamav-0.90.1_output.patch_ ./
/bin/cp -fp ../spamcontrol/ucspi-ssl-0.70_ucspitls-0.4.patch_ ./
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
vi conf-spamcontrol; (修改spamcontrol 的配置文檔, 此處需要添加多行選項(xiàng))
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng) 10 / 108