Bill's Linux Qmail Toaster

版本: 0.8.6 更改记录
上次修改: Mar 08, 2006 14:56

 

Preface

开始

安装软件

测试

选项

附注




前言

  • 什么是Toaster?:

    本文使用 Dan Bernstein的描述 http://cr.yp.to/qmail/toaster.html

    回到顶端

  • 主要特性:

    本文档将指导你建立基于Linux Qmail "Toster"的邮件服务器 所有安装步骤能够在大多数流行的Linux发行版上运行, 对于其它的Unix版本也许不需太多的修改就能正常工作。

    如下是Qmail Toaster的一些特性:

    Qmail SMTP 邮件服务器包含SMTP-AUTH (Plain, Login, CRAM-MD5), TLS (SSL) 支持, 和病毒/垃圾扫描.
    POP3 服务器,支持CRAM-MD5, APOP, 和SSL
    IMAP 服务, 支持IMAPS(SSL)
    WebMail 服务
    用户限额 (可通过webmail察看)
    Autoresponder
    邮件列表
    基于Web的邮件管理
    本文档没有包含对于Qmail的完整的指南,如果您需要,可以参考 Life With Qmail, 或者其它的文档或指南. 本文只是我把那些我自己用到的Qmail的 基本命令/链接/安装步骤整合在一起,感觉有点只是"Copy & Paste"的工作。如果这些内容不够用,请花时间对于 所安装的各个软件包仔细阅读,除此之外没有别的办法。

    返回顶端

  • 前提/技术支持

    如果您要安装Qmail邮件服务器,您应该熟悉Unix系统管理、基本邮件和网站协议等。当然您也没必要是 大拿,但是您应当会使用Patch工具和编译原代码, 使用Apache建立网站,以及编辑配置文件。 如果您需要的是想轻松地挥动鼠标就完成,那么本文档可能不太适用。

    本文档不提供相应的保证和承诺,如果您的系统因此而影响正常的业务, 那您自己应该承当相关的责任。

    我们所能提供的是对这些安装包的一个邮件列表, 另外还有其它一些内容,请参考本文的附件部分

    我们也提供相关的商业支持. 点击 http://merchbox.com/qmail.php 察看更多的信息

    返回顶端

  • 先决条件

    您应当安装一个较新的Linux发行版本,对于安装Qmail来说没有什么大问题。只要在安装系统时候选择安装"Apache", "PHP", 在安装操作系统时如果如果没有完整安装,可能系统缺少某些开发库文件,象:gdbm, stunnel, kerberos和openssl等。对于支持RPM 发行版的系统,可以通过yum来确保所需要的软件包完整安装:

    yum install gcc g++ gcc-g++ gdbm gdbm-devel openssl openssl-devel stunnel krb5-devel bzip2 bzip2-devel
    SELinux: 一些 setuid 程序, 例如QmailAdmin, 不能工作在SELinux下面. 必须禁用它,如果已经安装,例如在FC4下,检查 /etc/sysconfig/selinux, 确认设置为"SELINUX=disabled", 然后重启服务器。

    别名(Aliases) 一些发行版设置了rm, mv, cp的别名,在安装过程中可能有不便之处,我建议将相关的别名去掉:

    unalias rm mv cp
    本文原始版本使用Redhat Linux9.0, 但是我现在只用Debian,我也建议大家使用它, 一旦你习惯了apt, 你不会再选择其它的!

    返回顶端

  • Debian 注意事项:

    在Debian平台最简单的办法来确保所有安装包都正确安装可以通过如下的命令:

    apt-get install libgdbm-dev gcc g++ patch make libc-dev stunnel libssl-dev apache php4 wget bzip2
    另外,你也需要如下的命令安装其它几个额外的软件包:
    apt-get install man telnet host
    好多的Debian软件包依赖于邮件传输代理(MTA), Debian缺省使用Exim4, Exim4的存在使得Qmail不能正确安装, Lots of Debian packages require an MTA, and Debian defaults to exim4. This obviously can be a problem for qmail. 可以通过如下命令来绕过:
    # 安装 equivs
    apt-get install equivs

    # 生成一个虚拟mta包
    cd /tmp
    cp /usr/share/doc/equivs/examples/mail-transport-agent.ctl .
    equivs-build mail-transport-agent.ctl

    # 删除 exim4
    dpkg --ignore-depends=exim4 -r exim4
    dpkg --ignore-depends=exim4-daemon-light -r exim4-daemon-light

    # and install the dummy mta package
    dpkg -i /tmp/mta-local_1.0_all.deb

    Courier-imap's 启动脚本使用一个不同的Lock目录, 如果不存在手动创建它:
    mkdir /var/lock/subsys
    Courier's 使用gmake来编译(Debian平台上), 使用alias创建一个make的别名:
    alias gmake='make'
    配置Apache's (译者注: 英文原文中对应部分不太适用,如有需要请参考原文):
    编辑 /etc/apache/httpd.conf
    • 此处略去... ...
    修改Apache配置文件中的DocumentRoot为系统所用的实际路径.

    SpamAssassin 需要多个perl库模块. 如果系统使用SpamAssassin, 按照如下步骤安装:

    apt-get install libdigest-sha1-perl libnet-dns-perl \
    libmail-spf-query-perl libgeo-ipfree-perl razor pyzor libnet-ident-perl \
    libio-socket-ssl-perl libarchive-tar-perl libio-zlib-perl \
    libsys-hostname-long-perl
    ClamAV 需要 zlib 和 zlib-dev 支持:
    apt-get install zlib1g zlib1g-dev libbz2-dev libgmp3 libgmp3-dev
    返回顶端
  • Toaster 许可(License)

    本文档使用与Life With Qmail同样的许可, 具体描述可参考:
    http://www.opencontent.org/opl.shtml

开始

  • DNS

    安装之前,要确保DNS(MX记录)已正常设置和解析. 例如,对于域名 "nixway.net", 你可以通过如下步骤检查你的DNS工作是否正常:
     

    [shupp@ns1 toaster]$ host -t mx nixway.net
    nixway.net. mail is handled by 10 mail.nixway.net.
    [shupp@ns1 toaster]$ host -t a mail.nixway.net
    mail.nixway.net. has address xxx.xxx.xxx.xxx
  • 删除系统中现有的 smtp/pop/imap 服务

    如果系统中运行有其它邮件服务,在安装Qmail时候可能有问题,通过如下步骤来删除:

    rpm -e --nodeps sendmail postfix
    作为邮件服务器, 除非是系统必须运行的(如SSH, crond等),我建议关掉inetd和xinetd中的服务,来关掉那些 不需要的端口。

     

    返回顶端

  • 下载软件包

    我把所有的下载软件包放在/var/src. 如果你想放在其它的位置,在如下方框内输入,本文中所有的路径将会更新.

     

    有些软件包之间版本有依赖关系, 请按如下链接下载!

    mkdir -p /var/src/tar
    cd /var/src/tar

    wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
    wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
    wget http://shupp.org/software/netqmail-1.05.tar.gz
    wget http://shupp.org/patches/qmail-toaster-0.8.1.patch.bz2
    wget http://shupp.org/software/vpopmail-5.4.13.tar.gz
    wget http://shupp.org/patches/vpopmail-5.4.13-cumulative-1.patch
    wget http://shupp.org/software/autorespond-2.0.4.tar.gz
    wget http://shupp.org/patches/autorespond-2.0.4-2.0.5.patch
    wget http://shupp.org/software/qmailadmin-1.2.9.tar.gz
    wget http://shupp.org/software/qmailadmin-help-1.0.8.tar.gz
    wget http://cr.yp.to/software/ezmlm-0.53.tar.gz
    wget http://shupp.org/software/ezmlm-idx-0.443.tar.gz
    wget http://shupp.org/software/courier-imap-4.0.6.tar.bz2
    wget http://shupp.org/software/courier-authlib-0.58.tar.bz2
    wget http://shupp.org/software/squirrelmail-1.4.5.tar.bz2
    wget http://shupp.org/software/quota_usage-1.3-1.2.7.tar.gz
    wget http://shupp.org/software/toaster-scripts-0.8.tar.gz

    cd ../
    tar -xzf tar/netqmail-1.05.tar.gz
    cd netqmail-1.05
    ./collate.sh

    返回顶端

安装软件

现在所有的软件都已经下载到了/var/src/tar, 请按照如下步骤逐项安装:

 

  • daemontools

    daemontools 是一组管理UNIX服务的工具. 它将会监控qmail-send, qmail-smtpd, 和qmail-pop3d服务.

    请参考: http://cr.yp.to/daemontools.html

    安装:

    mkdir -p /package
    chmod 1755 /package
    cd /package
    tar -xpzf /var/src/tar/daemontools-0.76.tar.gz
    cd admin/daemontools-0.76
    patch -p1 < /var/src/netqmail-1.05/other-patches/daemontools-0.76.errno.patch
    package/install

    # 添加 "clear" 服务

    cd ../
    mkdir clear
    touch clear/run
    touch clear/down

    cat > clear/run <<EOF
    #!/bin/sh
    yes '' | head -4000 | tr '\n' .

    # When you want to clear the service errors, just run this:
    # svc -o /service/clear
    EOF

    chmod +x clear/run
    chmod a-w clear/down

    ln -s /package/admin/clear /service/clear

    为确保deamontools运行, 请运行 `ps ax` 确保 '/bin/sh /command/svscanboot' 和 'svscan /service' 正确运行.

    返回顶端

     


  • ucspi-tcp

    ucspi-tcp 包含 tcpserver 和 tcpclient, 是一个用来建立客户-服务器应用的命令行工具。

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

     

    安装:

    cd /var/src/
    tar -xzf tar/ucspi-tcp-0.88.tar.gz
    cd ucspi-tcp-0.88
    patch -p1 < /var/src/netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
    make
    make setup check
    返回顶端

     


  • qmail

     

    请参考: http://www.qmail.org/

    将要应用的Patch是如下Patch的组合:

    • smtp auth
    • spf
    • qmail-queue (to allow for virus scanners)
    • maildir++ patch
    • support oversize dns packets (not necessary if you use dnscache)
    • chkuser (check for local users, envelope syntax)
    • spam throttle
    • qregex (regular expression matching in badmailfrom and badmailto)
    • big concurrency (set the spawn limit above 255)

    安装:

    mkdir /var/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

    cd /var/src
    tar -xzf tar/toaster-scripts-0.8.tar.gz
    cd netqmail-1.05/netqmail-1.05/

    # 注: RedHat/Fedora 平台上安装TLS Patch需要建立几个include文件的连接, 如果make时报错可以运行如下命令:
    # Issue the command below only if make fails:
    ln -s /usr/kerberos/include/com_err.h /usr/kerberos/include/krb5.h \
    /usr/kerberos/include/profile.h /usr/include/
    # 删除旧的sendmail链接:
    rm /usr/sbin/sendmail

    make
    make setup check
    # 注: qmail的Patch将在Vpopmail(chkuser patch需要)安装之后安装

    # turn on SPF checking
    echo 3 > /var/qmail/control/spfbehavior

    # 设置邮件服务器主管理员的邮件地址.
    # 这个地址将会作为root, postmaster 和mailer-daemon邮件的接受地址.
    # 使用你自己的邮件地址替换下面的"admin@example.com"

    (cd ~alias; echo "admin@example.com" > .qmail-postmaster ;\
    echo "admin@example.com" > .qmail-mailer-daemon ;\
    echo "admin@example.com" > .qmail-root )
    chmod 644 ~alias/.qmail*

    # 在下已行中使用你邮件服务器的主机名来替换"full.hostname"
    ./config-fast full.hostname

    配置:
    # 把 qmail的man信息添加到MANPATH

    • Edit /etc/man.config
    • 添加一行 "MANPATH /var/qmail/man"
      注: Debian平台需要使用MANDATORY_MANPATH而不是MANPATH
cd /var/src
cp toaster-scripts-0.8/rc /var/qmail/rc
chmod 755 /var/qmail/rc
mkdir /var/log/qmail
echo ./Maildir/ >/var/qmail/control/defaultdelivery
cp toaster-scripts-0.8/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
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail

#Now create the supervise directories/scripts for the qmail services:
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 /var/src/toaster-scripts-0.8/send.run /var/qmail/supervise/qmail-send/run
cp /var/src/toaster-scripts-0.8/send.log.run /var/qmail/supervise/qmail-send/log/run
cp /var/src/toaster-scripts-0.8/smtpd.run /var/qmail/supervise/qmail-smtpd/run
cp /var/src/toaster-scripts-0.8/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run
cp /var/src/toaster-scripts-0.8/pop3d.run /var/qmail/supervise/qmail-pop3d/run
cp /var/src/toaster-scripts-0.8/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run
cp /var/src/toaster-scripts-0.8/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run
cp /var/src/toaster-scripts-0.8/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

#使daemontools启动Qmail服务
ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service

#确保qmailctl已经正常运行
sleep 5
qmailctl stat

返回顶端

 


Vpopmail

Vpopmail是基于Qmail支持虚拟域名的软件包, 可以多域名管理, 用户的帐号信息保存在数据库(如MySQL)里
用户不需要维护系统的/etc/passwd帐号,

请参考: http://vpopmail.sf.net/

安装:

groupadd -g 89 vchkpw
useradd -u 89 -g vchkpw vpopmail

cd /var/src
tar -xzf tar/vpopmail-5.4.13.tar.gz
cd vpopmail-5.4.13
patch -p0 < ../tar/vpopmail-5.4.13-cumulative-1.patch

./configure --enable-logging=v
make
make install-strip
echo '127.:allow,RELAYCLIENT=""' > ~vpopmail/etc/tcp.smtp
(cd ~vpopmail/etc ; tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp)

# install the vpopmail start script
cp ../toaster-scripts-0.8/vpopmailctl /var/qmail/bin/vpopmailctl

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

# 安装toaster 补丁(qmail chkuser 需要vpopmail库支持)
cd /var/src/netqmail-1.05/netqmail-1.05
bunzip2 -c ../../tar/qmail-toaster-0.8.1.patch.bz2 | patch -p0
make clean
make
qmailctl stop
make setup check

# 注意: 如果重新安装qmail, 需要运行如下命令, 因为安装完后会赋给qmail
#

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

make cert
# 输入公司信息
make tmprsadh
# 注意: 所需时间较长

# 通过`crontab -e` 将下一行添加到crontab, 每天系统会自动更新
01 01 * * * /var/qmail/bin/update_tmprsadh > /dev/null 2>&1

# 启动Qmail进程
qmailctl start

#使用daemontools来启动Qmail
ln -s /var/qmail/supervise/qmail-pop3d /var/qmail/supervise/qmail-pop3ds /service

#校验系统是否已经正常运行
sleep 5
vpopmailctl stat

返回顶端

 


Courier-IMAP

Courier-IMAP 提供对IMAP/IMAPS客户端支持.

请参考: http://www.courier-mta.org/imap/

安装 Courier 认证模块:
cd /var/src
tar -xjf tar/courier-authlib-0.58.tar.bz2
cd courier-authlib-0.58
./configure
# NOTE: RedHat/Fedora 用户需要使用 "--with-redhat" 选项

gmake
gmake install-strip
gmake install-configure

cp courier-authlib.sysvinit /etc/init.d/courier-authlib
chmod 755 /etc/init.d/courier-authlib
ln -s ../init.d/courier-authlib /etc/rc0.d/K30courier-authlib
ln -s ../init.d/courier-authlib /etc/rc1.d/K30courier-authlib
ln -s ../init.d/courier-authlib /etc/rc2.d/S80courier-authlib
ln -s ../init.d/courier-authlib /etc/rc3.d/S80courier-authlib
ln -s ../init.d/courier-authlib /etc/rc4.d/S80courier-authlib
ln -s ../init.d/courier-authlib /etc/rc5.d/S80courier-authlib
ln -s ../init.d/courier-authlib /etc/rc6.d/K30courier-authlib

Configure:
编辑 /usr/local/etc/authlib/authdaemonrc
  • 改变 authmodulelist="..." 为 authmodulelist="authvchkpw"
启动 Authdaemon 服务
/etc/init.d/courier-authlib start
安装 Courier-IMAP:
cd /var/src
tar -xjf tar/courier-imap-4.0.6.tar.bz2
cd courier-imap-4.0.6
# build as vpopmail
chown -R vpopmail:vchkpw ../courier-imap-4.0.6
su vpopmail
# ...
./configure
# 注意: RedHat/Fedora 用户需要使用 "--with-redhat" 选项

gmake
exit
gmake install-strip
gmake install-configure

cp courier-imap.sysvinit /etc/init.d/courier-imap
chmod 755 /etc/init.d/courier-imap
ln -s ../init.d/courier-imap /etc/rc0.d/K30courier-imap
ln -s ../init.d/courier-imap /etc/rc1.d/K30courier-imap
ln -s ../init.d/courier-imap /etc/rc2.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc3.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc4.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc5.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc6.d/K30courier-imap

配置:
编辑 /usr/lib/courier-imap/etc/imapd
  • 更改 'IMAPDSTART=NO' 为 'IMAPDSTART=YES'
编辑 /usr/lib/courier-imap/etc/imapd-ssl
  • 更改 'IMAPDSSLSTART=NO' 为 'IMAPDSSLSTART=YES'

# 可选: courier-imap首次启动时, SSL certificate 使用"localhost"作为"common name"
# 若需要请自行更改在/usr/lib/courier-imap/etc/imapd.cnf 中的CN一行
# 或者pop3d.cnf, 如果你使用courier的pop3ds.
# 以使你的服务器名与common name匹配.

启动 IMAP 服务
/etc/init.d/courier-imap start

返回顶端

 


SquirrelMail

SquirrelMail 基于IMAP的webmail

请参考: http://www.squirrelmail.org/

注意: 假定你的Apache的ServerRoot 为 /var/www, DocumentRoot 为 /var/www/html, 并且你的apache运行用户为apache:apache

安装:

cd /var/src
tar -xjf tar/squirrelmail-1.4.5.tar.bz2
cd squirrelmail-1.4.5
cd plugins
tar -xzf ../../tar/quota_usage-1.3-1.2.7.tar.gz
cp quota_usage/config.php.sample quota_usage/config.php
cd ../
./configure
# 如下几个选项需要注意:
  • 在 Server Settings (2), 更改 Server Software 为 "courier" (a)
  • 在主菜单, 选择 General Options (4), 更改 Data Direcotry (2) 为 "/var/www/data/"
  • 在主菜单, 选择 Plugins, 激活 quota_usage plugin, 以及其它你想要的
  • 保存设置
  • 退出

# 将 data 目录移动到 /var/www, 并将权限改为Apache执行的 user:group :
mv data /var/www/
chown -R apache:apache /var/www/data

# 安装 squirrelmail
cd ../
mv squirrelmail-1.4.5 /var/www/html/

返回顶端

 


autorespond

Autorespond 兼容 autoresponder/vacation, 与vdelivermail and qmailadmin很好地工作.

请参考: http://qmailadmin.sf.net/

安装:

cd /var/src
tar -xzf tar/autorespond-2.0.4.tar.gz
cd autorespond-2.0.4
patch -p1 < ../tar/autorespond-2.0.4-2.0.5.patch
make
make install

返回顶端

 


ezmlm-idx

Ezmlm-idx是邮件列表管理工具.

请参考: http://www.ezmlm.org/

安装:

cd /var/src
tar -xzf tar/ezmlm-0.53.tar.gz
tar -xzf tar/ezmlm-idx-0.443.tar.gz
mv ezmlm-idx-0.443/* ezmlm-0.53/
cd ezmlm-0.53
patch -p0 < idx.patch
make
make setup

返回顶端

 


qmailadmin

Qmailadmin 通过web来完成几乎所有的Qmail邮件管理任务(除添加,删除domain之外).

请参考: http://sourceforge.net/projects/qmailadmin

安装:

cd /var/src
tar -xzf tar/qmailadmin-1.2.9.tar.gz
cd qmailadmin-1.2.9
./configure --enable-help --enable-htmldir=/var/www/html --enable-cgibindir=/var/www/cgi-bin
make
make install-strip

cd ../
tar -xzf tar/qmailadmin-help-1.0.8.tar.gz
cd qmailadmin-help-1.0.8
mkdir /var/www/html/p_w_picpaths/qmailadmin/help
cp -rp * /var/www/html/p_w_picpaths/qmailadmin/help

Qmail Toaster安装就完成了! 可通过如下步骤来测试.

返回顶端

 


Test Drive

接下来可以添加一个虚拟域, 'test.com', 用来测试发送/接受邮件. 用你DNS设置的域名来替换 'test.com'.

 

# 添加一个虚拟域
/home/vpopmail/bin/vadddomain test.com [password]

如上命令为test.com域创建了一个缺省帐号 "postmaster". 这个帐号也是qmailadmin缺省的具有管理权限的帐号. 使用qmailadmin时候用此帐号登录来管理Qmail:

 

http://mail.test.com/cgi-bin/qmailadmin

创建一个测试用户具有6MB的限额, 来测试系统的限额支持:

/home/vpopmail/bin/vadduser -q 6MB user@test.com [password]

# 通过如下命令校验用户设置, 创建文件"maildirsize"
/home/vpopmail/bin/vuserinfo user@test.com

现在,使用user@test.com登录到SquirrelMail:

http://mail.test.com/squirrelmail-1.4.5/

给自己发送一封邮件. 如果能够收到, 说明系统运行正常.

通过如下命令测试POP3服务, 通过telnet到端口 110 登录.

# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK Hello there.
user user@test.com
+OK Password required.
pass [password]
+OK logged in.
quit
+OK Bye-bye.
Connection closed by foreign host.

通过同样的办法测试IMAP服务:

 

# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
* OK Courier-IMAP ready. Copyright 1998-2001 Double Precision, Inc. See COPYING for distribution information.
a001 login user@test.com [password]
a001 OK LOGIN Ok.
a001 logout
* BYE Courier-IMAP server shutting down
a001 OK LOGOUT completed
Connection closed by foreign host.

返回顶端

 


选项

如下4个工具用来保护你的邮件服务器,用以抵抗病毒,***和垃圾邮件过滤.

  • SpamAssassin

    SpamAssassin 是领先的开源垃圾扫描过滤软件. 请参考 http://www.spamassassin.org/ for more details. The easiest way to install SpamAssassin is from CPAN:

    安装:

    cd /root
    perl -MCPAN -e shell
    o conf prerequisites_policy ask
    install Mail::SpamAssassin
    quit

    # 通过daemontools来运行spamd
    mkdir -p /var/qmail/supervise/spamd/log
    mkdir -p /var/log/spamd
    chown qmaill /var/log/spamd
    cp /var/src/toaster-scripts-0.8/spamd.run /var/qmail/supervise/spamd/run
    cp /var/src/toaster-scripts-0.8/spamd.log.run /var/qmail/supervise/spamd/log/run
    chmod 755 /var/qmail/supervise/spamd/run
    chmod 755 /var/qmail/supervise/spamd/log/run
    cp /var/src/toaster-scripts-0.8/local.cf /etc/mail/spamassassin/local.cf
    mkdir /etc/mail/spamassassin/.spamassassin/
    chown vpopmail /etc/mail/spamassassin/.spamassassin/
    ln -s /var/qmail/supervise/spamd /service

  • ClamAV

    ClamAV是开源的杀毒软件, 通过simscan来调用. 更多的信息请参考 http://clamav.sf.net/

    注意: 系统需要安装 gmp-devel包来校验病毒数据库的数字签名.

    安装:

    groupadd clamav
    useradd -g clamav clamav
    cd /var/src/tar
    wget http://shupp.org/software/clamav-0.88.tar.gz
    wget http://shupp.org/patches/clamav-0.88-stderr.patch
    wget http://shupp.org/patches/clamav-0.88-conf.patch
    wget http://shupp.org/patches/clamav-0.88-freshclamconf.patch
    cd ../
    tar -xzf tar/clamav-0.88.tar.gz
    cd clamav-0.88
    patch -p0 < ../tar/clamav-0.88-stderr.patch
    patch -p0 < ../tar/clamav-0.88-conf.patch
    patch -p0 < ../tar/clamav-0.88-freshclamconf.patch
    ./configure
    make
    make install

    # 设置 freshclam
    touch /var/log/freshclam.log
    chmod 600 /var/log/freshclam.log
    chown clamav /var/log/freshclam.log
    cp /var/src/toaster-scripts-0.8/freshclam /etc/init.d/freshclam
    chmod 755 /etc/init.d/freshclam
    ln -s ../init.d/freshclam /etc/rc0.d/K30freshclam
    ln -s ../init.d/freshclam /etc/rc1.d/K30freshclam
    ln -s ../init.d/freshclam /etc/rc2.d/S80freshclam
    ln -s ../init.d/freshclam /etc/rc3.d/S80freshclam
    ln -s ../init.d/freshclam /etc/rc4.d/S80freshclam
    ln -s ../init.d/freshclam /etc/rc5.d/S80freshclam
    ln -s ../init.d/freshclam /etc/rc6.d/K30freshclam

    # 使用daemontools运行clamd
    mkdir -p /var/qmail/supervise/clamd/log
    mkdir -p /var/log/clamd
    chown clamav /var/log/clamd
    cp ../toaster-scripts-0.8/clamd.run /var/qmail/supervise/clamd/run
    cp ../toaster-scripts-0.8/clamd.log.run /var/qmail/supervise/clamd/log/run
    chmod 755 /var/qmail/supervise/clamd/run
    chmod 755 /var/qmail/supervise/clamd/log/run

    # 启动 clamd 和 freshclam
    ln -s /var/qmail/supervise/clamd /service
    /etc/init.d/freshclam start

  • ripmime

    ripmime 是提取邮件的MIME附件的工具, qscanq将调用它来扫描邮件. 请参考 http://www.pldaniels.com/ripmime/ for more details

    安装:

    cd /var/src/tar
    wget http://shupp.org/software/ripmime-1.4.0.6.tar.gz
    cd ..
    tar -xzf tar/ripmime-1.4.0.6.tar.gz
    cd ripmime-1.4.0.6
    make
    make install
  • simscan

    本Toaster已经安装好相应的patch(qmail-queue patch)来支持simscan, 这是一个新的调用qmail病毒/垃圾扫描器的工具. 好处在于阻止病毒进入邮件队列(在进入邮件队列之前就被拒绝). 完全不同于qmail-scanner, qmail-scanner是通过隔离病毒(垃圾)邮件而不是在SMTP时候直接拒绝. 更多的信息请参考http://inter7.com/?page=simscan .

    安装:

    cd /var/src/tar
    wget http://shupp.org/software/simscan-1.1.tar.gz
    cd ../
    tar -xzf tar/simscan-1.1.tar.gz
    cd simscan-1.1

    ./configure --enable-user=clamav \
    --enable-clamav=y \
    --enable-spam=y \
    --enable-spam-passthru=y \
    --enable-per-domain=y \
    --enable-ripmime \
    --enable-attach=y \
    --enable-received=y

    make
    make install-strip

    # 为simscan添加缺省规则
    echo ":clam=yes,spam=yes,spam_passthru=yes,attach=.vbs:.lnk:.scr:.wsh:.hta:.pif" > /var/qmail/control/simcontrol
    # 更新 /var/qmail/control/simcontrol.cdb
    /var/qmail/bin/simscanmk
    # 将接收到的版本信息放在/var/qmail/control/simversions.cdb
    /var/qmail/bin/simscanmk -g

    # 启用simscan
    echo ':allow,QMAILQUEUE="/var/qmail/bin/simscan"' >> ~vpopmail/etc/tcp.smtp
    qmailctl cdb

  • Qmailmrtg7 - MRTG Graphs

    Qmail MRTG是一个很好的图形化工具来跟踪你邮件服务器的运行状态.
    请参考 http://inter7.com/?page=qmailmrtg7 .

    注意: qmailmrtg7 需要先安装 MRTG .

    安装:

    cd /var/src/tar
    mkdir /var/www/html/qmailmrtg

    wget http://shupp.org/software/qmailmrtg7-4.2.tar.gz
    wget http://shupp.org/patches/qmailmrtg7-4.2-cfg.patch
    cd ../
    tar -xzf tar/qmailmrtg7-4.2.tar.gz
    cd qmailmrtg7-4.2
    patch -p0 < ../tar/qmailmrtg7-4.2-cfg.patch
    make
    make install

    # 编辑 qmail.mrtg.cfg 文件,更改相关的为你自己主机名
    cp qmail.mrtg.cfg /etc/
    indexmaker --section=title /etc/qmail.mrtg.cfg > /var/www/html/qmailmrtg/index.html

    # 运行mrtg 3 次,直到所有的初始化错误都不再出现
    env LANG=C mrtg /etc/qmail.mrtg.cfg
    env LANG=C mrtg /etc/qmail.mrtg.cfg
    env LANG=C mrtg /etc/qmail.mrtg.cfg

    # 将如下两行添加到系统的 crontab
    0-55/5 * * * * env LANG=C /usr/bin/mrtg /etc/qmail.mrtg.cfg > /dev/null
  • Qmailadmin Limits

    Qmailadmin can set per domain limits/defaults, which is really useful for hosting companies with different mail packages. This is covered in detail in the INSTALL file of qmailadmin (/var/src/qmailadmin-1.2.9/INSTALL).