以下是补充的ExtMail Solution有关文档,主要是为希望进一步了解mail系统运行,并提高extmail效能的朋友准备,对于初学者而言,建议要先打好基础再进行测试。
为extmail增加FCGI的支持,主要是为了获得优异的web效能,克服CGI不能应付大量访问及低效率的缺陷。根据我们的测试,CGI模式下的页面效率只有FCGI下的1/10~1/100,因此建议有条件的用户还是使用FCGI。日后ExtMail Solution的web CGI程序将全部都支持FCGI。
Extmail开发团队花了大量时间重新设计了FCGI server的进程管理模型,并参考了apache的机制,新版dispatch.fcgi 终于可以象apache一样定义max server数,min server(启动进程数)以及每进程服务次数,每进程执行时限等,可较好的利用系统cpu/内存资源,既保证不多占内存,又可保证请求数上升时能有足够进程数服务。
就我们搜索发现,目前网上还没有开源版的FastCGI server能实现上述自适应负载功能(例如php-fpm还未实现,POE等也未实现),所以Extmail的dispatch.fcgi也许是第一个实现了这个功能。
mod_fastcgi 是针对Apache Web服务器的FCGI支持模块
下载地址: http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz
安装mod_fastcgi :
shell
安装perl-FCGI 除了Apache需要FCGI的支持外,extmail也需要相应的perl-FCGI模块。
shell
配置虚拟主机:
shell
增加内容如下:
LoadModule fastcgi_module modules/mod_fastcgi.so <Ifmodule mod_fastcgi.c> FastCgiExternalServer /usr/bin/dispatch.fcgi -host 127.0.0.1:8888 -idle-timeout 240 </Ifmodule> #同时,去掉如下行: #ScriptAlias /extmail/cgi/ /var/www/extsuite/extmail/cgi/ #改为: Alias /extmail/cgi/ /usr/bin/dispatch.fcgi/ <Location "/extmail/cgi"> SetHandler fastcgi-script </Location>
重启Apache和fastcgi server开机自启动:
shell
结束语:
通过此文档,读者应该能够较容易地架设一个功能较齐全的电子邮件系统。本文档将继续保持更新,逐步将一些高级的设置方法公布出来,争取ExtMail Solution更加完整,力求完美。
已知Bugs:
整个ExtMail Solution尽力将Opensource软件的优点发挥到极至,但免不了还是有bug。以下是几个已知的问题:
Amavisd-new
退信模板还是英文的 产生的汇报信息不够友好
TODO 列表
支持SMTP 及 POP3/IMAP的TLS/SSL加密 HTTP及SMTP/POP3等CA证书的配置 更精细的Anti-Spam策略及关键字过滤 系统安全配置(基于iptables)