案例需求

——公司共包括有北京总部及分散在全国各分公司的员工300多名,为了保证电子信息传递的及时、稳定性,减少业务沟通故障,需要在RHEL5服务器中搭建一套电子邮件系统。考虑到系统的安全性和稳定性,选择使用Postfix作为发送和传递邮件的服务器、Dovecot提供邮件收取服务,另外结合Apache安装SquirrelMail程序作为辅助用户使用邮件的Web界面

需求描述

邮件服务器的网络参数

主机名:mail.benet.com

IP地址:192.168.0.1/24

配置postfix、dovecot服务提供发信、收信功能

安装配置squirrelmail实现Webmail功能

邮件帐号使用系统用户,启用SMTP发信认证

限定每个用户的邮箱空间大小为500M

限定可发送的单封电子邮件不超过50M

邮件群组设置:

市场部 market,包括用户:zhang3、li4、wang5

技术部 tech,包括用户:zhao6、qian7、sun8

 

实现思路

任务1——

先配置好DNS服务器,负责benet.com域内主机的名称解析,并设置MX记录指向邮件服务器192.168.0.1

构建Postfix简易邮件系统_系统

构建Postfix简易邮件系统_邮件_02

编译安装postfix

1. 创建运行postfix服务的用户(postfix)、组(postdrop)

构建Postfix简易邮件系统_邮件_03

2. 解压并释放源码包,合并补丁包

构建Postfix简易邮件系统_Postfix_04

3. 预配置编译参数(一定不可以有差错!)

构建Postfix简易邮件系统_休闲_05

4. 编译并进行安装

构建Postfix简易邮件系统_休闲_06

必须保证编译没有出错!再进行编译安装

构建Postfix简易邮件系统_Postfix_07

构建Postfix简易邮件系统_构建_08

构建Postfix简易邮件系统_邮件_09

5. 使用postconf工具简化main.cf文件,只保留与默认配置不同的参数,提高易读性

构建Postfix简易邮件系统_构建_10

6. 关闭rhel5自带的sendmail服务,然后使用postfix命令启动Postfix服务,并检查邮件服务器程序的监听状态,无误后即可执行”postfix reload”重新载入配置信息

构建Postfix简易邮件系统_休闲_11

7. 编辑main.cf文件,调整Postfix基本运行参数

构建Postfix简易邮件系统_Postfix_12

构建Postfix简易邮件系统_Postfix_13

附:

在main.cf文件中的配置格式与Shell变量赋值的形式非常类似,采用“配置参数 = 值”的形式,等号“=”两边的空格可有可无

当配置参数的值包含多个内容时,以逗号、空格或换行分隔;参数值不能用单引号或双引号,否则会被视为参数值的一部分

关于main.cf配置文件中的常见配置参数,elinks html/index.html

postfix支持2种最常见的邮箱存储方式(当指定的存储位置最后一个字符为“/”时,自动使用Maildir存储方式)

Mailbox:将同一用户的所有邮件内容存储在同一个文件中,例如 “/var/spool/mail/username”,这种方式比较古老,在邮件数量较多时查询和管理的效率较低

Maildir:使用目录结构来存储用户的邮件内容,每一个用户对应有一个文件夹,每一封邮件作为一个独立的文件保存,例如/home/username/Maildir/*。这种方式存取速度和效率更好,而且对于邮件内容管理也更方便

完成基本配置,启动服务

编译安装dovecot,并进行基本配置,启动服务

安装squirrelmail套件,并配置启动httpd服务

8. 添加邮件用户的账号

构建Postfix简易邮件系统_Postfix_14

构建Dovecot服务器

1. 首先创建运行dovecot的用户

构建Postfix简易邮件系统_构建_15

2. 编译安装dovecot软件包

构建Postfix简易邮件系统_系统_16

构建Postfix简易邮件系统_休闲_17

3. 建立Dovecot的运行参数

构建Postfix简易邮件系统_Postfix_18

构建Postfix简易邮件系统_休闲_19

构建Postfix简易邮件系统_邮件_20

构建Postfix简易邮件系统_休闲_21

构建Postfix简易邮件系统_系统_22

4. 创建PAM认证文件

构建Postfix简易邮件系统_构建_23

构建Postfix简易邮件系统_构建_24

5. 启动Dovecot服务,并验证其监听的TCP端口(110/143)

构建Postfix简易邮件系统_休闲_25

扩展Postfix邮件系统的功能

1. 依次安装程序包、中文语言包

构建Postfix简易邮件系统_Postfix_26

2. 创建及调整数据目录、附件目录

构建Postfix简易邮件系统_构建_27

3. 建立config.php配置文件

构建Postfix简易邮件系统_休闲_28

构建Postfix简易邮件系统_Postfix_29

构建Postfix简易邮件系统_Postfix_30

构建Postfix简易邮件系统_邮件_31

构建Postfix简易邮件系统_Postfix_32

构建Postfix简易邮件系统_系统_33

构建Postfix简易邮件系统_系统_34

构建Postfix简易邮件系统_系统_35

构建Postfix简易邮件系统_系统_36

构建Postfix简易邮件系统_休闲_37

4. 重新启动httpd服务

构建Postfix简易邮件系统_休闲_38

5. 给用户设置密码

构建Postfix简易邮件系统_休闲_39

阶段测试:

通过Web界面访问邮件系统测试发信、收信功能

构建Postfix简易邮件系统_休闲_40

构建Postfix简易邮件系统_构建_41

任务2——

设置SMTP的用户认证

构建Postfix简易邮件系统_系统_42

1. 查看系统中已安装的与”cyrus”相关的RPM软件包

构建Postfix简易邮件系统_构建_43

2. 设置Cyrus SASL函数库

构建Postfix简易邮件系统_邮件_44

构建Postfix简易邮件系统_系统_45

3. 启动saslauthd服务

构建Postfix简易邮件系统_构建_46

4. 修改main.cf配置文件,添加SMTP认证相关的配置参数,并重新加载配置

构建Postfix简易邮件系统_Postfix_47

配置邮件别名数据库,配置并启动saslauthd服务

5. 使用OE验证在没有身份验证时,邮件将无法发往外域

构建Postfix简易邮件系统_休闲_48

6. 设置OE支持身份验证时,成功!

构建Postfix简易邮件系统_构建_49

构建Postfix简易邮件系统_休闲_50

修改main.cf文件,添加实现邮件、邮箱配额和SMTP认证的配置参数,并使postfix重新加载配置

1. 修改main.cf配置文件,使用”/etc/aliases”文件的hash数据作为查询表

构建Postfix简易邮件系统_Postfix_51

构建Postfix简易邮件系统_Postfix_52

2. 设置邮件别名实现群发功能

构建Postfix简易邮件系统_Postfix_53

构建Postfix简易邮件系统_系统_54

构建Postfix简易邮件系统_休闲_55

3. 验证使用li4给tech发一份邮件,看zhao6.、qian7和sun8是否收到

构建Postfix简易邮件系统_邮件_56

构建Postfix简易邮件系统_Postfix_57

限制邮件大小、邮箱空间限制

1. 限制用户可发送的邮件大小

构建Postfix简易邮件系统_构建_58

构建Postfix简易邮件系统_邮件_59

构建Postfix简易邮件系统_构建_60

2. 发送一个大于20M的附件,验证是否限制了邮件大小

构建Postfix简易邮件系统_系统_61

构建Postfix简易邮件系统_Postfix_62

3. 限制用户的邮箱空间大小

构建Postfix简易邮件系统_Postfix_63

构建Postfix简易邮件系统_系统_64

构建Postfix简易邮件系统_系统_65

附: virtual_mailbox_limit配置参数对Mailbox或Maildir存储方式都起作用

(使用该参数需要安装VDA补丁)

注意:

要提前准备好已编译好LMAP环境的虚拟机(需要支持CGI、SUEXEC);提前准备好实验所需的全部软件;要关闭系统自带的sendmail程序

pdf技术文档下载: http://down.51cto.com/data/102044