qmail+vpopmail+sqwebmail的安装步骤
一、安装环境安装平台: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/
target="_blank">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 700Maildir设定权限。
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启动?br>募?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,改为以下设定:
smtp 25/tcp mail
# pop-3 110/tcp #pop version 3
# pop-3 110/udp
pop3 110/tcp
pop3 110/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的UserID,以及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 "."
;;
s