qmail+vpopmail+sqwebmail是非常優秀的Web mail解決方案,本文將詳細介紹具體的安裝過程,希望可以幫助你順利實現Web mail系統
。
一. 安裝環境
安裝平台:RedHat Linux
安裝的機器: mail.mydomain.com
軟件包:
qmail-1.03 qmail基本系統
UCspi-tcp-0.88 tcpsever等服務程序
daemontools-0.70監視工具
checkpassWord-0.81 pop3驗證用戶的程序
ezmlm-0.53 郵件列表管理
vpopmail-4.9.6-1虛擬域用戶pop3支持
qmailadmin-0.35 虛擬域web管理
autorespond-1.0.0 自動回復程序
sqwebmail-1.2.0 webmail
vqsignup-0.4 web方式用戶注冊
軟件來源:
http://www.qmail.org
http://www.inter7.com/qmail
注意:每個包安裝前務必先仔細閱讀INSTALL和FAQ,很多問題在FAQ都有解決方法。
二. 安裝步驟
1. 安裝qmail
1)創建qmail安裝目錄
#mkdir /var/qmail
2)添加qmail必需的用戶和組
#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
3)解壓、解包和編譯
(假設這些包都下載到/var/tmp目錄下)
#cd /var/tmp
#tar xzvf qmail-1.03.tar.gz
#cd qmail-1.03
進入qmail目錄後,仔細閱讀一下README和INSTALL文件.然後開始編譯qmail
#make setup check
4)配置
#./config
5)建立系統別名
#(cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root)
#chmod 644 ~alias/.qmail*
可以在這些別名文件中指定管理用戶來接受這些系統郵件,如
#echo admin > ~alias/.qmail*
6)建立啟動文件和用戶的maildir
#cp /var/qmail/boot/home /var/qmail/rc
#chmod 755 /var/qmail/rc
編輯 /var/qmail/rc
修改其中./Mailbox成為./Maildir以支持maildir的pop收信方式,如下:
# !/bin/sh
# Using splogger to send the log through syslog.
# Using qmail-local to deliver messages to ~/Maildir by default.
exec env - PATH="/var/qmail/bin:$PATH"
qmail-start ./Maildir splogger qmail
其中splogger qmail指令是用來將日志文件記錄在/中。
建立maildir的方法:
$/var/qmail/bin/maildirmake /etc/skel/Maildir
$echo ./Maildir/ > ~/.qmail
注意Maildir必須為該使用者所有,可以chown變更,並以chmod 700 Maildir設定權限。
2. 安裝ucspi-tcp-0.88
#tar zxvf ucspi-tcp-0.88.tar.gz
#cd ucspi-tcp-0.88
#make
#make setup check
執行文件將被安裝在/usr/local/bin中
。
3. 安裝checkpassword
#tar zxvf checkpassword-0.81.tar.gz
#cd checkpassword-0.81
#make
#make setup check
#chmod og-rx /bin/checkpassword
執行文件checkpassword將被安裝在/bin中。
如果不對/etc/passwd中的用戶開放mail,則不需要裝checkpassword,而只要裝vpopmail就行了。
4. 安裝daemontools
#tar zxvf daemontools-0.70.tar.gz
#cd daemontools-0.70
#make
#make setup check
執行文件將安裝於/usr/local/bin中。
安裝本工具後可以用
#mkdir /var/run/qmail
#supervise /var/run/qmail /var/qmail/rc
來啟動qmail,還可以用svc來關閉或重啟qmail,用svstat監視qmail運行情況。(參見qmail FAQ)
5. 安裝vpopmail
#groupadd vchkpw
#useradd -g vchkpw vpopmail
#mkdir ~vpopmail/etc
#echo ":allow" > ~vpopmail/etc/tcp.smtp
#tar zvfz vpopmail-4.9.6-1.tar.gz
#cd vpopmail-4.9.6-1
#./configure --enable-roaming-users=y --enable-default-domain=mydomain.com --enable-passwd=n
(注:--enable-roaming-users=y表示允許漫游的用戶使用該郵件系統)
#make
#make install-strip
#crontab -e(編輯cron文件,如下)
40 * * * * /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null
#cd /home/vpopmail/bin
#./vadddomain mydomain.com mydomain
添加mydomain.com到/var/qmail/control/rcpthosts中。
6. 停止sendmail 服務
#killall -9 sendmail (Linux)
接著以qmail的sendmail libraby取代原有 sendmail
#mv /usr/lib/sendmail /usr/lib/sendmail.old
#mv /usr/sbin/sendmail /usr/sbin/sendmail.old
#ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
#ln -s /var/qmail/sbin/sendmail /usr/sbin/sendmail
移除sendmail啟動程序,以 Linux 為例:
移除inetd.conf中的sendmail之設定,以及/etc/rc.d/init.d下的sendmail啟動文件。(Linux)
7. 啟動qmail SMTP ,POP3 daemon系統服務
1)建立 SMTP 轉信規則
建立 /etc/tcp.smtp 內容為
:allow
此為接受任何Client端所發出子轉送信件
若要拒絕某些IP所發出的Relay則修改 /etc/tcp.smtp如下
1.2.3.4:allow,RELAYCLIENT=""
127.:allow, RELAYCLIENT=""
如此,除1.2.3.4及127.*之外的所有地址,都將被拒絕轉送信件
。
2)轉換tcp.smtp成為cdb格式
#/usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
注意:若對tcp.smtp有任何變更,都必須經過tcprules轉換成為cdb文件才會生效。
另外,tcp.smtp 若為空白,則表示拒絕所有的轉送,因為預設的規則為deny。
至此,轉送規則已建立,稍後將依此規則啟動qmail-smtpd。
3)設定SMTP及POP3 daemon的啟動
移除inetd.conf中有關smtp及pop3的設定(加上#號)
編輯/etc/services,改為以下設定:
smtp25/tcpmail
# pop-3 110/tcp #pop version 3
# pop-3 110/udp
pop3110/tcp
pop3110/udp
啟動 SMTP:
/usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb
-u UID -g GID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
/var/qmail/bin/splogger smtpd 3 &
其中UID和GID為前述新增 qmail系統賬號qmaild的User ID,以及nofiles的group ID。
/var/qmail/bin/splogger那一行會將log文件寫在/var/log/maillog中。
啟動 POP3:
編輯啟動檔加入以下設定:
tcpserver -H -R 0 pop3
/var/qmail/bin/qmail-popup mail.mydomain.com
/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
在/etc/rc.d/init.d下建立文件qmail,內容如下:
-------------------------------------------
#! /bin/sh
case "$1" in
start)
echo -n "start qmail:"
/var/qmail/rc &
echo "."
echo -n "start smtp service:"
/usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb
-u UID -g GID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
/var/qmail/bin/splogger smtpd 3 &
echo "."
echo -n "start pop3 service:"
tcpserver -H -R 0 pop3
/var/qmail/bin/qmail-popup mail.mydomain.com
/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
echo "."
;;
stop)
echo -n "stop qmail:"
echo "."
;;
*)
exit 1
;;
esac
exit 0
--------------------------------------------
/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
echo "."
;;
stop)
echo -n "stop qmail:"
echo "."
;;
*)
exit 1
;;
esac
exit 0
--------------------------------------------