首页 > 代码库 > 架设邮件服务器之LEMP环境搭建

架设邮件服务器之LEMP环境搭建

本教程来自http://blog.pztop.com/2016/04/20/Email-Server-With-Postfix-Dovecot-MailScanner-1/

本教程仅仅做翻译和注释,版权归原作者所有。

----------------------------------正文-----------------------------

邮件服务器相当复杂,并不仅仅是收发邮件即可,同时也需要做好其他协同功能和安全防护,刚好最近帮公司搭建一台邮件服务器,把整个流程整理了下来。

当然,也有其他简单、快速的方法可以搭建邮件服务器,比如iRedMail,但我更喜欢一步步从头做起,这样可以了解如何把不同的组件搭配,以及他们是如何协同工作的。就像开车,多知道一些引擎和变速器的知识,可以帮助了解我们哪里出了问题并改进。

功能和组件

首先我把重要的需要的功能列出来

  • 支持域名和收件箱
  • 支持TARTTLS方式的SMTP
  • 支持SSL/TLS加密的MAP/POP3 
  • 有一个安全的网页邮箱地址
  • 有邮箱账户管理后台界面
  • 有ailScanner管理后台界面

下面是所需的组件

  • LEMP环境(CentOS 7 + Nginx + MariaDB + PHP),也就是LNMP
  • Postfix
  • Dovecot (使用Sieve filter)
  • MailScanner (使用ClamAV and Spamassassin)
  • MailWatch (Web UI for MailScanner)
  • RoundCube webmail
  • Postfix Admin (postfix后台管理界面,可以新增域名和邮箱账户)
  • Fail2ban and iptables (防火墙)
  • OpenSSL and Let’s Encripts SSL certificate(SSL支持)
  • OpenDKIM and SPF(增加邮件评分)

域名解析

搭建邮件服务器之前,先把域名解析设置好

mydomain.com.                  600     IN      A       服务器IP
smtp.mydomain.com. 3600 IN A 服务器IP
mydomain.com. 3599 IN MX 10 smtp.mydomain.com.
postfixadmin.mydomain.com. 1697 IN CNAME smtp.mydomain.com.
mailwatch.mydomain.com. 1697 IN CNAME smtp.mydomain.com.
roundcube.mydomain.com. 1697 IN CNAME smtp.mydomain.com.

有条件的VPS可以做好反向DNS

以centos7.2 64位系统为例进行安装,我会设置所有邮件保存到/home/vmail,所以请保证VPS有足够空间。

取消SELinux

sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g‘ /etc/selinux/config

安装必要命令

yum -y install net-tools nano wget man bind-utils git mailx telnet

防火墙

centos7默认有Firewalld作为防火墙,但我更喜欢iptables,所以卸载原来的,安装iptables。

systemctl stop firewalld
systemctl mask firewalld
systemctl disable firewalld

安装iptables

yum -y install iptables-services
systemctl enable iptables
systemctl start iptables

  安装fail2ban

yum install -y epel-release
yum install -y fail2ban jwhois

创建fail2ban配置文件

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
vim /etc/fail2ban/jail.local

编辑此文件如下

[sshd]
enabled = true
...

设置fail2ban启动和开机启动

systemctl start fail2ban.service
systemctl enable fail2ban.service

 

架设邮件服务器之LEMP环境搭建