CentOS安装邮件服务器

系统要求 Warning
阿里云封禁了邮件服务所必须的 25 端口,因此您不能使用阿里云来部署邮件服务器。
Warning
iRedMail 只针对全新安装的操作系统设计,它要求你的操作系统上 没有 事先 安装邮件服务相关的组件,例如 MySQL,OpenLDAP,Postfix,Amavisd,等。 iRedMail 会自动安装和配置邮件服务所需的组件,因此如果操作系统上已有相关 组件,iRedMail 可能会打乱你的配置并造成服务无法正常启动。
要在 Red Hat Enterprise Linux (以下简称 RHEL)或 CentOS 上安装 iRedMail,你需要:

  • 一个全新安装的 RHEL 或 CentOS 系统。支持的版本号在下载页面有注明。
  • 要运行一个低流量的邮件服务器,要求至少2 GB 内存才能使用完整的垃圾邮件和病毒扫描功能。
准备 为服务器设置一个完整域名(FQDN)的主机名
不管你的服务器将用于实际运行还是仅仅用作测试,都建议设置一个完整域名(FQDN)的主机名。
输入命令 hostname -f 查看当前的主机名
$ hostname -f mx.example.com

【CentOS安装邮件服务器】 在 RHEL/CentOS 系统上,主机名需要在两个文件里设置:
  • 对于 RHEL/CentOS 6,主机名定义在 /etc/sysconfig/network:
HOSTNAME=mx.example.com

对于 RHEL/CentOS 7,主机名定义在 /etc/hostname.
mx.example.com

  • /etc/hosts 里定义主机名和 IP 地址的对应关系。注意:一定要将 FQDN 主机名列在第一个。
127.0.0.1mx.example.com mx localhost localhost.localdomain

确认系统已使用设置好的 FQDN 作为主机名。如果没有生效,请重启系统。
$ hostname -f mx.example.com

禁用 SELinux
iRedMail 不支持 SELinux,所以需要在 /etc/selinux/config 文件里禁用它。
SELINUX=disabled

如果不希望禁用 SELinux,可以设置为让它打印警告信息但不强制限制:
SELINUX=permissive

也可以无须重启服务就禁用它:
# setenforce 0

启用必须的 yum 仓库
  • 对于 CentOS 系统,必须启用 /etc/yum.repos.d/CentOS-Base.repo 里定义的所有 CentOS 官方 yum 仓库。同时 禁用 所有第三方yum 仓库,以避免软件包冲突。
  • 对于 RHEL,请启用 Red Hat Network 以便安装软件包。
下载最新的 iRedMail
  • 访问下载页面下载最新的版本。
  • 上传 iRedMail 到服务器上。假设上传后的路径是 /root/iRedMail-x.y.z.tar.bz2 (这里以 x.y.z 代替实际的版本号)。
  • 解压缩 iRedMail 安装包:
# cd /root/ # tar xjf iRedMail-x.y.z.tar.bz2

运行 iRedMail 安装程序 现在可以运行 iRedMail 安装程序了,它会问你几个简单的问题,仅此而已。
Warning
  • 由于 iredmail.org 域名在国内无法访问,所以使用 IREDMAIL_MIRROR 指定 国内镜像站点。
  • 由于 SOGo 网站在国内访问非常慢,且网络容易出问题,因此使用 SOGO_PKG_MIRROR 指定国内镜像站点。
  • IREDMAIL_EPEL_MIRROR 参数则是为了加快安装速度而选用阿里云提供的 EPEL 软件包仓库镜像。
cd /root/iRedMail-x.y.z/ IREDMAIL_MIRROR='https://cnmirror.iredmail.org' \ SOGO_PKG_MIRROR='https://cnmirror.iredmail.org' \ IREDMAIL_EPEL_MIRROR='http://mirrors.aliyun.com/epel' \ bash iRedMail.sh

安装过程的截图
  • 欢迎和感谢使用
CentOS安装邮件服务器
文章图片

  • 指定用于存储用户邮箱的路径。默认是 /var/vmail/
CentOS安装邮件服务器
文章图片

  • 选择用于存储邮件账号的数据库。
Note
各个数据库之间没有太大区别,建议使用自己熟悉的数据库,便于后期维护。
CentOS安装邮件服务器
文章图片

  • 如果选择 OpenLDAP 数据库用于存储邮件账号,安装程序会要求你输入 LDAP 前缀:
CentOS安装邮件服务器
文章图片

MySQL/MariaDB/PostgreSQL 用户
如果选择 MySQL/MariaDB/PostgreSQL 用于存储邮件账号, 安装程序会为数据库的 root 用户生成一个随机的强密码,安装完成后可以在 iRedMail.tips 文件里找到。
  • 添加第一个邮件域名
CentOS安装邮件服务器
文章图片

  • 设置邮件管理员的密码
Note
该账号即是邮件管理员,也是普通的邮件账号,可以登录管理后台和 webmail。
CentOS安装邮件服务器
文章图片

  • 可选的组件
CentOS安装邮件服务器
文章图片

回答完上面的几个问题之后,安装程序给出本次安装的基本信息并要求确认是否实际 执行安装,请输入 yY 并按回车键确认,或 n, N 并按回车键中止安装。
CentOS安装邮件服务器
文章图片

安装完成后你必须知道的几个重要事项
  • 邮件服务器最薄弱的环节是用户的弱密码,所以请一定强制你的用户使用强度高的密码。
  • 阅读 /root/iRedMail-x.y.z/iRedMail.tips 文件,它包含了:
    • 各个 web 程序的访问地址(URL),用户名和密码。
    • 各个组件的配置文件路径。除此之外还应该阅读文档:Locations of configuration and log files of major components.
    • 以及其它一些重要和敏感信息
  • 设置 DNS 记录
  • 如何配置邮件客户端程序
  • 强烈建议获取 SSL 证书以避免每次访问 web 程序时烦人的自签名 SSL 证书警告, Let's Encrypt 提供免费的 SSL 证书。可根据该文档 配置获取的证书:use a SSL certificate.
  • 如果需要批量添加邮件账号,可以参考以下针对不同数据库的批量建账号的文档: OpenLDAP, MySQL/MariaDB/PostgreSQL。
  • 如果这是一台繁忙的服务器,这里有一些提升性能的建议。
访问 webmail 和其它 web 程序 安装完成后,可以通过以下 URL 访问相关程序。注意:请将 替换为实际的 服务器地址。
  • Roundcube webmail: https://your_server/mail/
  • SOGo Groupware: https://your_server/SOGo
  • Web 管理后台: httpS://your_server/iredadmin/
  • Awstats: httpS://your_server/awstats/awstats.pl?config=web (or ?config=smtp for SMTP log)

    推荐阅读