在CentOS5中安裝Qmail商業(yè)郵件系統(tǒng)(20070702更新)
aiz 在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng)(20070702更新)50系統(tǒng)性能簡介本文是筆者在業(yè)余時間學(xué)習(xí)和研究Qmail 系統(tǒng)時所做的筆記, 全部資料均來自Google 網(wǎng)上所搜索到公開
aiz 在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng)(20070702更新)
50
系統(tǒng)性能簡介
本文是筆者在業(yè)余時間學(xué)習(xí)和研究Qmail 系統(tǒng)時所做的筆記, 全部資料均來自Google 網(wǎng)上所搜索到公開資源(Open Source),本文所涉及的所有需下載安裝的資源, 均為以GPL 授權(quán), 而且可提供商業(yè)用途的免費軟件. 本手冊遵守GPL 協(xié)議, 歡迎任何人士加入意見和修改. 全文按功能分為十四節(jié), 因為太長所以分為多篇來發(fā)表.
===============================================================================
目錄指南
===============================================================================
第一節(jié): 安裝前的準(zhǔn)備;
第二節(jié): 安裝Qmail 的基本系統(tǒng);
第三節(jié): 安裝協(xié)助Qmail 運作的工具套件;
第四節(jié): 安裝vpopmail 虛擬域名管理系統(tǒng);
第五節(jié): 安裝病毒郵件防護(hù)系統(tǒng)ClamAV;
第六節(jié): 安裝垃圾郵件過濾系統(tǒng)SpamAssassin;
第七節(jié): 設(shè)置Qmail 的運行腳本;
第八節(jié): 安裝Qmailadmin 和修正Domain Quota;
第九節(jié): 安裝Courier(authlib imap sqwebmail maildrop)和配置SSL 支持;
第十節(jié): 安裝SquirrelMail;
第十一節(jié): 安裝Horde-Webmail;
第十二節(jié): 安裝掃描程序qmail-scanner;
第十三節(jié): 配置POP3的SSL 支持;
第十四節(jié): 安裝Vqadmin 管理工具;
==============================================================================
性能簡介:
===============================================================================
按照本安裝手冊部屬配置的Qmail 郵件系統(tǒng), 將會是一個具備完整功能的商業(yè)郵件系統(tǒng), 能滿足大中小型企業(yè)的電子商務(wù)需求, 也適合于專門提供電郵服務(wù)的ISP 網(wǎng)路公司. 它具備專業(yè)和商業(yè)電郵系統(tǒng)的所有標(biāo)準(zhǔn)功能, 能保證向商業(yè)用戶提供安全, 穩(wěn)定和高效的電子商務(wù).
1) 支持多虛擬域名的設(shè)置, 每臺主機(jī)可支持?jǐn)?shù)千乃至更多個虛擬域名;
2) 支持?jǐn)?shù)據(jù)庫來儲存管理信息, 用戶信息儲存在MySQL 數(shù)據(jù)庫中(無需Linux 系統(tǒng)賬號), 增
強(qiáng)了安全性和靈活性;
3) 支持賬戶數(shù)目限額和郵箱空間限額:
- 每個域名可設(shè)置最大空間容量和郵箱數(shù)目, 用戶可自行調(diào)整郵箱賬戶的空間大小;
- 用戶具有管理功能, 包括增加和刪除帳號, 設(shè)置別名, 修改密碼以及分配和調(diào)整空間;
- 用戶可設(shè)置無限制數(shù)量的別名(包括轉(zhuǎn)發(fā));
4) 支持POP3協(xié)議接收電郵, 支持SSL 安全連接, 支持SMTP 認(rèn)證;
5) 支持多種Webmail 界面管理和收發(fā)電郵;
6) 自動掃描進(jìn)出網(wǎng)關(guān)的電郵信息(包括接收, 發(fā)送和轉(zhuǎn)發(fā)), 可以設(shè)置使用QHPSI 來進(jìn)行高性能掃描, 能有效阻止病毒電郵和過濾垃圾郵件;
===============================================================================
系統(tǒng)管理方式
在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng) 1 / 108
,=============================================================================== 啟動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/
一個查詢電郵域名的操作范例:
-------------------------------------------------------------------------------- cd /home/vpopmail/bin/;
./vdominfo test.com #返回信息如下:
- - - - - - - - - - - - - - - - - - - - - - - - -
domain: test.com
uid: 809
gid: 809
dir: /home/vpopmail/domains/test.com
users: 2
- - - - - - - - - - - - - - - - - - - - - - - - -
一個添加電郵域名的操作范例:
-------------------------------------------------------------------------------- cd /home/vpopmail/bin/;
./vadddomain test.com;
Please enter password for postmaster:
enter password again:
--------------------------------------------------------------------------------
一個添加電郵帳號的操作范例:
-------------------------------------------------------------------------------- cd /home/vpopmail/bin/;
/vadduser [email]email@test.com[/email]
Please enter password for [email]email@test.com[/email]:
enter password again:
--------------------------------------------------------------------------------
一個刪除電郵帳號的操作范例:
-------------------------------------------------------------------------------- cd /home/vpopmail/bin/;
./vdeluser [email]email@test.com[/email]
-------------------------------------------------------------------------------- 一個刪除電郵域名的操作范例:
-------------------------------------------------------------------------------- cd /home/vpopmail/bin/;
./vdeldomain test.com
--------------------------------------------------------------------------------
在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng) 2 / 108
,一個用來添加域名(支持限額) 腳本(/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/
================================================================================ 用戶使用方法
================================================================================ 超級用戶管理頁面: http://xxx.xxx.xxx.xxx/cgi-bin/qmailadmin
[User Account] 請輸入 postmaster
[Domain Name] 請輸入 yourdomain
[Password] 請輸入 postmasterpassword
普通用戶管理頁面: http://xxx.xxx.xxx.xxx/cgi-bin/qmailadmin
[User Account] 請輸入 youremailaccount
[Domain Name] 請輸入 yourdomain
[Password] 請輸入 yourpassword
用戶網(wǎng)頁電郵: http://xxx.xxx.xxx.xxx/cgi-bin/sqwebmail
[User ID] 請輸入 youremail@yourdomain
[Password] 請輸入 yourpassword
用戶網(wǎng)頁電郵: http://xxx.xxx.xxx.xxx/squirrelmail/
帳號: youremail@yourdomain
密碼: yourpassword
用戶網(wǎng)頁電郵: 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)備
檢查Linux 系統(tǒng), 調(diào)整適合Qmail 系統(tǒng)運行的環(huán)境, 配置用戶, 組權(quán)限和相關(guān)目錄;
--------------------------------------------------------------------------------
1) 檢查系統(tǒng)的C 編譯環(huán)境;
--------------------------------------------------------------------------------
因為Qmail 源代碼的安裝配置檔中使用了名稱為"cc" 的C 編譯器, 所以, 如果你的系統(tǒng)中沒有
相應(yīng)的名為"cc" 的編譯命令, 那么就必須修改安裝配置檔conf-cc 和conf-ld, 確保安裝程序
能找到適合的C 編譯器.
在Linux 的命令提示行下, 敲入 cc 然后回車:
cc: no input files (注: 這是C 編譯器返回的反應(yīng)信息)
如果您得到上面類似"no input files"的反應(yīng), 這表明在您系統(tǒng)的缺省搜索訪問路徑上有一個
適合于本安裝的, 的用的C 編譯器. 如果沒有類似反應(yīng), 請繼續(xù)測試執(zhí)行如下的C 編譯命令:
/usr/bin/cc;
/usr/bin/gcc;
/usr/local/bin/cc;
/usr/local/bin/gcc;
/usr/ccs/bin/cc;
如果上面的測試命令沒有一個能起作用, 請參考您的系統(tǒng)平臺之相關(guān)說明文檔, 確認(rèn)您的系統(tǒng)中
有可用的C 編譯器及其正確的路徑; 例如對于Red Hat Linux,可用如下RPM 命令來查詢:
rpm -qa | grep gcc;
rpm -qa | grep egcs;
如果上面的測試命令有任何一個能起作用, 說明你的系統(tǒng)中有可用的C 編譯器, 但因為路徑或名稱 不符合本安裝的要求, 因此在安裝Qmail 之前, 需要修正Qmail 的安裝資源中關(guān)于C 編譯器的設(shè)置檔. 在Qmail 的源程序中, 關(guān)于C 編譯環(huán)境的配置參數(shù)包含在名為conf-cc 和conf-ld 的兩個文件中. 若 要修改配置檔conf-cc 和conf-ld, 請用編輯器打開conf-cc 和conf-ld 文件, 然后置換文件中所有 的 "cc" 為適合您系統(tǒng)中的C 編譯器名稱即可(通常是在第一行). 例如, 如果你的系統(tǒng)中可用的C 編譯器名為"gcc", 或者是必須帶路徑訪問的"/usr/bin/gcc",那么就請編輯conf-cc 和conf-ld 兩個文件(這兩個文件在qmail-1.03的資源當(dāng)中, 后面將要介紹如何下載這些資源), 將文件中的"cc" 改為"gcc" 或者"/usr/bin/gcc".
請注意: RedHat系統(tǒng)雖然使用gcc, 但通常會有一個名為/usr/bin/cc的連接, 并指向/usr/bin/gcc, 這種情況下就不用修改配置檔了. (由此亦可見, 有另一個比修改配置檔更簡單的方法, 就是建立一個名為 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)
請注意: 系統(tǒng)組件對保障Qmail 郵件系統(tǒng)的高效運行至關(guān)重要,Qmail 的各種特性, 包括穩(wěn)定性
和安全性都依賴于這些組件與Linxu 操作系統(tǒng)的整合程度, 如果尚未安裝系統(tǒng)組件, 建議重新
安裝Linux 操作系統(tǒng), 讓操作系統(tǒng)的安裝程序自動安裝和調(diào)整這些系統(tǒng)組件, 以達(dá)至最佳性能.
--------------------------------------------------------------------------------
3) 保證系統(tǒng)能自動啟動如下三個組件(在項目前加入*號);
在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng) 4 / 108
,-------------------------------------------------------------------------------- setup; ->System Service;
* httpd
* mysqld
* named
#手工啟動相關(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
#請改成如下: SELINUX=disabled
#SELINUX如有改動, 必須保存并重新啟動Linux: reboot
請注意: 本系統(tǒng)要求關(guān)閉SELinux, 并非是因為SELinux 不支持Qmail 系列郵件系統(tǒng), 而是因為在 SELinux 下配置完整功能的商業(yè)郵件服務(wù)相當(dāng)麻煩. 您如果有需要在郵件服務(wù)器中啟用SELinux, 請參考下列網(wǎng)站:
官方網(wǎng)站: http://www.nsa.gov/selinux/
維基臺灣: 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, 請先刪除它們;
-------------------------------------------------------------------------------- rpm -e --nodeps sendmail;
rpm -e --nodeps postfix;
rpm -e --nodeps sendmail-cf;
刪除sendmail 的時候,也許會看到如下的警告信息(RPM刪除套件前會備份相關(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
說明: 上述套件其實無需刪除, 但為保證Qmail 系統(tǒng)的穩(wěn)定運行, 必須確認(rèn)已經(jīng)停止其服務(wù), 或 更改相應(yīng)的服務(wù)端口, 以及調(diào)整默認(rèn)的鏈接.
--------------------------------------------------------------------------------
6) 為了避免已經(jīng)存在的文件導(dǎo)致相關(guān)命令不能正確運行, 請先刪除以下目錄;
-------------------------------------------------------------------------------- rm -rf /var/qmail;
rm -rf /var/log/qmail;
rm -rf /service;
請注意: 這里假設(shè)以上目錄在您的系統(tǒng)中并未使用, 如果在您的系統(tǒng)已經(jīng)有其他程序應(yīng)用了 上述目錄, 請謹(jǐn)慎考慮刪除這些目錄可那能引起的后果;
--------------------------------------------------------------------------------
7) 需要預(yù)先檢查的用戶和組;
在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng) 5 / 108
,--------------------------------------------------------------------------------
運行Qmail 系統(tǒng)需要在Linux 系統(tǒng)中添加兩個新組和7個新用戶, 在Qmail 的源程序中有一個名為 INSTALL.ids 的文件, 此文件包含了介紹如何在各種系統(tǒng)中添加用戶和組的命令. 如下是此文件 中開頭部分所介紹的, 在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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
在本安裝手冊中所配置的Qmail 系統(tǒng)的運行用戶和組, 與上述方式產(chǎn)生的用戶和組稍有不同, 因為我們指定了這些組和用戶的GID 和UID. 采用固定的用戶ID 來運行Qmail 系統(tǒng)的目的, 是為了方便系統(tǒng)后續(xù)的升級和遷移等維護(hù)工作, 這對于需要眾多郵件主機(jī), 以及經(jīng)常需要在各主機(jī)之間遷移郵箱用戶的系統(tǒng), 是值得采用的方式. 如下是本安裝手冊中將會使用的GID 和UID:
GID: 801, 802
UID: 800,801,802.803,804,805,806
Linux 系統(tǒng)使用GID 和UID 來識別用戶身份, 如果/etc/passwd檔中出現(xiàn)兩個以上重復(fù)ID, 那么只有最后一個ID 才會是有效用戶. 所以, 如果您的系統(tǒng)中已經(jīng)存在這些GID 或UID 的話, 那么安裝過程就可能無法正確產(chǎn)生相關(guān)的目錄和文件,Qmail 系統(tǒng)可能會因此而失敗. 因此, 建議您在執(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ù)性和易遷移性, 建議您針對你的系統(tǒng)的特性, 選擇一個并不常用的UID 和GID 來安裝Qmail. 盡量采用統(tǒng)一UID 和GID 來安裝您的所有Qmail 系統(tǒng), 可以避免系統(tǒng)在后續(xù)的維護(hù)工作中修改系統(tǒng)的GID 和UID.
--------------------------------------------------------------------------------
參考資料: 如要修改操作系統(tǒng)現(xiàn)有用戶的GID 和UID, 請參照如下方法:
--------------------------------------------------------------------------------
vi /etc/passwd;
請記住您要修改的相關(guān)ID 和其對應(yīng)的用戶名, 改完GID 和UID 后, 記得要修改系統(tǒng)中所有此用戶
在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng) 6 / 108
,的文件和目綠, 可參照如下的FIND 命令來達(dá)到目的:
find / -uid [UID] –exec chown [USER] {} ;
find / -gid [GID] –exec chown [GROUP] {} ;
上述[UID]和[GID]為舊用戶的ID 數(shù)值, 而[USER]和[GROUP]則是此ID 相對應(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)的運行目錄, 設(shè)置系統(tǒng)的用戶和組以及相關(guān)權(quán)限;
-------------------------------------------------------------------------------- #逐步執(zhí)行如下系列命令, 產(chǎn)生運行Qmail 系統(tǒng)所需的用戶, 組和相關(guān)目錄:
groupadd -g 801 qmail;
groupadd -g 802 nofiles;
mkdir -p /var/qmail; (這是qmail 運行程序的目錄)
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;
-------------------------------------------------------------------------------- 附錄: 為了方便安裝, 可以建立一個名為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 主程序(請選擇a 或者b 方式):
================================================================================
--------------------------------------------------------------------------------
(a) 下載qmail-1.03資源;
--------------------------------------------------------------------------------
參考網(wǎng)址: http://www.qmail.org/top.html
請注意: 本安裝不采用下面(b)方式中附帶修補(bǔ)漏洞的netqmail, 因為本安裝將要采用一個流行的Qmail 擴(kuò)展組件spamcontrol, 此組件已經(jīng)修補(bǔ)了相關(guān)漏洞和做了大量改進(jìn), 但它并不兼容netqmail, 所以本安裝必須采用原始版本qmail-1.03.tar.gz.(也就是說, 本安裝后面的步驟是沿續(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/;
先做個備份, 因為后面部分補(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ǔ)丁修正了一些漏洞, 不足和兼容性問題(但可能不適合于某些操作系統(tǒng)
平臺);
參考網(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ǔ)丁, 請參考README 說明執(zhí)行修補(bǔ)步驟)
./collate.sh; (自動解壓并打上補(bǔ)丁, 產(chǎn)生一個netqmail-1.05目錄, 請注意是否有錯誤信息) vi ./collate.sh; (看看collate.sh 這個腳本作了些什么)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#!/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"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
請注意: 腳本collate.sh 是修補(bǔ)qmail-1.03本身的補(bǔ)丁程序,netqmail-1.05還包含幾個相關(guān) 套件的補(bǔ)丁程序, 放在other-patches 目錄下面, 如果這些套件是采用源代碼方式安裝的, 請
參考README 說明執(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會將資源文件釋放在當(dāng)前操作目錄下, 因此請先進(jìn)入qmail 的安裝目錄: cd /usr/local/src/qmail/qmail-1.03;
tar -xzf ../spamcontrol/spamcontrol-2418_tgz.bin;
注意: 一定要在qmail 安裝目錄下釋放資源, 才能保證更新相關(guān)文件. 復(fù)制四個補(bǔ)丁, 雖然本安裝中下列補(bǔ)丁未必完全需要, 但為了保持最新資源的完整性和一致性, 請一并復(fù)制, 以方便未來的維護(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 的配置文檔, 此處需要添加多行選項)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
在CentOS5中安裝Qmail 商業(yè)郵件系統(tǒng) 10 / 108