搭建
postfix
邮件服务器
实验环境:
在
RHEL5
系统中,搭建
Postfix
邮件系统,实现单域环境下收发邮件
。
Postfix
可以直接使用本地系统用户作为邮件用户,也可以使用虚拟邮件用户。虚拟邮件用户对应的账号信息通常存储于数据库中,最常见的是
MYSQL
数据库。
实验准备:
Ø
系统安装
安装
RHEL5
(或者更高版本,也可以安装
CENTOS5
)
,
可以采用图形化和文本模式两种安装模式,一般为了提高服务器的整体性能,一般采用文本模式安装。在这里我使用文本模式安装
RHEL5
,并且在安装过程没有选择任何软件包。在大多数情况下,
RHEL 5
系统默认安装了
sendmail
程序,用于提供基本的发信服务。因此,在安装
Postfix
前将
sendmail
服务停止,以免与
Postfix
服务发生冲突。
Ø
软件安装
所有需要软件包(
postfix,dovecot,squirrelmail,httpd
)都采用
rpm
包,如果存在依赖关系,使用
yum
方式安装。
Ø
服务器基本配置
主机名
mail.lwb.com
IP
地址
172.16.100.147
子网掩码
255.255.0.0
默认网关
172.16.100.147
DNS
服务器
172.16.100.147
实验思路:
1.
做主机名
2.
做
DNS
3.
安装并配置
postfix
服务器
4.
安装并配置
dovecot
服务器
5.
配置发信认证及
webmail
系统
6.
建立邮箱用户,进行收发邮件
实验步骤:
1.
做主机名
(
主机名为
mail.lwb.com)
主机名中必须包含邮件域的域名。如果是已经装好的系统,可以将主机名更改为包含相应邮件域的主机名;如果是新安装的系统,在安装时就可以直接设置主机名。不管是哪种情况,做好后,都要进行相应的检查,保证配置正确。
Ø
检查
/etc/hosts
文件,查看是否有主机名称解析记录
Ø
检查
/etc/sysconfig/network
文件,查看主机名是否正确
2.
配置
DNS
2.1
更改主配置文件(需要修改全局配置,并且在区域配置中添加相应邮件域及反向域)
2.2
创建区域数据库配置文件
Ø
在正向域中,需要添加
A
记录和
MX
邮件记录
mail IN A 172.16.100.147
lwb.com. IN MX 10 mail
|
Ø
在反向域中,添加
PTR
记录
147 IN PTR lwb.com.
|
2.3.
添加权限(这里添加权限方式跟普通添加读写权限方式不一样,不过这样做之后权限很合适,要详细了解,请查看《搭建
DNS
服务器》)
[root@mail ~]# bind-chroot-admin –s
|
2.4
重启服务,并设置开机自动启动
[root@mail ~]# service named restart
[root@mail ~]# chkconfig named on
|
3.
安装并配置
postfix
服务器
在配置之前,需要做
yum
,可以自动解决安装软件包时的相容性和依赖关系。
[root@mail ~]# mkdir /media/rhel5
[root@mail ~]# mount /dev/cdrom /media/rhel5
[root@mail ~]# cd /media/rhel5/Server
[root@mail Server]# rpm -ivh createrepo-0.4.4-2.fc6.noarch.rpm
[root@mail Server]# cd /media/
[root@mail media]# createrepo .
[root@mail ~]# vi /etc/yum.repos.d/rhel-debuginfo.repo
修改为以下内容
[rhel5]
baseurl=file:///media
enabled=1
gpgcheck=0
|
3.1
安装
Postfix
[root@mail ~]# rpm -ivh postfix-2.3.3-2.i386.rpm
|
3.2
编辑
main.cf
配置文件(该配置文件的修改分先后顺序
)
[root@mail ~]# vi /etc/postfix/main.cf
inet_interfaces = all
//
设置监听
25
端口在哪些
IP
地址可以使用
myhostname = mail.lwb.com
//
设置
Postfix
服务器使用的主机名
mydomain = lwb.com /
/
设置
Postfix
服务器使用的邮件域
myorigin = $mydomain
//
设置发件人邮件地址中的邮件域名
mydestination = $mydomain,$myhostname //
设置可接收的邮件地址中的域名
home_mailbox = Maildir/ //
设置邮件存储位置和格式
|
3.3
重启
postfix
服务,并验证其监听的
TCP
端口(
25
)
[root@mail ~]# service postfix restart
[root@mail ~]# chkconfig postfix on
[root@mail ~]# netstat -antp |grep :25
查看其
25
端口是否是如下信息(看是否有
4
个
0
)
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 4626/master
|
4
.安装并配置
dovecot
服务器
4.1
安装
dovecot
(需要使用
YUM
方式安装)
[root@mail ~]# yum install dovecot* -y
|
4.2
修改
dovecot.conf
配置文件
[root@mail ~]# vi /etc/dovecot.conf
ssl_disable = yes //
禁用
SSL
机制
protocols = pop3 imap //
指定支持的邮局协议
disable_plaintext_auth = no //
允许明文密码认证
mail_location = maildir:~/Maildir //
设置邮件存储格式及位置
|
4.3
创建
PAM
认证文件(默认已创建,如果没有则创建如下文件)
[root@mail ~]# vi /etc/pam.d/dovecot
#%PAM-1.0
auth required pam_nologin.so
auth include system-auth
account include system-auth
session include system-auth
|
4.4cd /
重启
dovecot
,并验证其监听的
TCP
端口(
110
、
143
)
[root@mail ~]# service dovecot restart
[root@mail ~]# chkconfig dovecot on
查看其端口信息
[root@mail ~]# netstat -anpt |grep dovecot
tcp 0 0 :::110 :::* LISTEN 4687/dovecot
tcp 0 0 :::143 :::* LISTEN 4687/dovecot
|
5.
配置
webmail
系统和
SMTP
用户认证
5.1
配置
webmail
系统
1.
安装
squirrlmail
(使用
yum
方式,会自动安装
httpd
和
php
)
[root@mail ~]# yum install squirrelmail* -y
|
2.
创建及调整数据目录、附加目录
(
如果没有特殊需求也可不做此步,以及第
3
步的最后两项也不用更改,使用默认值
)
[root@mail ~]# cd /var/www/html/mail/
[root@mail mail]#mkdir attach data
[root@mail mail]#chown –R daemon.daemon attach data
[root@mail mail]#chmod 730 attach
|
3.
修改
config.php
配置文件
(
如果没有该文件,拷贝模板文件
config_default.php
,在进行修改
)
注:
/usr/share/squirrelmail
目录连接到网站根目录,而不要直接移到根目录下,会出现无法找到或打开默认配置文件。
[root@mail ~]# ln -s /usr/share/squirrelmail/ /var/www/html/mail
[root@mail ~]# cd /var/www/html/mail/config
[root@mail config]# vi config.php
$squirrelmail_default_language = 'zh_CN';
$default_charset = 'zh_CN.UTF-8';
$domain = 'lwb.com';
$smtpServerAddress = 'localhost';
$smtpPort = 25;
$imap_server_type = 'dovecot';
$imapPort = 143;
$data_dir = '/var/www/html/mail/data/';
$p_w_upload_dir = '/var/www/html/mail/attach/';
|
4.
重启
httpd
服务
[root@mail ~]# service httpd restart
[root@mail ~]# chkconfig httpd on
|
5.2
设置
SMTP
用户认证
1.
安装于“
cyrus
”相关的软件包(默认系统已经安装)
2.
修改
main.cf
配置文件,添加如下配置项
[root@mail ~]#vi /etc/postfix/main.cf //
添加下面内容
smtpd_sas1_auth_enable = yes
smtpd_sas1_security_options = noannonymous
mynetworks = 127.0.0.1
smtpd_recipient_restrictions=permit_mynetworks,permit_sas1_authenticated,reject_unauth_destination
|
3.
启动
saslauthd
服务
[root@mail ~]# service saslauthd restart
[root@mail ~]# chkconfig saslauthd on
|
4.
重启
postfix
服务
[root@mail ~]# service postfix restart
|
6.
建立邮箱用户(这里邮箱用户就是系统用户,为保证安全性,不允许登陆系统那个),然后直接在客户端浏览器中输入
http://mail.lwb.com/webmail/,
在
web
登陆页面中输入邮件用户账号和密码,即可进行收发邮件。
总结:
①
设置邮件群发功能
修改
/etc/aliases
文件,在该文件中,每一行对应为一条别名(这里可以把别名理解为组,把用户加入别名中,给别名发邮件,别名中的所有用户就会收到邮件)设置记录。设置后执行“
newaliases
”命令,以便重新生成“
/etc/aliases.db
”数据库文件。
例:
[root@mail ~]#vi /etc/aliases
zu:user1,user2,user3,user4
[root@mail ~]#newaliases
|
②
限制用户可发送的邮件大小
在
/etc/postfix/main.cf
配置文件中,添加如下配置项,该配置项对系统用户和虚拟邮件用户同时起作用,根据实际情况设置邮件大小限制。“
20971520
”表示
20M
。
[root@mail ~]# vi /etc/postfix/main.cf
message_size_limit = 20971520
|
③
限制用户的邮箱空间大小
在
Postfix
邮件系统中,根据邮件用户的类型、邮件存储的方式不同,可以分别采取不同的方式来限制用户的邮箱空间大小。下面是三种方式来限制用户的邮箱大小,使用时应根据
Postfix
服务器的具体情况进行选择。
u
Mailbox_size_limit
配置参数:主要针对使用
Mailbox
邮件存储方式的情况,默认的限制值为
50MB
。该配置参数对系统用户起作用。
u
Virtual_mailbox_limit
配置参数:主要针对使用虚拟邮件用户的情况,默认的值也是
50MB
。安装了
VDA
补丁以后,该配置参数对使用
Mailbox
或
Maidir
存储方式的用户都起作用。
u
Quota
磁盘配额功能:主要针对
Linux
系统用户作为邮件用户,可以直接使用
Linux
中的
quota
磁盘配额功能。这种方式对使用
Mailbox
或
Maildir
存储方式的用户都起作用。
④
为了避免对
Postfix
邮件系统的干扰,可以先暂时关闭防火墙和
selinux
服务。如果还是不能出现预期结果,就从前往后逐步检查配置是否正确。
[root@mail ~]#chkconfig –level 35 iptables off
[root@mail ~]#vi /etc/selinux/config
SELINUX=disabled
[root@mail ~]#reboot
|
总结与分析:
①
如果
Postfix
和
dovecot
都是
rpm
包安装,而
squirrelmail
程序包、中文语言包是
tar
软件包,如果出现以下问题。
需要在
/var/www/html/mail/data,
将创建的
data
目录的属主由设置为的
daemon
改为
apache
即可解决该问题。
②
在编译安装软件包时,有时候需要给特定的目录或文件设置属主、属组,这些都是在做软件包时特定要求的系统用户来执行,当然
root
用户也可执行。
例
1
:在做
Discuz
!论坛,释放出来的部分文件或目录需要设置属主为
daemon
。
例
2
:在做
Webmail
邮件页面时,创建的数据目录
data
和附加目录
attach
,需要
daemon
的属主和属组。
转载于:https://blog.51cto.com/liuwenbing/380744