ExtMail服务器社区's Archiver

andot 发表于 2007-2-16 17:45

使用 Debian Backports 升级 Debian Sarge 邮件服务器

  转自 [url=http://www.coolcode.cn]CoolCode.CN[/url]

上个月在 Debian Sarge 上架设了学校的邮件服务器,并写了一篇 [url=http://www.coolcode.cn/?p=235]Debian Sarge 邮件系统配置全攻略[/url],虽然用 Debian Sarge 架设的邮件服务器非常稳定,但是有一点总会让人感觉上不爽,那就是软件都比较过时。昨天无意中从 Mono 项目的网站上发现了 Debian Backports 这个宝藏,有了它,我们在 Sarge 上也可以使用最新版本的软件了。正好前天何老大发布了 Extman 0.2.0 正式版,今天又发布了 Extmail 1.0.1 正式版,于是打算一起将整个系统升级到最新版本。在升级的过程中,当然遇到了许多小小的挫折,不过,最后终于都解决了。下面就是升级过程的总结。

使用 Debian Backports 的好处是,你不需要将整个系统都升级到最新版本,只需要将你需要到升级的软件进行升级就可以了。这里我们只升级 Amavisd-new,SpamAssassin,ClamAV,Postfix,Courier 和 maildrop 就可以了。

首先我们需要配置 apt 源,在 /etc/apt/sources.list 中添加:
deb [url]http://www.backports.org/backports.org/[/url] sarge-backports main contrib non-free

然后执行
apt-get update

更新源,然后执行:
apt-get -t sarge-backports install amavisd-new spamassassin clamav clamav-daemon

就可以更新 amavisd-new 等软件了。

旧版本的 amavisd-new 采用的是一个单独的配置文件,而新版本的 amavisd-new 采用的是多个小的配置文件,配置上更灵活。但是升级后,系统会提示你原来的配置文件 amavisd.conf 被改名为了 amavisd.conf.disabled,而新的配置文件在 /etc/amavis/conf.d 目录中,在你没有删除 amavisd.conf.disabled 之前,amavisd-new 是不会启动的。新的配置文件的内容配置跟旧的没什么太大差别,只是分成了许多小文件,但默认杀毒和垃圾邮件过滤是没有打开的,如果要打开这两个功能,需要修改 /etc/amavis/conf.d/15-content_filter_mode 文件,将其中相应的部分的注释符号去掉即可。

然后检查 AllowSupplementaryGroups 是否在 /etc/clamav/clamd.conf 中,没有的话,就加上它。然后用 root 帐号执行:
adduser clamav amavis

另外,如果你在 spamassassin 中使用 Bayes 的话,一定要加上 bayes_auto_expire 0 这个选项(加到 /etc/spamassassin/local.cf 中即可)。

实际上,spamassassin 和 clamav 在
deb [url]http://ftp2.de.debian.org/debian-volatile/[/url] sarge/volatile main

这个源中的版本更高一些,因此,spamassassin 和 clamav 从 [url]http://ftp2.de.debian.org/debian-volatile/[/url] 更好。

更新完 amavisd-new 这几个软件之后,重启这些服务,然后到 mail.log 日志中查看是否工作正常,如果没有什么问题,就可以升级 Postfix 了。

Debian Backports 中的 Postfix 是 2.3.6 版(目前来说),比 Debian Sarge 中的 Postfix 新好多,不过更新很简单,只需要执行:
apt-get -t sarge-backports install postfix postfix-mysql

就可以了,这里不需要安装 postfix-tls 了,因为新版本的 postfix 中已经包含了 tls 功能。因此,安装完后,执行:
dpkg --purge postfix-tls

卸载掉旧版本的 postfix-tls。之后,重启一下 postfix 服务,然后通过客户端发送一下邮件看看有没有问题,如果正常的话,就可以下一步了。

这里需要注意,千万不要更新 libsasl2 和 libsasl2-modules 到 Debian Backports,否则 SMTP 验证功能将无法使用,而且回退到原来的版本很困难。只能下载原来的 sarge 中的版本,然后用 dpkg 命令强制覆盖安装才行,我在这里浪费了 3 个小时的时间才把这个问题搞定。

接下来升级 Courier:
apt-get -t sarge-backports install courier-authdaemon courier-authlib courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl

这个新版本中,courier-authmysql 包已经被 courier-authlib courier-authlib-mysql 所取代,因此安装完之后,卸载掉原来的 courier-authmysql 即可。
dpkg --purge courier-authmysql

升级时需要注意,/etc/courier/authdaemonrc 新版本跟旧的版本有些差别,最好使用新版本,不过记得要将 authmodulelist 的值改为 authmysql:
authmodulelist="authmysql"

其它值不需要修改。

/etc/init.d/courier-authdaemon 文件的新版本跟旧版本也不同,也使用新的版本。不过也要修改两处:


$daemonscript start
      log_end_msg 0

修改为
$daemonscript start
      sleep 1
      ln -f /var/run/courier/authdaemon/socket /var/spool/postfix/var/run/courier/authdaemon/socket
      log_end_msg 0


$daemonscript stop
      log_end_msg 0

修改为
rm /var/spool/postfix/var/run/courier/authdaemon/socket
      $daemonscript stop
      log_end_msg 0

然后重新启动 courier-authdaemon 服务,这是为了保证 Postfix 能够读取 courier-authdaemon 的 socket。

如果 imap 和 pop 服务也测试没有问题的话,那接下来就可以升级 maildrop 了。

Debian Backports 中的 maildrop 是 2.0.2(目前来说),比 Sarge 里的那个 maildrop 好太多了,默认就支持 courier-authdaemon 认证了,不需要自己编译,配置也简单的多。执行:
apt-get -t sarge-backports install maildrop

就安装好了,接下来,需要修改 /var/run/courier/authdaemon 目录的属性,默认这个目录是属于 daemon.daemon 的,并且属性是 770,这里我们需要将它修改为 775:
chmod 775 /var/run/courier/authdaemon

否则,maildrop 将无法读取 /var/run/courier/authdaemon/socket,也无法投递邮件了,在日志中会发现这样的错误:
(user unknown. Command output: ERR: authdaemon: s_connect() failed: Permission denied Invalid user specified. )

我在这个地方也浪费了 1 个小时的时间。

之后,将 /etc/postfix/master.cf 中的
maildrop  unix  -     n     n     -     -     pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -w 90 -d ${recipient}

改为:
maildrop  unix  -     n     n     -     -     pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -w 90  -d ${user}@${nexthop} ${recipient} ${user} ${extension}${nexthop}

,然后删除 /etc/maildropmysql.config 即可。重启 postfix,如果邮件能够正常投递,那么整个邮件系统的升级就完成了。

关于 extmail 和 extman 的升级,参考何老大的升级说明就可以了。这里就不再重复了。

另外,rrdtools 也可以升级到 Debian Backports 版本,升级之后,extman 中的图形日志将会有反锯齿效果,当然不升级也不会有什么影响。

hzqbbc 发表于 2007-2-16 18:03

[quote][b]下面是引用andot于2007-02-16 17:45发表的使用 Debian Backports 升级 Debian Sarge 邮件服务器:[/b]
  转自 [url=http://www.coolcode.cn]CoolCode.CN[/url]

上个月在 Debian Sarge 上架设了学校的邮件服务器,并写了一篇 [url=http://www.coolcode.cn/?p=235]Debian Sarge 邮件系统配置全攻略[/url],虽然用 Debian Sarge 架设的邮件服务器非常稳定,但是有一点总会让人感觉上不爽,那就是软件都比较过时。昨天无意中从 Mono 项目的网站上发现了 Debian Backports 这个宝藏,有了它,我们在 Sarge 上也可以使用最新版本的软件了。正好前天何老大发布了 Extman 0.2.0 正式版,今天又发布了 Extmail 1.0.1 正式版,于是打算一起将整个系统升级到最新版本。在升级的过程中,当然遇到了许多小小的挫折,不过,最后终于都解决了。下面就是升级过程的总结。

使用 Debian Backports 的好处是,你不需要将整个系统都升级到最新版本,只需要将你需要到升级的软件进行升级就可以了。这里我们只升级 Amavisd-new,SpamAssassin,ClamAV,Postfix,Courier 和 maildrop 就可以了。
.......[/quote]

很不错啊。加精华了!

fengyong 发表于 2007-3-14 11:02

受精!
感谢ing

sosogh 发表于 2007-3-15 01:34

[quote][b]下面是引用fengyong于2007-03-14 11:02发表的:[/b]
受精!
感谢ing[/quote]

呵呵

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.