Redhat Enterprise 5.0中安裝Qmail

火星人 @ 2014-03-04 , reply:0


Redhat Enterprise 5.0中安裝Qmail

Linux qmail安裝指南
本文檔全面介紹如何使用qmail在Linux上建造一個高性能的郵件伺服器,如何用Vpopmail實現虛擬的郵件域,如何使用qmailadmin 通過Web頁面方便的管理用戶,如何添加大容量的郵件列表支持,如何實現病毒郵件清除,如何實現中文垃圾郵件過濾,以及如何實現用戶的Web登陸。

我將在linux下安裝qmail分成若干步驟,您只要按照順序完成這些步驟,則可安裝一台基於Linux的qmail郵件伺服器;此套安裝方法已經在 RedHat AS4和Cent OS4下測試通過;希望有時間又有興趣的朋友能夠加入其中,一起完善它,做一套最完善的中文qmail安裝指南,以幫助更多的正在學習qmail的朋友少 走些彎路。

此文所實現的郵件系統功能列表:

SMTP伺服器:SMTP-AUTH認證(Plain,Login,CRAM-MD5),TLS(SSL)支持

POP3伺服器:CRAM-MD5,APOP,和SSL支持

IMAP伺服器:TLS(SSL)支持

郵件病毒清除

郵件附件限制

中文垃圾郵件過濾(最高90%)

自動回復

郵件列表

Web管理

用戶註冊

通過Web顯示統計信息

WebMail

MRTG





安裝前準備:

第一節:安裝引言

1.1 介紹

1.2 什麼是qmail?為什麼選擇qmail?

1.3 何處可得到最新版本

1.4 本指南發展歷史

1.5 參考文章

1.6 免責聲明

1.7 致謝

第二節:安裝qmail前軟體和環境確認

2.1 磁碟空間確認

2.2 檢查DNS設置

2.3 確認系統環境

2.4 設置防火牆

2.5 設置MySQL

2.6 卸載已有的郵件系統

 

安裝郵件系統:

第三節:下載所需要的軟體包

第四節:安裝qmail

第五節:安裝vpopmail

第六節:安裝iGenus(可選)

第七節:安裝iGenus_Admin(可選)

第八節:安裝courier-imap

第九節:安裝SquirrelMail(可選)

第十節:安裝SqwebMail(可選)

第十一節:安裝Wmail(可選)

第十二節:安裝Autorespond&Ezmlm

第十三節:安裝qmailadmin

第 十四節:安裝Vqregister(可選)

第十五節:安裝vQadmin

第十六節:安裝SpamAssassin

第十七節:安裝Clamav

第十八節:安裝MailDrop 和TNEF reader

第 十九節:安裝qmail-scanner&qms-analog

第二十節:安裝qmailAnalog & qlogtools

第二十一節:安裝isoqlog

第二十二節:安裝MRTG

 

測試及維護:

第二十三節:測試

第二十四節:系統維護

第二十五節:FAQ(網上收集)





第一節:安裝引言 TOP

 

1.1 介紹

本指南的目的是幫助你從頭開始建立一個大容量(1000用戶以上)、易管理、易擴充、分散式、用戶界面友好的郵件系統。如果僅僅是為了支持內部網路的很少 用戶,你可以選擇sendmail,甚至是基於NT平台的任何共享的郵件伺服器軟體,它們更加易與操作和設定。作為一種嘗試,當然你也可以選擇本系統,但 是你必須對Linux系統有相當的了解,至少是可以獨立的配置一台Linux網路伺服器。

本文檔並不是簡單的把相關軟體的安裝文檔及FAQ漢化,相反的,本文檔幾乎不包括任何相關軟體的安裝文檔及FAQ,我認為作為一個qmail的使用者,他應該做到以下幾點:

熟悉了所有Dan Bernstein(qmail的作者)發布的文檔;

熟悉錯誤!超鏈接引用無效。

盡量理解Life With qmail;

耐心閱讀所有相關軟體的安裝文檔及FAQ!

qmail是一個非常複雜的系統,儘管它本身非常簡潔。如果你對它的複雜性不夠了解,你可以對照一下Sendmail, qmail就是設計用來取代Sendmail的。儘管qmail的配置要比Sendmail簡單的多,而且通過第三方編程人員的不斷努力,附加的add- on使得qmail更加易於配置和管理,但是它確實是一個非常複雜的系統。它需要你具有豐富的*NIX平台的管理經驗,一旦你能正確的理解qmail,你 就會發現,qmail確實是一個空前優秀的郵件系統。

本文檔想起到一個「粘合劑」的作用,希望能夠幫助qmail用戶迅速實現一個以qmail為核心的大型郵件系統,並希望能夠針對各組件的協調工作問題給出一個可行的解決方案。
本文檔及其所有的附加腳本都已經經過了作者本人N(N>20)遍的測試,如果在你的系統上不能工作或出現異常錯誤,你可以參見第二節:安裝qmail前軟體和環境確認,對於其他的 *NIX 系統,我相信本文檔的基本概念是正確的。
 

1.2 什麼是qmail?為什麼選擇qmail?

qmail是可以完全替代Sendmail-binmail體系的新一代UNIX郵件系統,它也是一個基於UNIX操作系統的Internet郵件傳輸機 構( Internet Mail Transfer Agent 簡稱MTA)。它採用標準的簡單郵件傳輸協議(Simple Mail Transfer Protocol 簡稱SMTP)與Internet上其他MTA交換信息。為了解決用戶郵件存儲問題,qmail提出了Maildir存儲方式,每個郵件作為單獨的一個文 件保存在用戶個人的郵件目錄下,這就避免了加鎖。同時,qmail支持虛擬域(Virtual Domain)和虛擬用戶(Virtual User),使郵件系統的用戶獨立於UNIX系統用戶。與Sendmail相比,qmail有以下優點:

  *安全---- qmail將E-mail處理過程分為多個分過程,盡量避免以Root用戶身份運行。同時qmail也禁止對特權用戶(Root、Deamon等)直接發信。

  *可靠---- qmail的直接投遞保證了E-mail在投遞過程中不會丟失。qmail同時支持新的更可靠的信箱格式――Maildir,保證系統在突然崩潰情況下不至破壞整個信箱。

  * 高效----運行在奔騰的BSD上,qmail每天可以輕鬆地投遞20萬封電子郵件。

  *簡單---- qmail 要比其他的Internet Mail系統小得多。 它通過統一的向前機制完成Forwarding、Alias和Maillist等功能, qmail使用簡單高效隊列來處理投遞。qmail-SMTPD可以由Inetd啟動,節省了一定資源。

 

1.3 何處可得到本指南最新版本?

本文檔最新版本從http://www.xuki.org/可以得到。

 

1.4 本指南的發展歷史?

2.9-2005年4月8日

系統升級成RHEL 4/CentOS4,使用2.6的內核 

補丁和腳本集升級成最新的toaster-scripts-0.7&qmail-toaster-0.7.2

Clamav升級至0.83

qmail-scanner升級至1.25

spamassassin升級至3.0.2,增加及集成中文垃圾郵件過濾和中國反垃圾郵件聯盟實時黑名單服務

vpopmail升級至vpopmail-5.4.10

2.8-2004年11月22日,之前沒有規範的記錄

1.0-2004年10月份,記不太清楚了
1.5 參考文章

Bill's Linux qmail Toaster

Life with qmail

The qmailrocks.org qmail Installation guide

 

1.6 免責聲明

1. 此篇文章僅做參考,如果因為此文所引致的一切後果請自行負責;

2. 本人沒有義務對此文做技術支持,各位如果有疑問請到我的論壇交流。

 

1.7 致謝

作者感謝所有對此文檔及其相關內容提出疑問及報告錯誤的網友,是他們促進了本文檔的完善,使本文檔具有更好的可用性。
《解決方案》

Redhat Enterprise 5.0中安裝Qmail

第二節:安裝qmail前軟體和環境確認 TOP

 

在成功安裝qmail郵件系統之前,請務必確認安裝中所需要的軟體包和相關設置。此節給出一些確認清單,以方便各位朋友在安裝之前進行相關設置的確認。當然不同的系統和伺服器設置方法不一樣,你可能發現有些確認動作沒有列出來;如果各位有需要補充的,請聯絡我改正。



2.1 磁碟空間確認

下面是通常安裝一套系統所需要的空間,根據需求不同空間要求也不一樣。

最保守的磁碟空間必須有80-90MB;這些空間包括下載軟體包和解開軟體包所需要的磁碟空間。 在安裝完成之後,刪除下載的軟體安裝包,郵件服務運行所需要的安全空間15MB 就夠了。

如果你的系統有多個分區:

/ 70MB.

/var 10MB

/home 起動郵件系統3MB夠了,但因為郵件均存放在/home/vpopmail下,要根據實際情況調整



當然像現在硬碟價格這麼低的狀況下,我想硬碟空間不是什麼問題的。



2.2 檢查DNS設置

在開始之前,確保正確設置了DNS MX記錄.例如使用"domain.com"作為郵件域,對MX記錄進行測試:



在Linux下:



host -t mx domain.com

domain.com. mail is handled by 10 mail.domain.com.

host -t a mail.domain.com

mail.domain.com. has address xxx.xxx.xxx.xxx



在Windows下:



C:\>nslookup

Default Server: ns.domain.com

Address: xxx.xxx.xxx.xxx

>set type=mx

>domain.com

domain.com MX preference = 10, mail exchanger = mail.domain.com

mail.domain.com internet address = xxx.xxx.xxx.xxx

>exit



如果你的郵件伺服器是用做公司內部郵件服務,不對外提供服務,此處可略過。



2.3 確認系統環境

確認下面的軟體是否已經安裝:



rpm -q httpd
php
php-mysql
mysql
mysql-server
mysql-devel
gdbm
gdbm-devel
openssl
openssl-devel
stunnel
krb5-devel



如果你還沒有安裝, 請先安裝它們. 你可以到安裝光碟或是在這裡找到它們的RPM包http://www.rpmfind.net.



我的操作系統選擇和安裝包選擇:

操作系統:RedHat EL4/CentOS 4

系統軟體安裝包選擇:

Desktops



Applications



Servers

Web Server:加選php-mysql

Mail Server:加選spamassassin,其它清除

FTP Server:Vsftpd

MySQL Database:加選mysql-bench/mysql-server/php-mysql

Development

Development Tools



SELinux: 像一些setuid程序,比如qmailAdmin, 將不能與SELinux同時工作,你必須在安裝系統的時候關掉SELinux; 如果你已經安裝好了操作系統並開啟SELinux,並希望知道如何關掉它,請參考:

http://www.redhat.com/docs/manuals/e...tion-0068.html



如果要通過yum升級CentOS4系統,則需要導入CentOS4.0:RHEL4的dag

rpm --import http://ftp.riken.jp/Linux/dag/packag...PG-KEY.dag.txt



2.4 設置防火牆

安裝完系統后,修改/etc/httpd/conf/httpd.conf,使web服務正常啟用,為mysql添加root用戶的密碼。如果設置了防火牆,要打開如下埠:

Outbound ports (tcp)

25 - SMTP

110 - POP

143 - IMAP

783 - Spamassassin

993 - IMAPS



Inbound Ports (tcp)

22-SSH

25 - SMTP

80 - HTTP

110 - POP services

143 - IMAP

443 - HTTPS

783 - Spamassassin

993 - IMAPS



2.5 設置MySQL

啟動mysql server:



/etc/rc.d/init.d/mysqld start



設置mysql root口令:



mysqladmin -u root password rosedata-0 (設置你的密碼)



mysql的頭文件和庫文件分別在/usr/include/mysql和/usr/lib/mysql。
《解決方案》

Redhat Enterprise 5.0中安裝Qmail

2.6 卸載已有的郵件系統

確認沒有SMTP/POP/IMAP服務在運行:



/etc/init.d/sendmail stop

netstat -na | grep 25

netstat -na | grep 110

netstat -na | grep 143

service sendmail stop



刪除已有的SMTP/POP/IMAP軟體:



rpm -e --nodeps sendmail







第三節:下載所需要的軟體包 TOP

 

些篇文檔所使用的軟體清冊如下:

qmail C 本文的主角,世界上使用最廣的郵件系統之一。此處使用的是netqmail-1.05的補丁集和shupp.org的Toaster 7.0運行腳本
ucspi-tcp - ucspi-tcp軟體包由一組工具組成。它們用來簡單的建立客戶機-伺服器tcp後台程序
daemontools - 是inetd和winetd的代替品,用它來監聽qmail-send,qmail-smtpd,qmail-pop3d
Vpopmail - 一個以qmail為基礎的虛擬域管理包,其允許在一個IP地址添加多個虛擬域
iGenus - 大麻兄的作品,PHP編寫的Webmail
iGenus_Admin -通過WEB添加域和帳號
Courier-imap -此郵件系統的IMAP模塊
ezmlm C 一個快速,強大的郵件列表程序,可以通過qmailadmin對其進行配置
autorespond C 自動回復程序,可以很好的與qmailadmin配合使用
qmailadmin C 通過WEB管理vpopmail域的極好工具
vqadmin C 通過WEB添加域
SpamAssassin C 垃圾郵件防止,中文垃圾郵件清理就靠它了
Clamav - 一個免費的殺毒軟體,此郵件系統的殺毒模塊
MailDrop C 郵件過濾工具,比較難以使用,但是值得學會它
qmail-scanner C 一個掃描郵件隊列的插件,其調用Clamav和SpamAssassin進行清除郵件病毒和垃圾郵件的動作
qmailanalog C 分析難以理解的qmail日誌,並每晚給出報告
isoqlog - 一個qmail日誌分析工具,可以分析和統計qmail的運行日誌,並生成漂亮的HTML格式的報表
MRTG - 多路由器通信監視器(MRTG)是在網路鏈路上監控通信負載的一件工具

 

為了方便大家使用,我把下文中所提到的軟體打成了一個包,下載地址為:

http://www.xuki.org/qmail_2.9.tar.gz;

大部份的軟體都是用的最新版(2005年4月),我也將會跟蹤軟體的發行來更新些安裝指南。

 

那麼下面讓我們開始安裝必須的軟體:

#創建/home/pkg/目錄

mkdir /home/pkg

cd home



#下載軟體

wget http://www.xuki.org/qmail_2.9.tar.gz



#將軟體解壓縮到目錄中

tar -zvf qmail_2.9.tar.gz



此安裝指南中所使用的軟體包有:

autorespond-2.0.5.tar.gz
clamav-0.83.tar.gz
courier-authlib-0.55.tar.bz2
courier-imap-4.0.2.tar.bz2
daemontools-0.76.errno.patch
daemontools-0.76.tar.gz
ezmlm-0.53.tar.gz
ezmlm-idx-0.42.tar.gz
igenus_2.0.2_20040901_release.tgz
igenus_admin_0.1.tgz
isoqlog-2.1.1.tar.gz
maildrop-1.8.0.tar.bz2
mrtg-2.10.15-1.i386.rpm
netqmail-1.05.tar.gz
perl-Razor-Agent-2.40-2.i386.rpm
perl-suidperl-5.8.5-12.1.1.i386.rpm
qlogtools_errno.patch qlogtools-3.1.tar.gz
qmailadmin-1.2.3.tar.gz
qmailanalog-0.70.errno.patch
qmailanalog-0.70.tar.gz
qmailmrtg7-4.0.tar.gz
qmail-scanner-1.25.tgz
qmail-toaster-0.7.2.patch.bz2
qms-analog-0.4.2.tar.gz
spamassassin-3.0.2-2.1.el3.rf.i386.rpm
squirrelmail-1.4.4.tar.gz
sqwebmail-5.0.1.tar.bz2
tnef-1.2.3.1.tar.gz
toaster-scripts-0.7.tar.gz
ucspi-tcp-0.88.errno.patch
ucspi-tcp-0.88.tar.gz
vpopmail-5.4.10.tar.gz
vqadmin-2.3.6.tar.gz
vqregister-2.6.tar.gz



#解壓縮netqmail-1.05.tar.gz

 

chmod 755 -R pkg

cd pkg

tar -xzf netqmail-1.05.tar.gz

cd netqmail-1.05

./collate.sh



注意:./collate.sh這一步不要忘







第四節:安裝qmail TOP

 

除非你確實熟悉各個軟體和系統結構,否則請按照如下步驟一步一步安裝軟體,此文將引導你安裝一套完整的郵件系統。這個安裝過程基本上你只需要複製粘貼就可以完成。

 

安裝daemontools

daemontools是一個收集管理UNIX進程的工具.用它來監聽qmail-send,qmail-smtpd,qmail-pop3d.

參考:http://cr.yp.to/daemontools.html



#安裝:

cd /home/pkg

tar -zxvf daemontools-0.76.tar.gz

cd admin/daemontools-0.76

patch -p1 < /home/pkg/netqmail-1.05/other-patches/daemontools-0.76.errno.patch

package/install



# 驗證daemontools已經正常運行:

sleep 5

ps ax | grep svscan



安裝ucspi-tcp

ucspi-tcp軟體包由一組工具組成。它們用來簡單的建立客戶機-伺服器tcp後台程序。TcpServer是一個比inetd安全性更好的選擇。它 內建有基於規則的連接控制,能完善地在達到預定義的最大系統負載時將連接推遲,這點比 inetd好。Tcpserver也被推薦與qmail一同使用,因為它們是同一個作者編的程序。

參考:http://cr.yp.to/ucspi-tcp.html



#安裝:

cd /home/pkg

tar zxvf ucspi-tcp-0.88.tar.gz

cd ucspi-tcp-0.88

patch -p1 < ../ucspi-tcp-0.88.errno.patch

make

make setup check



安裝qmail

參考:http://www.qmail.org

http://www.lifewithqmail.org/



這個toaster補丁,是下面這幾個補丁的組合:

smtp auth (SMTP認證)

spf (發信人DNS檢查)

qmail-queue (如果要使用病毒掃描引擎則需要這個補丁)

maildir++ patch

support oversize dns packets (not necessary if you use dnscache)

chkuser (檢查本地vpopmail用戶表,信頭的語法,這個補丁需要在安裝vpopmail后被安裝。)

spam throttle

qregex (匹配badmailfrom和badmailto文件里的規則)

big concurrency (set the spawn limit above 255)



#安裝:

#創建所需要的用戶

mkdir /var/qmail

groupadd nofiles

useradd alias -g nofiles -d /var/qmail/alias -s /sbin/nologin

useradd qmaild -g nofiles -d /var/qmail -s /sbin/nologin

useradd qmaill -g nofiles -d /var/qmail -s /sbin/nologin

useradd qmailp -g nofiles -d /var/qmail -s /sbin/nologin

groupadd qmail

useradd qmailq -g qmail -d /var/qmail -s /sbin/nologin

useradd qmailr -g qmail -d /var/qmail -s /sbin/nologin

useradd qmails -g qmail -d /var/qmail -s /sbin/nologin



#順便添加vpopmail用戶

groupadd vchkpw -g 89

useradd vpopmail -u 89 -g vchkpw



#準備安裝qmail

cd /home/pkg

tar -xzf toaster-scripts-0.7.tar.gz

cd netqmail-1.05/netqmail-1.05/



# 搜索函數straynewline中的451改為553

vi qmail-smtpd.c

# 當你的伺服器收到無效格式的郵件時,會發送:"I am not going to accept that message at the moment,you can try again later",對方伺服器收到后,幾秒鐘后又會發送同樣的郵件給你,造成多次的重複。

# 改為553后,你的伺服器將直接發送:"I am not going to accept that message,don't try sending it again.",告訴對方的伺服器不要再發這封無效的信件。



# RedHat/Fedora用戶可能需要為TLS補丁鏈接一個include文件

# 輸入如下命令:

ln -s /usr/kerberos/include/com_err.h /usr/include/



# 刪除sendmail的鏈接

rm -rf /usr/sbin/sendmail



#qmail編譯安裝

make

make setup check

#註:qmail的補丁在vpopmail安裝之後再打。



# 用你自己的主機名代替下面的mail.domain.com

./config-fast mail.domain.com



#設置管理員的郵箱地址。

#發往root/postmaster/mailer-daemon地址的郵件將會由定義的管理員郵箱接收。

#將如下的「admin@domain.com"替換成你的管理員郵箱。

cd /var/qmail/alias

echo "admin@domain.com" > .qmail-postmaster

echo "admin@domain.com" > .qmail-mailer-daemon

echo "admin@domain.com" > .qmail-root

chmod 644 /var/qmail/alias/.qmail*
《解決方案》

Redhat Enterprise 5.0中安裝Qmail

#開啟SPF設置

echo ./Maildir/ >/var/qmail/control/defaultdelivery

echo 3 > /var/qmail/control/spfbehavior



#添加qmail的幫助手冊

echo MANPATH /var/qmail/man >> /etc/man.config



#為qmail服務建立監控目錄和日誌文件:

mkdir -p /var/qmail/supervise/qmail-send/log

mkdir -p /var/qmail/supervise/qmail-smtpd/log

mkdir -p /var/qmail/supervise/qmail-pop3d/log

mkdir -p /var/qmail/supervise/qmail-pop3ds/log

cp /home/pkg/toaster-scripts-0.7/send.run /var/qmail/supervise/qmail-send/run

cp /home/pkg/toaster-scripts-0.7/send.log.run /var/qmail/supervise/qmail-send/log/run

cp /home/pkg/toaster-scripts-0.7/smtpd.run /var/qmail/supervise/qmail-smtpd/run

cp /home/pkg/toaster-scripts-0.7/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run

cp /home/pkg/toaster-scripts-0.7/pop3d.run /var/qmail/supervise/qmail-pop3d/run

cp /home/pkg/toaster-scripts-0.7/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run

cp /home/pkg/toaster-scripts-0.7/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run

cp /home/pkg/toaster-scripts-0.7/pop3ds.log.run /var/qmail/supervise/qmail-pop3ds/log/run

echo 20 > /var/qmail/control/concurrencyincoming

chmod 644 /var/qmail/control/concurrencyincoming

chmod 755 /var/qmail/supervise/qmail-send/run

chmod 755 /var/qmail/supervise/qmail-send/log/run

chmod 755 /var/qmail/supervise/qmail-smtpd/run

chmod 755 /var/qmail/supervise/qmail-smtpd/log/run

chmod 755 /var/qmail/supervise/qmail-pop3d/run

chmod 755 /var/qmail/supervise/qmail-pop3d/log/run

chmod 755 /var/qmail/supervise/qmail-pop3ds/run

chmod 755 /var/qmail/supervise/qmail-pop3ds/log/run

mkdir -p /var/log/qmail/smtpd

mkdir -p /var/log/qmail/pop3d

mkdir -p /var/log/qmail/pop3ds

chown -R qmaill /var/log/qmail



#啟動腳本:

cd /home/pkg

cp toaster-scripts-0.7/rc /var/qmail/rc

chmod 755 /var/qmail/rc

cp toaster-scripts-0.7/qmailctl /var/qmail/bin/

chmod 755 /var/qmail/bin/qmailctl

ln -s /var/qmail/bin/qmailctl /usr/bin

ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

rm -rf /usr/lib/sendmail

ln -s /var/qmail/bin/sendmail /usr/lib/sendmail



# 用daemontools來啟動qmail-send和qmail-smtpd

ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service



#命令:

# 啟動,停止,重啟,查看隊列等

qmailctl start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help



# 檢查服務

netstat -an | grep 25

ps -ef | grep qmail

ps -efl | grep "service errors" | grep -v grep

 



#日誌:

/var/log/maillog

/var/log/qmail/current

/var/log/qmail/pop3d/current

/var/log/qmail/pop3ds/current

/var/log/qmail/smtpd/current



我建議重新回顧一下剛才我們所做的步驟以熟悉對qmail的安裝. 下面我們將開始vpopmail的安裝.





第五節:安裝vpopmail TOP

 

vpopmail是一個以qmail為基礎的虛擬域管理包;其允許在一個IP地址添加多個虛擬域;並且可以不需要使用系統帳號做郵件帳號。

參考:http://vpopmail.sf.net



#創建目錄:

mkdir -p /home/vpopmail/etc



# 設置默認域,紅色部份改成你要設置的域。

echo "domain.com" > /home/vpopmail/etc/defaultdomain



# 設置smtp規則,關閉open relays

echo '127.0.0.1:allow,RELAYCLIENT=""' > /home/vpopmail/etc/tcp.smtp

cd /home/vpopmail/etc ; tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp



# 設置MySQL信息,第一個vpopmail是帳號,xukixu為密碼,第二個vpopmail是資料庫

echo "localhost|0|vpopmail|xukixu|vpopmail" > /home/vpopmail/etc/vpopmail.mysql

chmod 640 /home/vpopmail/etc/vpopmail.mysql

chown -R vpopmail.vchkpw /home/vpopmail/etc



# 在MySQL里添加vpopmail的帳號

mysql -uroot -pxukixu



CREATE DATABASE vpopmail;

GRANT select,insert,update,delete,create,drop ON vpopmail.*

TO vpopmail@localhost IDENTIFIED BY 'xukixu';

FLUSH PRIVILEGES;

QUIT



#安裝:

cd /home/pkg/

tar zxvf vpopmail-5.4.10.tar.gz

cd vpopmail-5.4.10



# 帶資料庫支持



./configure --enable-incdir=/usr/include/mysql --enable-libdir=/usr/lib/mysql --disable-roaming-users --enable-logging=p --disable-passwd --enable-clear-passwd --disable-domain-quotas --enable-auth-module=mysql --enable-auth-logging --enable-sql-logging --disable-valias --disable-mysql-limits --enable-learn-passwords



make

make install-strip



#管理:

echo 'export PATH=$PATH:/home/vpopmail/bin' >> /etc/profile

source /etc/profile



# 添加域,紅色部份前面是域名,後面是管理員(postmaster)密碼

vadddomain domain.com xukixu



# 添加用戶,紅色部份為註解,不用輸入

vadduser -q 10485760S(郵箱大小) xukixu@domain.com(郵箱帳號) 1234(密碼)

vmoduser -c 許靖(郵箱描述) xukixu@domain.com
《解決方案》

Redhat Enterprise 5.0中安裝Qmail

# 設置郵箱容量達到90%的警告信息

vi /home/vpopmail/domains/.quotawarn.msg



From: 郵箱管理員

Reply-To: postmaster@domain.com

To: 郵箱用戶

Subject: 郵箱空間警告

Mime-Version: 1.0

Content-Type: text/html; charset=gb2312

Content-Transfer-Encoding: base64



您的郵箱空間已經達到90%.如果想繼續使用,請刪除一些信件.

如果需要幫助,請聯繫郵箱管理員:

Email : postmaster@domain.com





# 設置郵箱已滿的警告信息

echo "郵件被拒絕,用戶的郵箱空間已滿." > /home/vpopmail/domains/.over-quota.msg



#啟動腳本:

cp /home/pkg/toaster-scripts-0.7/vpopmailctl /var/qmail/bin

ln -s /var/qmail/bin/vpopmailctl /usr/bin

chmod 755 /var/qmail/bin/vpopmailctl



#現在打上qmail的補丁:

cd /home/pkg/netqmail-1.05/netqmail-1.05

bunzip2 -c /home/pkg/qmail-toaster-0.7.2.patch.bz2 | patch -p0

make clean

make

qmailctl stop

make setup check

chown -R vpopmail:vchkpw /var/qmail/spam



#創建SSL Key



make cert

#按提示輸入公司信息

# make cert

Generating a 1024 bit RSA private key

.............++++++

...............++++++

writing new private key to '/var/qmail/control/servercert.pem'

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) :CN

State or Province Name (full name) :GD

Locality Name (eg, city) :SZ

Organization Name (eg, company) :Domain

Organizational Unit Name (eg, section) []:Domain

Common Name (eg, your name or your server's hostname) []:domain.com

Email Address []:xukixu@domain.com



make tmprsadh

#注:這裡可能要多等一會



chown -R vpopmail:qmail /var/qmail/control/clientcert.pem /var/qmail/control/servercert.pem



# 用"crontab -e"在crontab里增加下面這條,每天晚上更新temp keys

01 01 * * * /var/qmail/bin/update_tmprsadh > /dev/null 2>&1



#起動qmail

qmailctl start



# 用daemontools來啟動qmail-pop3d和qmail-pop3ds

ln -s /var/qmail/supervise/qmail-pop3d /service

ln -s /var/qmail/supervise/qmail-pop3ds /service



#命令:



# 啟動,停止,重啟,查看隊列等

vpopmailctl start|stop|restart|stat|pause|cont|help



# 檢查服務

netstat -an | grep 110

ps -ef | grep qmail

ps -efl | grep "service errors" | grep -v grep

 



安裝選項參考:

vpopmail 5.4.10

Current settings

---------------------------------------



vpopmail directory = /home/vpopmail

uid = 89

gid = 89

roaming users = OFF --disable-roaming-users (default)

password learning = ON --disable-learn-passwords (default)

md5 passwords = ON --enable-md5-passwords (default)

file locking = ON --enable-file-locking (default)

vdelivermail fsync = OFF --disable-file-sync (default)

make seekable = ON --enable-make-seekable (default)

clear passwd = ON --enable-clear-passwd (default)

user dir hashing = ON --enable-users-big-dir (default)

address extensions = OFF --disable-qmail-ext (default)

ip alias = OFF --disable-ip-alias-domains (default)

domain quotas = OFF --disable-domainquotas (default)

auth module = mysql --enable-auth-module=mysql

mysql replication = OFF --disable-mysql-replication (default)

sql logging = ON --enable-sql-logging

mysql limits = OFF --disable-mysql-limits (default)

MySQL valias = OFF --disable-valias (default)

auth inc = -I/usr/include/mysql

auth lib = -L/usr/lib/mysql -lmysqlclient -lz -lm

system passwords = OFF --disable-passwd (default)

pop syslog = show failed attempts with clear text password

--enable-logging=p

auth logging = ON --enable-auth-logging (default)

all domains in one SQL table = --enable-many-domains (default)



#POP3和SMTP測試

用outlook測試qmail的smtp和pop3是否正常,注意由於vpopmail支持虛擬域名,所以在outlook中設置郵件帳號時,用戶名后 要加上域名,如demo@demo.com。smtp是帶認證的,在outlook中也要作相應設置。建議先測試正常后再進行下一步安裝。如果qmail 出現問題,可查看mysql中的vpopmail資料庫,/var/log下的mysqld和maillog日誌記錄,這樣容易很快找出問題。
《解決方案》

Redhat Enterprise 5.0中安裝Qmail

第六節:安裝iGenus(可選) TOP

 

iGENUS 不是一套獨立的郵件系統,只是一個 Webmail 介面,需要配合 qmail+vpopmail+Mysql 使用。iGENUS 是由 PHP 寫成,採用直接對 qmail 的 Maildir 進行讀寫操作,因而比 IMAP/POP 方式更快一點。

參考:http://www.igenus.org



#安裝:

cd /home/pkg

tar zxvf igenus_2.0.2_20040901_release.tgz -C /var/www/

cd /var/www/

rm -rf html/

mv igenus html



#建temp文件夾

mkdir /tmp/temp

chmod -R 0755 /tmp/temp

chown -R vpopmail:vchkpw /tmp/temp



mkdir /home/netdisk

chmod -R 0755 /home/netdisk

chown -R vpopmail:vchkpw /home/netdisk



chmod -R 0755 /var/www/html/

chown -R vpopmail:vchkpw /var/www/html/





#修改httpd.conf

vi /etc/httpd/conf/httpd.conf



User vpopmail

Group vchkpw

DocumentRoot "/var/www/html/"



AddDefaultCharset GB2312 //使默認頁面為中文



/etc/rc.d/init.d/httpd restart //重啟apache,使修改生效



#修改config_inc.php文件

cd /var/www/html/config

vi config_inc.php



$CFG_BASEPATH = "/var/www/html/"; \\改成你安裝的目錄



$CFG_MYSQL_HOST = 'localhost';

$CFG_MYSQL_USER = 'vpopmail'; \\vpopmail訪問mysql的帳號

$CFG_MYSQL_PASS = 'xukixu'; \\vpopmail訪問mysql的密碼

$CFG_MYSQL_DB = 'vpopmail'; \\資料庫



$CFG_TEMP = "/tmp/temp"; \\刪除$CFG_BASEPATH,並修改路徑





#重新編製Mysql資料庫表格



#刪除之前創建的域名

vdeldomain domain.com



#編輯資料庫:

mysql -uroot -pxukixu



use vpopmail;

drop table lastauth;

drop table vpopmail;

quit;



#編輯/var/www/html/docs/iGENUS.sql



vi /var/www/html/docs/iGENUS.sql



# phpMyAdmin SQL Dump

# version 2.5.3

# http://www.phpmyadmin.net

#

# Host: localhost

# Generation Time: Jun 04, 2004 at 11:26 AM

# Server version: 3.23.55

# PHP Version: 4.3.0

#

# Database : `vpopmail`

#



# --------------------------------------------------------



#

# Table structure for table `address`

#



use vpopmail; //加入這一行

CREATE TABLE `address` (

`id` int(11) unsigned NOT NULL auto_increment,

`pw_id` int(5) NOT NULL default '0',

`name` varchar(64) NOT NULL default '',

`email` varchar(128) NOT NULL default '',

UNIQUE KEY `id` (`id`),

KEY `pw_id` (`pw_id`)

) TYPE=MyISAM PACK_KEYS=1 ;



# --------------------------------------------------------

。。。。。。。。。

。。。。。。。。。。





CREATE TABLE `vpopmail` (

`pw_id` int(5) unsigned NOT NULL auto_increment,

`pw_name` varchar(32) NOT NULL default '',

`pw_domain` varchar(64) NOT NULL default '',

`pw_passwd` varchar(40) NOT NULL default '',

`pw_uid` int(11) default NULL,

`pw_gid` int(11) default NULL,

`pw_gecos` varchar(48) default NULL,

`pw_dir` varchar(255) default NULL,

`pw_shell` varchar(20) default NULL,

`pw_clear_passwd` varchar(16) default NULL, \\加入這一行

`createtime` timestamp(14) NOT NULL,

PRIMARY KEY (`pw_id`),

KEY `pw_name` (`pw_name`,`pw_domain`)

) TYPE=MyISAM PACK_KEYS=1 ;



#運行如下命令導入數據表

mysql -uroot -pxukixu



#設置igenus 定義允許上傳下載的郵件的大小

#編輯/etc/php.ini

vi /etc/php.ini



max_execution_time=60

memory_limit=20M

post_max_size = 10M

file_uploads=on

upload_max_filesize=10M

register_globals=On

session.bug_compat_42=0

session.bug_compat_warn=0

sendmail_path = /var/qmail/bin/qmail-inject



#編輯/etc/http/conf/httpd.conf

vi /etc/httpd/conf/httpd.conf



AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

DirectoryIndex index.php index.html

NameVirtualHost *:80



ServerName mail.domain.com

DocumentRoot /var/www/html





chmod 777 /var/lib/php/session/ -R



#重啟apache:

service httpd restart



#如果需要,用vadddomain和vadduser添加新域名和新用戶。



最後打開瀏覽器,輸入http://domain.com/,就可以訪問網站了。





第七節:安裝iGenus_Admin(可選) TOP

 

一個基於Web的vpopmail域和帳號管理工具。

參考:http://www.igenus.org



#安裝

cd /home/pkg

tar -xzvf igenus_admin_0.1.tgz -C /var/www/html/



#設置



vi /var/www/html/admin/includes/config_inc.php




/*-

* iGENUS webmail

*

* Copyright (c) 1999-2002 by iGENUS Org.

* All rights reserved.

* Author: Wu Qiong

*

* $Id: config_inc.php,v 1.11 2004/03/23 13:59:12 wuqiong Exp $

*/



if(!defined("INCLUDE_CONFIG_OK")) {

define("INCLUDE_CONFIG_OK","TRUE");



/* gid flags defind by vpopmail.h */



// define('NO_PASSWD_CHNG',0x01);

define('NO_POP', 0x02);

define('NO_WEBMAIL', 0x04);

// define('NO_IMAP', 0x08);

// define('BOUNCE_MAIL', 0x10);

// define('NO_RELAY', 0x20);

// define('NO_DIALUP', 0x40);

// define('V_USER0', 0x080);

// define('V_USER1', 0x100);

// define('V_USER2', 0x200);

// define('V_USER3', 0x400);

define('NO_SMTP', 0x800);

// define('QA_ADMIN', 0x1000);



$CFG_VPOPMAIL_HOST = "localhost";

$CFG_VPOPMAIL_USER = "vpopmail"; \\改為你的帳號

$CFG_VPOPMAIL_PASS = "xukixu"; \\改為你的密碼

$CFG_VPOPMAIL_DB = "vpopmail";

$CFG_VPOPMAIL_TABLE = "vpopmail";

$CFG_ADMIN_TABLE = "admin";

$CFG_LAGESITE = true;

$CFG_NUMOFPAGE = 20;



$CFG_MAILBOX['inbox'] = ".";

$CFG_MAILBOX['outbox'] = ".Outbox";

$CFG_MAILBOX['draft'] = ".Draft";

$CFG_MAILBOX['trash'] = ".Trash";



$CFG_VPOPMAIL_PATH = "/home/vpopmail"; \\改為你的vpopmail安裝目錄 

// $CFG_VPOPMAIL_PATH = "/home2/vpopmail";



$CFG_SYSADMIN_NAME = "Admin";

$CFG_SYSADMIN_PASSWD= '$1$GvmONIco$0SwBB.mEoP3KJ5Zda7ioV0';



$CFG_SYSADMIN_PASSWD_FILE = $CFG_VPOPMAIL_PATH . "/etc/syspasswd.dat";

$CFG_TIMEOUT = 600;



$CFG_IGENUS_ADM = "iGENUS郵件系統管理";



$CFG_TEMPLATE_PATH = "template/";

}

?>



#保存退出

touch /etc/syspasswd.dat

chown -R vpopmail.vchkpw /var/www/html

chmod -R 755 /var/www/html



#登錄設置頁面

http://domain.com/admin/sys/

用戶:Admin密碼Admin來登錄.注意A要大寫..這個管理帳號密碼登錄后可以改的



登錄后,首先點"更新資料庫"你就會看見你的域名.然後點"編輯"把"登錄許可權 該域管理員(Postmaster)有權登錄進行用戶管理"這一項打勾,確認后,就可以用

http://domain.com/admin/

來登錄管理了。







第八節:安裝courier-imap TOP

 

Courier-IMAP支持IMAP/SIMAP訪問

參考:http://www.inter7.com/courierimap



courier-imap 從 4版本開始,把 courier-authlib 獨立出來了,需要先安裝 courier-authlib. 具體步驟:

cd /home/pkg

tar -xjvf courier-authlib-0.55.tar.bz2

cd courier-authlib-0.55

./configure --prefix=/usr/local --exec-prefix=/usr/local --with-authvchkpw --without-authldap --without-authmysql --disable-root-check --with-ssl --with-authchange pwdir=/usr/local/libexec/authlib --with-redhat

make

make install

make install-configure

#修改設置文件:/usr/local/etc/authlib/authdaemonrc,去掉不需要的認證模式,只留vchkpw方式,然後認證進程改成2個



#完成後啟動它:

/usr/local/sbin/authdaemond start

#需要把這個腳本放到/etc/init.d, 然後在/etc/rc3.d 或/etc/rc5.d做一個符號連接,以便系統啟動時自動運行。



#啟動后,在內存中可以看到2個authlib進程:

ps -aef |grep authlib

root 20108 20107 0 Jan28 ? 00:00:00 /usr/local/libexec/courier-authlib/authdaemond

root 20109 20108 0 Jan28 ? 00:00:00 /usr/local/libexec/courier-authlib/authdaemond

 

#這裡可以想辦法把運行身份改成vpopmail,畢竟用root運行,如果出現問題影響範圍會大很多。

#測試是否正常:

運行/usr/local/sbin/authtest:(紅字為輸入內容,後面的1121221應該是pop3密碼,後面部分應該是命令結果)

authtest xukixu@domain.com 1121221

Authenticated: xukixu@domain.com (uid 509, gid 509)

Home Directory: /var/vpopmail/domains/domain.com/xukixu

Maildir: (none)

Quota: (none)

Encrypted Password: $1$LJjMeeeeqqeqF9VWUywtLV/O5ciqeg.

Cleartext Password: xukixu

Options: disablewebmail=0,disablepop3=0,disableimap=0

#出現上面的提示就是說authlib運行正常



#下面來安裝courier-imap

cd /home/pkg

tar -xjf courier-imap-4.0.2.tar.bz2

cd courier-imap-4.0.2

# 作為vpopmail用戶進行安裝

chown -R vpopmail:vchkpw ../courier-imap-4.0.2

su vpopmail

./configure --with-redhat

# 注:Redhat用戶需要使用"--with-redhat"選項

make

exit

make install-strip

make install-configure

cp courier-imap.sysvinit /etc/rc.d/init.d/courier-imap

chmod 755 /etc/rc.d/init.d/courier-imap

chkconfig --add courier-imap

#配置:

# 修改文件/usr/lib/courier-imap/etc/authdaemonrc,如果沒有,則鏈接/usr/local/etc/authlib/authdaemonrc

authmodulelist="authvchkpw"

# 修改文件/usr/lib/courier-imap/etc/imapd ,pop3d

IMAPDSTART=YES

# 修改文件/usr/lib/courier-imap/etc/imapd-ssl ,pop3d-ssl

IMAPDSSLSTART=YES

# 修改文件/usr/lib/courier-imap/etc/imapd.cnf

CN=domain.com

emailAddress=postmaster@domain.com

# 修改文件/usr/lib/courier-imap/etc/pop3d.cnf

CN=domain.com

emailAddress=postmaster@domain.com

#啟動:

/etc/rc.d/init.d/courier-imap start

#使用outlook測試一下IMAP是否正常





第九節:安裝SquirrelMail(可選) TOP

 

SquirrelMail 是一個PHP編寫的IMAP客戶端,在安裝SquirrelMail之前,要確保你的IMAP正常運行。



參考: http://www.squirrelmail.org/





#安裝



cd /home/pkg

tar -xzvf squirrelmail-1.4.4.tar.bz

cd squirrelmail-1.4.4

cd plugins

tar -xzf ../../quota_usage-1.3-1.2.7.tar.gz

cp quota_usage/config.php.sample quota_usage/config.php

cd ../

./configure

# 你將要設置如下選項



#選擇 「2. Server Settings」=>「A. Update IMAP Settings」=>「8. Server software」改成「courier」;回到主菜單,選擇「4.General Options」=>「1. Data Directoryand」改成「/var/www/data/」;再退回主菜單,選擇「8. Plugins」=>添加你希望用到的插件。回到主菜單,選擇「10. Languages」,將「 Default Language」改成「zh_CN」,「Default Charset」改成「GB2312」。保存退出。

mv data /var/www/

chown -R vpopmail.vchkpw /var/www/data

cd ../

mv squirrelmail-1.4.4 /var/www/html/squirrelmail

 

#登錄http://domain.com/squirrelmail 驗證是否安裝成功。
《解決方案》

Redhat Enterprise 5.0中安裝Qmail

第十節:安裝SqwebMail(可選) TOP

 

Sqwebmail同SquirrelMail一樣,也是一個基於IMAP客戶端的webmail,在安裝它之前,同樣要確保IMAP服務運行正常.

參考:www.courier-mta.org/sqwebmail/  

安裝sqwebmail后,如果希望在webmail上直接修改密碼,則需要安裝如下兩個RPM包:

cd /home/pkg
rpm -Uvh expect-5.42.1-1.i386.rpm tcl-8.4.7-2.i386.rpm

#下面開始安裝sqwebmail

cd /home/pkg
tar -xjvf sqwebmail-5.0.1.tar.bz2
cd sqwebmail-5.0.1

./configure --enable-webpass=vpopmail --enable-softtimeout=300 --enable-autopurge=10 --enable-maxpurge=30 --enable-mimecharset=gb2312 --with-maxargsize=5000000 --with-maxformargsize=5000000 --with-maxmsgsize=5000000 --without-ispell --without-authshadow --without-authmysql --without-authldap --without-authuserdb --without-authpwd --without-authpam --with-authvchkpw --without-authdaemon --enable-unicode --enable-hardtimeout=14400 --enable-softtimeout=3600 --enable-webpass=yes  

make configure-check
umask 220
make
make check
make install-strip
make install-configure

#完成後,啟動腳本在/usr/local/sqwebmail/libexec/sqwebmaild.rc,要把它放到/etc/init.d,並且讓他啟動時運行

/usr/lib/sqwebmail/libexec/sqwebmaild.rc start
su -c "/usr/lib/sqwebmail/share/sqwebmail/cleancache.pl"  

cp /usr/lib/sqwebmail/libexec/sqwebmaild.rc /etc/init.d/sqwebmaild
chmod 755 /etc/init.d/sqwebmaild  

ln -s /etc/init.d/sqwebmaild /etc/rc.d/rc3.d/S89sqwebmaild
ln -s /etc/init.d/sqwebmaild /etc/rc.d/rc5.d/S89sqwebmaild  

#用"crontab -e"在crontab里增加下面這條,定時清除cache

crontab -e

*/30 * * * *su -c "/usr/lib/sqwebmail/share/sqwebmail/cleancache.pl"

#登錄http://domain.com/cgi-bin/sqwebmail 驗證是否安裝成功。



 







第十一節:安裝Wmail(可選) TOP

 

Wmail其實就是sqwebmail,只不過作者進行了一下漢化和修改了HTML模板而已.







第十二節:安裝Autorespond&Ezmlm TOP

 

autorespond是一個自動回復工具,可以很好的與qmailadmin配合使用



#安裝:



cd /home/pkg

tar -xvzf autorespond-2.0.5.tar.gz

cd autorespond-2.0.5

make

make install





安裝Ezmlm

exmlm是一個快速,強大的郵件列表程序,可以通過qmailadmin對其進行配置



#安裝:



cd /home/pkg

tar -xvzf ezmlm-0.53.tar.gz

tar -xvzf ezmlm-idx-0.42.tar.gz

cp -rf ezmlm-idx-0.42/* ezmlm-0.53/

cd ezmlm-0.53

patch < idx.patch

chmod u+x makelang

make

make man



#漢字GB2312支持

make ch_GB

make setup







第十三節:安裝qmailadmin TOP



qmailadmin除了不能添加刪除虛擬域外,幾乎可以完成所有的虛擬域管理



#安裝:



cd /home/pkg

tar -xvzf qmailadmin-1.2.3.tar.gz

cd qmailadmin-1.2.3



./configure --enable-htmldir=/var/www/html --enable-cgibindir=/var/www/cgi-bin --enable-vpopuser=vpopmail --enable-autoresponder-bin=/usr/bin --disable-ezmlm-mysql --enable-maxusersperpage=20 --enable-maxaliasesperpage=20 --enable-modify-quota --enable-domain-autofill



make

make install-strip

cd /usr/local/share/qmailadmin/lang

mv en en.bak

cp zh-cn en



安裝選項參考:



qmailadmin 1.2.3

Current settings

---------------------------------------

cgi-bin dir = /var/www/cgi-bin

html dir = /var/www/html

image dir = /var/www/html/images/qmailadmin

image URL = /images/qmailadmin

template dir = /usr/local/share/qmailadmin

qmail dir = /var/qmail

vpopmail dir = /home/vpopmail

autorespond dir = /usr/bin

ezmlm dir = /var/qmail/bin/ezmlm

ezmlm idx = yes

mysql for ezmlm = no

help = no

modify quota = yes

domain autofill = yes

modify spam check = no
《解決方案》

Redhat Enterprise 5.0中安裝Qmail

第十四節:安裝Vqregister(可選) TOP

 

vqregister是vqsignup的升級版本,提供qmail郵箱註冊功能。

#解壓縮

cd /home/pkg
tar zxvf vqregister-2.6.tar.gz

#進入vqregister-2.6安裝目錄

cd vqregister-2.6

#修改安裝配置文件Makefile

vi Makefile

#找到這幾行

DEFS = -I$(VDIR)/include -I/usr/local/mysql/include
LIBS = -L$(VDIR)/lib -lvpopmail -lcrypt -L/usr/local/mysql/lib/mysql -lmysqlclient

INSTALL_DIR = /usr/local/apache/cgi-bin/vqregister


#將它們改成實際路徑,這裡是

DEFS = -I$(VDIR)/include -I/usr/include/mysql
LIBS = -L$(VDIR)/lib -lvpopmail -lcrypt -L/usr/lib/mysql -lmysqlclient

INSTALL_DIR = /var/www/cgi-bin/vqregister

#編譯安裝

make all install clean

#安裝完成後需要編輯vqregister的配置文件

cd /var/www/cgi-bin/vqregister
vi vqregister.conf

#修改下面幾項

# 設置管理信息
AdminEmail postmaster@domain.com
# 設置郵箱使用的域名
AllowDomain domain.com
#RegisterUser vQregister

# 設置資料庫選項

DB_Name vpopmail

DB_User vpopmail

DB_Password xukixumysql

#其它項目可根據註釋修改,不改也行,直接保存即可。

#可以根據需要修改vqregister.email,此文件為用戶註冊后發送給用戶的郵件。

#/var/www/cgi-bin/vqregister/html中的文件為vqregister的網頁模板,可根據需要漢化和修改。

#測試vqregister:

#在瀏覽器地址欄輸入http://domain.com/cgi-bin/vqregister/vqregister.cgi ,按要求添入註冊信息,提交后顯示註冊成功信息,證明你的vqregister安裝成功!如果出現錯誤,請按提示檢查註冊信息或檢查vqregister.conf文件。







第十五節:安裝vQadmin TOP



vqadmin是一個基於web 的控制通道. 它允許系統管理員可以執行root用戶才能進行的操作.



#安裝

cd /home/pkg

tar -zxf vqadmin-2.3.6.tar.gz

cd vqadmin-2.3.6



vi db_owner.c



static const char *host="localhost";

static const char *user="vpopmail";

static const char *passwd="xukixu"; /* NULL for no password */

static const char *db="vpopmail";



./configure

make

make install



#現在我們需要將下面幾行添加到httpd.conf文件中:

vi /etc/httpd/conf/httpd.conf

PHP 代碼:
<Directory "/var/www/cgi-bin/vqadmin">

deny from all

Options ExecCGI

AllowOverride AuthConfig

Order deny,allow

</Directory>  


#保存文件並退出.

cd /var/www/cgi-bin/vqadmin

chown nobody .htaccess

chmod 600 .htaccess



# 創建一個管理帳號及密碼

htpasswd -bc /etc/httpd/conf/vqadmin.passwd admin(帳號) adminpass(密碼)



chown vpopmail.vchkpw /etc/httpd/conf/vqadmin.passwd

chmod 644 /etc/httpd/conf/vqadmin.passwd

chown -R vpopmail.vchkpw /var/www/cgi-bin



#編輯.htaccess

vi .htaccess



AuthType Basic

AuthUserFile /etc/httpd/conf/vqadmin.passwd

AuthName vQadmin

require valid-user

satisfy any



#重啟Apache

service httpd restart



在你的瀏覽器上測試一下安裝結果:

http://www.domain.com/cgi-bin/vqadmin/vqadmin.cgi
《解決方案》

Redhat Enterprise 5.0中安裝Qmail

第十六節:安裝SpamAssassin TOP



Spam是一個讓人討厭的字眼. 大部分的人都不喜歡它. 如果你想保護自己免受spam, 你就需要安裝SpamAssassin.

因我在安裝系統的時候已經選擇好了SpamAssassin。現在我們將其升級到最新版:

cd /home/pkg

rpm -Uvh spamassassin-3.0.2-2.1.el3.rf.i386.rpm

 

還需要安裝另外一個軟體包:

rpm -Uvh perl-Razor-Agent-2.40-2.i386.rpm

 

#修改起動腳本使spamassassin支持vpopmail

#修改如下一行:

vi /etc/init.d/spamassassin

SPAMDOPTIONS="-d -c -m5 -H -x -u spamd -v"

vi /etc/sysconfig/spamassassin

SPAMDOPTIONS="-d -c -m5 -H -x -u spamd -v"

下圖是我在安裝SpamAssassin時所列出的perl模塊,SpamAssassin所要用到的一些Perl模塊是:

 

perl-Time-HiRes

perl-Digest-SHA1

perl-HTML-Parser

perl-DB_File

perl-HTML-Tagset

perl-Razor-Agent

perl-DBI

perl-Net-DNS

perl-URI

這些模塊請安裝上。

 



#spamassassin的過濾模板在/etc/mail/spamassassin/local.cf,修改為:



vi /etc/mail/spamassassin/local.cf



required_score 5.0

rewrite_header Subject ********SPAM********

report_safe 1

use_bayes 1

skip_rbl_checks 0

ok_languages zh en

ok_locales en ko

score HEAD_ILLEGAL_CHARS 0

score SUBJ_ILLEGAL_CHARS 0

score DATE_IN_PAST_03_06 0

score UPPERCASE_25_50 0

score UPPERCASE_50_75 0

score UPPERCASE_75_100 0

score X_MSMAIL_PRIORITY_HIGH 0

score X_PRIORITY_HIGH 0

score TO_TXT 100

score RATWARE_HASH_2 100

score RATWARE_HASH_2_V2 100

score BAYES_99 0.1

score BAYES_80 0.1

score BAYES_60 0.1

score FROM_ILLEGAL_CHARS 0.1

score MIME_BASE64_TEXT 0.1

score NO_RDNS_DOTCOM_HELO 0.1

score CHINA_HEADER 0.1

score NO_REAL_NAME 0.2

score HTML_MESSAGE 0.2

score MIME_HTML_ONLY 0.2

score MIME_HTML_ONLY_MULTI 0.2

score FORGED_MUA_OUTLOOK 0.2

score FORGED_HOTMAIL_RCVD 0.2

score FORGED_OUTLOOK_TAGS 0.2

score MAILTO_TO_SPAM_ADDR 0.2



#黑白名單

whitelist_from *@domain.com



# ---------------------------------------------------------------------------

# 使用中國反垃圾郵件聯盟的CBL/CDL

# URL: http://www.anti-spam.org.cn/

header RCVD_IN_CBL eval:check_rbl('cbl', 'cbl.anti-spam.org.cn.')

describe RCVD_IN_CBL Received via a relay in cbl.anti-spam.org.cn

tflags RCVD_IN_CBL net



header RCVD_IN_CDL eval:check_rbl('cdl-notfirsthop', 'cdl.anti-spam.org.cn.')

describe RCVD_IN_CDL CDL: dialup sender did non-local SMTP

tflags RCVD_IN_CDL net



#SCORE

score RCVD_IN_CBL 4.0

score RCVD_IN_CDL 3.0



#運行ntsysv,將spamassassin設定的為開機運行



#使用CCERT 中文垃圾郵件過濾規則集Chinese_rules.cf

wget -N -P /usr/share/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf



#啟動SpamAssassin

service spamassassin start



#定期自動更新中文反垃圾郵件規則

crontab Ce

#加入

0 0 1 * * wget -N -P /usr/share/spamassassin http://www.ccert.edu.cn/spam/sa/Chin...d/spamassassin restart;/etc/init.d/spamassassin restart;



#建立SpamAssassin的學習系統

sa-learn --sync -D -p user_prefs



#查看自學習的數據信息

sa-learn --dump all



#查看調試信息

spamassassin --lint CD





第十七節:安裝Clamav TOP



#添加所需的組和用戶

groupadd clamav

useradd -g clamav -s /bin/false clamav



#安裝軟體



cd /home/pkg

tar -xzvf clamav-0.83.tar.gz

cd clamav-0.83

./configure --disable-zlib-vcheck

make check

make install



#測試Clamav

clamscan --recursive --log=/tmp/clamscan.log ./ //掃描當前目錄,測試clamscn是否運行

cat /tmp/clamscan.log



#更改/usr/local/etc/freshclam.conf文件,去掉下面選項前面的#:

vi /usr/local/etc/freshclam.conf



#Example \\前面加上#

UpdateLogFile /var/log/freshclam.log \\去掉前面的#

LogSyslog \\去掉前面的#

PidFile /var/run/freshclam.pid \\去掉前面的#



更改/usr/local/etc/clamd.conf文件,去掉下面選項前面的#:

vi /usr/local/etc/clamd.conf



#Example \\前面加上#

LogFile /var/log/clamav/clamd.log \\去掉前面的#

LogFileMaxSize 2M \\去掉前面的#

LogTime \\去掉前面的#

PidFile /var/run/clamd.pid \\去掉前面的#

LogSyslog \\去掉前面的#

ScanMail \\去掉前面的#



touch /var/log/freshclam.log

chmod 644 /var/log/freshclam.log

chown clamav:clamav /var/log/freshclam.log



mkdir /var/lib/clamav

chown clamav:clamav /var/lib/clamav



#升級clamscan病毒庫

freshclam --verbose



#把freshclam加入crontab 定時更新病毒庫,自動掃描/home目錄

crontab -e



0 1 * * * freshclam --quiet -l /var/log/freshclam.log

0 6 * * * /usr/local/bin/clamscan --recursive --infected --exclude /usr/local/share/clamav/viruses.db --exclude /usr/local/share/clamav/viruses.db2 --log=/var/log/clamscan.log /home



#創建freshclam日誌記錄文件

mkdir -p /var/log/clamav

touch /var/log/clamav/clamd.log

chown clamav.clamav -R /var/log/clamav/

chmod 644 -R /var/log/clamav/



#創建clamav啟動腳本

vi /etc/rc.d/init.d/clamav



#!/bin/sh

#

# Startup / shutdown script for Clam Antivirus





case "$1" in

start)

/usr/local/sbin/clamd && echo -n 'Clamd started'

/usr/local/bin/freshclam -d -c 2 -l /var/log/freshclam.log

echo -n ' freshclam started'

;;



stop)

/usr/bin/killall clamd > /dev/null 2>&1 && echo -n 'Clamd stoped'

/usr/bin/killall freshclam > /dev/null 2>&1 && echo -n ' freshclam Stoped'

;;



*)

echo ""

echo "Usage: `basename $0` { start | stop }"

echo ""

exit 64

;;

esac



#使其能夠執行

chmod 755 /etc/init.d/clamav



#隨開機起動

ln -s /etc/init.d/clamav /etc/rc.d/rc3.d/S88clamav

ln -s /etc/init.d/clamav /etc/rc.d/rc5.d/S88clamav
《解決方案》

Redhat Enterprise 5.0中安裝Qmail

第十八節:安裝MailDrop 和TNEF reader TOP



TNEF是一個從"application/ms-tnef". 類型中找出MIME附件的程序.這僅僅是微軟系統中的一種附件.TNEF程序允許將封裝成TNEF的附件提取出來. 安裝TNEF並不是必須的, 但我強烈推薦安裝它!



# 安裝 maildrop

cd /home/pkg

tar -xjvf maildrop-1.8.0.tar.bz2

cd maildrop-1.8.0

./configure

make

make install-strip

make install-man



# 安裝 the tnef

cd /home/pkg

tar -xzvf tnef-1.2.3.1.tar.gz

cd tnef-1.2.3.1

./configure

make

make install



#使用Maildrop調用SpamAssassin

#在/home/vpopmail/domains/localhost.com(你創建的域)/ 建立mailfilter文件

touch mailfilter

chown vpopmail:vchkpw mailfilter

chmod 700 mailfilter



vi mailfilter

#mailfilter內容如下:



VHOME=`/home/vpopmail/bin/vuserinfo -d $EXT@$HOST`

VSPAM=`/home/vpopmail/bin/vuserinfo -d $EXT@$HOST`



`test -d $VHOME/Maildir/`

if( $RETURNCODE != 0 )

{

echo "Sorry , but the user $EXT@$HOST dos not exist"

EXITCODE=77

exit

}



if ( $SIZE < 262144 )

{

exception {

xfilter "/usr/bin/spamc -f -u $EXT@$HOST"

}

}

if (/^X-Spam-Flag: YES/)

{

to "$VSPAM/Maildir/.Trash/."

EXITCODE=0

}

else

{

to "$VHOME/Maildir/."

}



#修改.qmail-default內容如下:

vi .qmail-default



| preline /usr/local/bin/maildrop mailfilter







第十九節:安裝qmail-scanner&qms-analog TOP



為了能夠掃描郵件伺服器中進出的郵件, 我們需要安裝 qmail-scanner. 如果你之前沒有安裝perl-suidperl,我們還需要安裝它



cd /home/pkg

rpm -Uvh perl-suidperl-5.8.5-12.1.1.i386.rpm



#解開qmail-scanner...

tar zxvf qmail-scanner-1.25.tgz



#解壓qms-analog...

tar zxvf qms-analog-0.4.2.tar.gz

cd qms-analog-0.4.2

make all



#下一步,我們拷貝所需要的qms-analog文件到qmail-scanner安裝目錄

cp qmail-scanner-1.25-st-qms-20050219.patch /home/pkg/qmail-scanner-1.25



#現在,讓我們打上qms-analog補丁

cd /home/pkg/qmail-scanner-1.25

patch -p1 < qmail-scanner-1.25-st-qms-20050219.patch



#繼續安裝qmail-scanner,添加所需的組和用戶

groupadd qscand

useradd -g qscand -s /bin/false qscand



#我們通過qms-config-script腳本來安裝qmail-scanner,編輯qms-config-script

vi qms-config



#修改下面紅色部份以達到我們的需求:



./configure --domain domain.com \

--admin postmaster \

--local-domains "domain.com" \

--add-dscr-hdrs yes \

--dscr-hdrs-text "X-Antivirus-MYDOMAIN" \

--ignore-eol-check yes \

--sa-quarantine 0 \

--sa-delete 0 \

--sa-reject no \

--sa-subject ":SPAM:" \

--sa-alt yes \

--sa-debug no \

--notify admin \

--redundant yes \

--qms-monitor no \

--lang en_GB \

--debug no \

--unzip yes \

--scanners clamscan,verbose_spamassassin \

"$INSTALL"



#注意: "--admin" 和 "--domain" 參數組成了帳號"user"@"domain name". 警告消息將通過qmail-scanner 發往這個郵件帳號, 所以必須確認這是一個管理級別的帳號. 另外,所有域的警告信息都會發給這個帳號, 所以一定要小心.



#保存並退出。



#現在我們測試qmail-scanner安裝

chmod 755 qms-config

./qms-config



#在第一步時, 按y 允許qmail-scanner提前configure. 第二步時, 按y,建立 qmail-queue-scanner.pl 文件.

#測試如果沒有錯誤 ,就可以進行下一步安裝



./qms-config install



#看看/var/qmail/bin/qmail-scanner-queue.pl是否存在

chown qscand:qscand /var/qmail/bin/qmail-scanner-queue.pl

chmod 4755 /var/qmail/bin/qmail-scanner-queue.pl



#然後用一個普通用戶登陸,執行/var/qmail/bin/qmail-scanner-queue.pl -z

#如果沒有Can't do setuid出現,安裝OK

setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -z



#查看qmailscan當前包含的特徵

setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -r



#保存qmailscan定義特徵的修改,使他生效。

setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -g



chown qscand:qscand /var/qmail/bin/qmail-scanner-queue.pl

chmod 4755 /var/qmail/bin/qmail-scanner-queue.pl

chown -R qscand:qscand /var/spool/qmailscan



vi /var/qmail/supervise/qmail-smtpd/run



#在你的qmail啟動腳本修改紅色部份

#!/bin/sh

qmailDUID=`id -u vpopmail`

NOFILESGID=`id -g vpopmail`

PATH=$PATH:/usr/local/bin:/var/qmail/bin

qmailQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" export qmailQUEUE

MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`

exec /usr/local/bin/softlimit -m 40000000 \

/usr/local/bin/tcpserver -v -H -R -l 0 \

-x /home/vpopmail/etc/tcp.smtp.cdb -c "$MAXSMTPD" \

-u "$qmailDUID" -g "$NOFILESGID" 0 smtp \

/var/qmail/bin/qmail-smtpd \

/home/vpopmail/bin/vchkpw /bin/true 2>&1



#后重新啟動smtp服務

qmailctl stop

qmailctl start

qmailctl stat



#這裡有測試程序

cd /home/pkg/qmail-scanner-1.25/contrib/

chmod 755 test_installation.sh

./test_installation.sh -doit



#這個腳本會設定的管理員郵件地址發送3個郵件,第一個郵件是一般的正常郵件,第二個郵件中會包含eicar.com測試病毒,第三個郵件同樣包含eicar.com測試病毒,不過所附帶的文件名不是eicar.com。

#如果qmail-scanner安裝正確,管理員就應該可以收到關於後面的兩個郵件的警告郵件。

#如果系統出錯,可以查看/var/spool/qmailscan/qmail-queue.log日誌文件。

#qmail-scanner的特徵過濾在/var/spool/qmailscan/quarantine-attachments.txt



#主要的排錯監測日誌

/var/spool/qmailscan/quarantine.log

/var/spool/qmailscan/qmail-queue.log

/var/spool/qmailscan/qms-events.log

/var/log/clamav/clamd.log

/var/log/maillog



[火星人 via ] Redhat Enterprise 5.0中安裝Qmail已經有146次圍觀

http://www.coctec.com/docs/service/show-post-22436.html