架设邮件服务器之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       服务器IPsmtp.mydomain.com.             3600    IN      A       服务器IPmydomain.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
时间: 2024-10-28 23:56:03

架设邮件服务器之LEMP环境搭建的相关文章

架设邮件服务器之postfix&Dovecot

本教程来自http://blog.pztop.com/2016/04/20/Email-Server-With-Postfix-Dovecot-MailScanner-2/ 本教程仅仅做翻译和注释,版权归原作者所有. ----------------------------------正文----------------------------- postfix负责发信,dovecot负责收信(imap和pop3),一起完美构成邮件服务器. 我们使用MariaDB作为postfix用户和域名的数

LEMP环境搭建

传统上基于进程或线程模型架构的web服务通过每进程或每线程处理并发连接请求,这势必会在网络和I/O操作时产生阻塞,其另一个必然结果则是对内存或CPU的利用率低下.生成一个新的进程/线程需要事先备好其运行时环境,这包括为其分配堆内存和栈内存,以及为其创建新的执行上下文等.这些操作都需要占用CPU,而且过多的进程/线程还会带来线程抖动或频繁的上下文切换,系统性能也会由此进一步下降. 在设计的最初阶段,nginx的主要着眼点就是其高性能以及对物理计算资源的高密度利用,因此其采用了不同的架构模型.受启发

api-gateway实践(15)新服务网关 -运行环境搭建

一.运行环境 10.110.17.20 /opt/tomcat8.5.15/webapps http://10.110.17.20:7070/admin 二.应用列表 服务消费者: http://10.110.17.20:7070/DevApp/index.jsp 服务网关引擎: http://10.110.17.20:7070/api-gateway-engine/index.jsp 服务提供者: http://10.110.17.20:7070/SvcApp/index.jsp 三.测试用例

邮件服务器之编译安装postfix

安装环境:redhat5.8 2.6.18-194.el5 i386 mysql 5.6.25 (mysql> SELECT VERSION();) 安装前 关闭sendmail服务 service sendmail stop &&chkconfig sendmail off 安装gcc环境  yum -y install gcc+ 确认开发环境已安装; Development Libraries Development Tools 启动mysqld数据库服务. service my

iredmail邮件服务器之修改默认的web服务端口号

安装iredmail之后,由于需要在路由器上做端口映射以便在外网访问webmail,因此端口不能和WEB服务的端口好冲突,所以需要修改邮件服务器的httpd服务的端口. 一.apache/httpd的http服务和https服务端口号都要修改. 基本服务端口好办,iredmail默认安装下,修改/etc/httpd/conf/httpd.conf中的Listen一行即可,这里我改为8090 #Listen 80 Listen 8090 可是,roundcube的webmail服务都是使用的htt

api-gateway实践(14)新服务网关 - 演示环境搭建

一.本机调试网关引擎 1.服务注册中心 2.服务提供者发布(远程Tomcat8.5.15):http://10.110.17.20:7070/SvcApp/index.jsp 2.1.SvcApp.war 配置 2.2.发布目录 10.110.17.20 /opt/tomcat8.5.15/webapps 发布SvcApp.war到该目录 2.3.启动应用 cd /opt/tomcat8.5.15/bin ./startup.sh 2.4.验证应用 http://10.110.17.20:707

Linux架设DDNS服务器之自动更新脚本

问题描述:客户端是动态IP,每次连网之后要nsupdate下才可以把客户端的hostname 与IP映射更新到DNS Server上 命令如下: nsupdate -k K*****.key >server 192.*.*.* #dns server ip address >update delete yourfqdn A delete >update add yourFQDN 600 A your new IP 这样的效率实在是有点低,于是我就自己写个脚本来更新了.直接贴上我的脚本.脚

搭建Apache James邮件服务

什么是邮件服务器 邮件服务器是一种用来负责电子邮件收发管理的设备,而邮件服务就是责邮件的收信和发信功能,其最主要有pop和smtp两个协议.关于这两个协议,有着很多的知识点涵盖其中,这里不过多介绍.下面是我接触过的两个可以实现邮件服务的解决方案. 1.易邮邮件服务 在windows系统下,可以使用 易邮邮件服务 ,这个服务器简单而且实用,用在平时开发,测试或者局域网间的邮件收发还是挺方便的,不过我没有找到官方的,可以将易邮邮件服务安装在Linx的相关资料,因此不使用这个.这是易邮邮件服务的官方网

mac下通过docker搭建LEMP环境

在mac下通过docker搭建LEMP环境境 1.安装virtualbox.由于docker是在lxc环境的容器 2.安装boot2docker,用于与docker客户端通讯 > brew update > brew install docker > brew install boot2docker 3.初始化boot2docker,也就是在virtualbox上安装一个docker的host环境 boot2docker init 此时会下载一个镜像 4.启动虚拟机host :~$ bo