2003年12月3日星期三

升级邮件过滤系统

将原来的 amavis-perl-11 升级为 amavisd-new, 除了保持原有的杀毒功能, 还可以配合使用 SpamAssassin 可以比较有效的过滤垃圾邮件.

我采用的是 amavisd-new + sendmail-dual 模式.

基本步骤记录如下:

  1. 升级 sendmail 到 8.12.10, 这个很简单, 需要的是 devtools/Site/site.config.m4 配置文件.
  2. 根据 amavisd 的说明书, 安装所需的 perl 模块.
  3. 建立 amavis 用户和组, 建立 /var/amavis, /var/virusmail 将他们的用户和组都设为 amavis, 权限为 750 和 700.
  4. 建立 /var/spool/mqueue-rx 目录, 将用户和组设为 smmsp, 权限为 770.
  5. 将 sendmail-rx.mc 和 sendmail-tx.mc 复制到 sendmail 安装目录下的 cf/cf 目录中, 运行 sh Build sendmail-rx.cf 和 sh Build sendmail-tx.cf, 然后将生成的 cf 文件(以及作为备份的 mc 文件)复制到 /etc/mail 目录下, 最后将 sendmail-tx.cf 文件链接为 sendmail.cf 文件.
  6. 复制 amavisd 文件到 /usr/sbin 目录, 将 amavisd.conf 复制到 /etc 目录中, 并修改其中的域名设置.
  7. 复制 local.cf 文件到 /etc/mail/spamassassin 目录中, 运行 sa-learn --rebuild -D, 然后将 /root/.spamassassin 目录下的文件复制到 /var/amavis/.spamassassin 目录下, 注意修改文件用户和组为 amavis.
  8. 复制启动教本 sendmail 和 amavisd 到 /etc/init.d 目录中, 并在 /etc/rc3.d 中加入链接 S81amavisd 指向 ../init.d/amavisd.
  9. 在 /etc/aliases 中加入一行 spamalert: xxxx@xxx.xx.xx 指向真正管理员的邮件地址.
  10. 使用脚本依次启动 sendmail 和 amavisd.