作者:王兴宇 <wxy@cngnu.org>
版本:0.20
版权:GPL
发布日期:2004-01-29
目录
1. 概述
1.1. 目的
1.2. 更新历史
1.3. TODO
1.4. 鸣谢
2. 系统功能
3. 系统基本前提
4. 配置MySQL
4.1. 运行
4.2. 测试
4.3. 配置
5. 安装pam_mysql
5.1. 下载
5.2. 编译与安装
5.3. 配置
6. 安装Cyrus-SASL
6.1. 下载
6.2. 编译与安装
6.3. 配置
6.4. 运行
7. 安装Postfix
7.1. 下载
7.2. 编译与安装
7.3. 配置
7.4. 运行
7.5. 测试
8. 安装Cyrus-IMAP
8.1. 下载
8.2. 编译与安装
8.3. 配置
8.4. 运行
8.5. 测试
9. 安装IMP
9.1. 下载
9.2. 配置Apache/PHP
9.3. 配置Horde
9.4. 配置Imp
9.5. 配置Turba
9.6. 测试IMP
10. 其它
10.1. 启动脚本
10.2. 整体测试
1. 概述
1.1. 目的
本文试图介绍如何在一个Linux平台上安装一套功能完整的邮件系统。这里我们以Postfix做SMTP服务器、Courier-IMAP做POP3/IMAP4服务器、通过Cyrus-SASL对存储在MySQL数据库中的用户进行验证和授权,并且使用IMP来提供一个完善的WEBMAIL界面。
这个邮件系统的设计目标是提供一个可扩充的、具备大多数功能的邮件系统。
如果希望使用Cyrus-IMAP做为POP3/IMAP4服务器,可以参阅本文的姊妹篇:http://www.cngnu.org/technology/Postfix_I.html。
本文的最新版本可以在这里找到:http://www.cngnu.org/technology/Postfix_II.html
有关本文所涉及的技术问题,请到http://www.anti-spam.org.cn/forums/的mail版讨论,我会尽快回复的,请勿就技术问题给我发邮件。
本文的版权遵循GPL,可以在不删除版权信息和注明修改的情况下任意传播。
1.2. 更新历史
- 2004-01-29 第一次发布,版本0.20。
1.3. TODO
- 增加邮件列表功能
- 增加SSL部分的内容
- 翻译:希望有能力的朋友可以翻译这篇文章为英文,这样国外的朋友也可以看到
1.4. 鸣谢
2. 系统功能
系统逻辑结构:
+--------------------------------------------------------------+
| |
| 25/25 25/25 110/993 143/995 80/443 |
| Incoming Outgoing POP3 IMAP WEB-MAIL |
| /\ /\ /\ /\ /\ |
| || || || || || |
| \/ \/ \/ \/ \/ |
+---------------------------------+----------------+-----------+
| Postfix | | IMP |
| +------------------+ +-----------+
| | Cyrus-SASL | Courier-IMAP |
+----------+ +------------------+--------------+ |
| MailDrop | |authdaemond.mysql |(authmysqlrc) | |
+----------+---+------------------+--------------+-------------+
| MailDir/ | MySQL | MailDir/ |
+----------+-------------------------------------+-------------+
整个系统对外的界面包括几个部分,用来发信的SMTP、用来收信的POP3和IMAP、以及一个WEB界面的邮件使用系统。这里没有提供WEB界面的管理工具,需要大家自行依据实际需要开发。如果需要商业应用,可以购买CEM产品(http://cngnu.net/products/cem/),其中包括了完善的管理界面和优化的邮件服务器环境。
MySQL作为系统中存储数据的核心,它存储了用户的信息。这个信息不但用于POP3/IMAP和SMTP AUTH的认证需要,而且也为Postfix提供了本地接收者列表、邮件转发功能和过滤功能开关。
认证分为两种类型,Postfix中的发信认证是通过SASL对MySQL进行查询进行的;Courier-IMAP的收信认证是通过Courier-IMAP的MySQL支持进行的。
用户的信件是存储在标准的(Qmail格式)MailDir/中的。Postfix接收到信件后通过MailDrop投递到用户的MailDir/中。Courier-IMAP通过认证后访问MailDir/来读取信件。
3. 系统基本前提
本文以Linux系统为目标平台,支持多数的Linux平台如RedHat 7.x/8.x/9.x/AS2.1/AS3、Mandrake 8.x/9.x等,理论上也会支持其他的Linux发行版,甚至其他的UNIX系统。
这里以RedHat Linux Advance Server Enterprise V 3.0 (以下简称AS3)为说明平台。我采用了最基本的AS3安装,只选择了“Web Server”、“Dns Name Server”、“MySQL Database Server”、“Development Tools”和“Kernel Development”等软件包组(“Core”和“Base”组是默认必选的软件包)。
除此外,还需要额外安装以下RPM:
1、php-mysql-4.3.2-8.ent.i386.rpm(在CD3)
4. 安装MySQL
4.1. 下载
AS3默认是只包含MySQL除了服务器程序外的部分的,所以需要从RPMFIND下载MySQL的源RPM重建(最好使用源码包,采用MySQL.com提供的RPM和BIN包都可能在其它使用mysql的部分编译时候出现错误)。
[root@mail root]# cd /usr/src [root@mail src]# wget sql-3.23.58-1.src.rpm">ftp://rpmfind.net/linux/redhat/enterprise/3/en/os/i386/SRPMS/mysql-3.23.58-1.src.rpm
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/
领测软件测试网最新更新
关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved 北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2 技术支持和业务联系:info@testage.com.cn 电话:010-51297073 |