服务器 频道

Linux下邮件系统完美解决方案架设攻略

补充配置

    以下是补充的ExtMail Solution有关文档,主要是为希望进一步了解mail系统运行,并提高extmail效能的朋友准备,对于初学者而言,建议要先打好基础再进行测试。

    增加FCGI支持

    为extmail增加FCGI的支持,主要是为了获得优异的web效能,克服CGI不能应付大量访问及低效率的缺陷。根据我们的测试,CGI模式下的页面效率只有FCGI下的1/10~1/100,因此建议有条件的用户还是使用FCGI。日后ExtMail Solution的web CGI程序将全部都支持FCGI。

    安装mod_fastcgi

    mod_fastcgi 是针对Apache Web服务器的FCGI支持模块,下载地址: http://www.fastcgi.com/dist/mod_fastcgi-2.4.2.tar.gz

    编译指令:
wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.2.tar.gz tar xfz mod_fastcgi-2.4.2.tar.gz cd mod_fastcgi-2.4.2 cp Makefile.AP2 Makefile make top_dir=/etc/httpd install
    安装perl-FCGI

    除了Apache需要FCGI的支持外,extmail也需要相应的perl-FCGI模块。用以下命令安装:
rpm -ivh RPMS/perl-FCGI-0.67-2hzq.i386.rpm
    接下来将配置Apache,将如下的信息增加到/etc/httpd/conf/vhost_extmail.conf的虚拟主机配置之后:
    LoadModule fastcgi_module modules/mod_fastcgi.so

    FastCgiExternalServer /usr/bin/dispatch.fcgi -host 127.0.0.1:8888

    同时,去掉如下行:
    ScriptAlias /extmail/cgi/ /var/www/extsuite/extmail/cgi/
    改为:
    Alias /extmail/cgi/ /usr/bin/dispatch.fcgi/

    SetHandler fastcgi-script

    然后编辑/var/www/extsuite/extmail/dispatch-init文件,修改如下:
    BASE=/var/www/extsuite/extmail
    最后启动fastcgi server:
    /var/www/extsuite/extmail/dispatch-init start
    如果没有意外将启动10个dispatch.fcgi守护进程,可以通过以下命令将启动命令加到rc.local中,实现自启动:
    echo "/var/www/extsuite/extmail/dispatch-init start" >> /etc/rc.d/rc.local
    编译Courier-IMAP SRPM包
    需要自己重新编译Courier-IMAP的朋友,可以通过如下方式完成。
    下载软件包
    wget http://jaist.dl.sourceforge.net/sourceforge/courier/courier-imap-4.1.0.tar.bz2
    制作RPM包
    由于courier-imap需要非root帐户进行编译,因此必须su到sysadmin这个非root用户,然后输入如下指令:
mkdir $HOME/rpm mkdir $HOME/rpm/SOURCES mkdir $HOME/rpm/SPECS mkdir $HOME/rpm/BUILD mkdir $HOME/rpm/SRPMS mkdir $HOME/rpm/RPMS mkdir $HOME/rpm/RPMS/i386 echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros
    解开courier-imap-4.1.0.tar.bz2,取出courier-imap.spec文件,复制到$HOME/rpm/SPECS里,然后再复制courier-imap-4.1.0.tar.bz2到$HOME/rpm/SOURCE里

    注意事项:

    此版本的courier-imap需要openldap等相关包,所以编译前务必安装好openldap-devel等包
rpmbuild --ba $HOME/rpm/SPECS/courier-imap.spec
    编译完毕,在$HOME/rpm/RPMS/i386/下就有所有编译成功的rpm包了!

结束语

    通过此文档,读者应该能够较容易地架设一个功能较齐全的电子邮件系统。当使用一段时间后,用户将发现这个系统还有很多比较粗糙的地方,不尽人意。日后,本文档将继续保持更新,逐步将一些高级的设置方法公布出来,争取ExtMail Solution更加完整,力求完美。

    已知Bugs

    整个ExtMail Solution尽力将Opensource软件的优点发挥到极至,但免不了还是有bug。以下是几个已知的问题:

    WebMail
    • 删除/新增邮件时左帧数字不会变更
    • 不能处理少量违反RFC的邮件
    • 在某些版本Apache下偶尔出现会话失效问题
    • 还不支持IMAP创建的中文子目录
    Amavisd-new
    • 退信模板还是英文的
    • 产生的汇报信息不够友好
    Postfix
    • 本版本还不支持退信模板定制
    • 版本不是最新版
    Spam Locker
    • 错误识别一些配置异常的mail服务器
    • 与内容过滤器结合不够紧密
    • hostname模块易造成较多误伤
    TODO 列表
    • 支持SMTP 及 POP3/IMAP的TLS/SSL加密 
    • HTTP及SMTP/POP3等CA证书的配置
    • 更精细的Anti-Spam策略及关键字过滤
    • 系统安全配置(基于iptables)
    • BSD平台的ExtMail Solution文档

  附:本文版权归作者所有

    • 作者信息:hzqbbc
    • 文章原始出处:http://www.extmail.org/docs/extmail_solution_linux/
    • 项目首页:http://www.extmail.org
    • 补充修正: http://www.xiaohui.com/dev/server/20071020-extmail-solution-howto-for-linux.htm
    • 最后补充: XiaoHui (http://www.xiaohui.com, 2007-10-20

    变更说明

    • 0.20 2006-11-26:增加对uidnumber/gidnumber说明,感谢elm
    • 0.19 2006-11-25:增加对maildrop增加vuser/vgroup说明,感谢elm
    • 0.18 2006-09-04:修正一处输入错误,一处不明确的地方
    • 0.17 2006-08-30:修正缺漏receive_override_options的bug
    • 0.16 2006-08-28:修正maildrop配置错误,感谢风云!
    • 0.15 2006-08-17:增加mysql/httpd开机自启动的支持

    关于此文

    • 版  本:0.20
    • 作  者:He zhiqiang
    • 项目主页:http://www.extmail.org
    • 个人主页:http://www.hzqbbc.com
    • 最后更新:2006-11-26

0
相关文章