第四节:安装qmail
除非你确实熟悉各个软件和系统结构,否则请按照如下步骤一步一步安装软件,此文将引导你安装一套完整的邮件系统。这个安装过程基
本上你只需要复制粘贴就可以完成。
安装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*
#开启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的安装.