1. 我们使用git安装iRedMail系统。

执行:

apt-get update && apt-get upgrade -y
apt-get install git -y
git clone https://github.com/iredmail/iRedMail.git
cd iRedMail
bash iRedMail.sh

系统将会自动开始安装。安装过程中会出现下面这些情况,您需要依次根据您自己的信息来设置。

首先,需要指定安装目录,如下图。这里可以保持默认的/var/vmail, 也可以设置为/srv/vmail等,依个人喜好即可;请勿将其设置在/home目录之内。


第二步需要选择是否安装Web服务器。如果您只需要客户端收发信,可以不安装web服务器,其他情况下则建议安装Nginx. 按回车键进入下一步。


第三步要选择使用的数据库。我们这里选择比较简单的MariaDB. 用方向键选择MariaDB, 按空格键选中,然后回车进入下一步。


第四步则要为MariaDB设置root用户密码,输入完毕后按回车继续。


接下来一步非常重要,我们要设置第一个发信域名。如果您的邮件服务器域名为mx.qing.su, 那么这里您可以设置为qing.su


然后,我们为管理员邮箱设置管理密码。请牢记,若您的域名为example.com, 则管理员邮箱地址为postmaster@example.com.


最后一步设置,我们需要选择安装的功能。默认选择Roundcubemail + netdata + iRedAdmin + Fail2ban即可。SOGo实测没有Roundcube好用,若您喜欢这个看上去更高端的面板,也可以安装。


设置完毕后,屏幕上会列出来这些信息,我们输入y确认安装。

安装需要大概10分钟左右。全部安装好之后,系统会提示是否设置防火墙规则,我们输入y确认即可。


这样,iRedMail就安装好了。在开始配置之前,我们需要重启服务器。

reboot

2. 安装SSL证书

重启完毕之后,所有的服务就开始运行了。此时,服务器所有的TLS/SSL证书全部为自签,因此浏览器访问或者邮件客户端收发信时会收到不信任证书的提示。我们需要获取商业SSL证书。这里,我们将以免费的Let’s Encrypt证书为例配置SSL.

apt-get install certbot

若您的Ubuntu版本为18.04, 则需要在上条命令之前加上下面两行:

apt install software-properties-common
add-apt-repository ppa:certbot/certbot

然后,即可申请免费的Let’s Encrypt证书:

certbot certonly –webroot -d mx.qing.su -w /var/www/html/

以mx.qing.su为例,生成的证书地址为/etc/letsencrypt/live/mx.qing.su/fullchain.pem, 私钥为/etc/letsencrypt/live/mx.qing.su/privkey.pem

申请完毕后,我们首先配置Nginx.

编辑文件/etc/nginx/templates/ssl.tmpl, 找到下面两行:

ssl_certificate /etc/ssl/certs/iRedMail.crt;
ssl_certificate_key /etc/ssl/private/iRedMail.key;

将地址替换为您的证书地址,我这里是:

ssl_certificate /etc/letsencrypt/live/mx.qing.su/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mx.qing.su/privkey.pem;

保存好后重新载入Nginx配置文件:

service nginx reload

收发信时,同样需要用到TLS安全验证,因此我们还需要配置Postfix和Dovecot. 首先,编辑/etc/postfix/main.cf文件,找到下面这三行(我这里是第95 ~ 97行):

smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail.crt
smtpd_tls_CAfile = /etc/ssl/certs/iRedMail.crt

将其替换为您的证书地址:

smtpd_tls_key_file = /etc/letsencrypt/live/mx.qing.su/privkey.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mx.qing.su/cert.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/mx.qing.su/chain.pem

保存好之后重新载入Postfix配置文件。

service postfix reload

最后,给Dovecot配置证书。编辑文件/etc/dovecot/dovecot.conf, 找到下面这两行(我这里是第47和48行):

ssl_cert = </etc/ssl/certs/iRedMail.crt
ssl_key = </etc/ssl/private/iRedMail.key

将其替换为您的证书地址:

ssl_cert = </etc/letsencrypt/live/mx.qing.su/fullchain.pem
ssl_key = </etc/letsencrypt/live/mx.qing.su/privkey.pem

保存好之后重新载入Dovecot配置文件。

service dovecot reload

这样,我们为Nginx, Postfix, Dovecot分别配置好了SSL/TLS安全证书。

3. 禁用iRedMail灰名单

灰名单(greylist)是一项防止垃圾邮件的功能,iRedMail默认开启了该功能。但是,该功能开启之后,收所有信件的时候都有较长时间的延迟。因此,我们这里将该功能关闭。

我们首先给配置文件提权:

chmod +w /opt/iredapd/settings.py

然后编辑该文件(/opt/iredapd/settings.py),找到下面这行:

plugins = [“reject_null_sender”, “wblist_rdns”, “reject_sender_login_mismatch”, “greylisting”, “throttle”, “amavisd_wblist”, “sql_alias_access_policy”]

将其中的”greylisting”这项删去即可。然后,重启iredapd, 并且恢复文件权限。

service iredapd restart
chmod -w /opt/iredapd/settings.py

4. 设置其他DNS

配置好SPF, DMARC, DKIM等记录,可以提高发信到达率与成功率。这几种记录的原理我就不做太多介绍了,我们这里仅仅介绍如何配置这几条记录。

(1) SPF记录

您需要设置一条TXT记录,将根域名(比如我这里的qing.su)解析值设置如下。

v=spf1 mx ~all

(2) DMARC记录

DMARC记录的设置比较复杂,我们这里先简单设置一下,对于普通的域名邮箱足够使用了。以qing.su域名为例,您需要添加一条TXT记录,将_dmarc.qing.su (请不要遗漏dmarc前面的那个下划线)解析值设置为如下:

v=DMARC1; p=none; pct=100; rua=mailto:dmarc@qing.su

(3) DKIM记录

配置DKIM记录之前,我们先要生成DKIM密钥。在SSH中执行:

amavisd-new showkeys

会看到类似于下面的密钥:

然后,以域名qing.su为例,请去您的DNS服务提供商那里,添加一条TXT记录,将dkim._domainkey.qing.su解析到”v=DKIM1; p=MIIBIj……………………………………ZX/AwIDAQAB”。请注意,这里的解析值包含了屏幕上给出的引号里面包含的全部内容,但是您需要删除中间多余的引号,将这些字符串拼接起来,仅保留首尾的引号。

5. 添加用户及测试

到这里,基本上所有的设置步骤都完成了,我们可以添加用户开始发邮件了。所有的用户管理均可以通过网站界面完成,无需手动执行数条MySQL命令添加用户(依稀记得我自己搭建的第一台邮件服务器,全部的域名和邮箱配置全都是手动一条条SQL命令完成的……)

如果您的邮件服务器主机名为mx.qing.su, 那么我们访问https://mx.qing.su/iredadmin, 即可进入管理员面板。管理面板的用户名为postmaster@qing.su, 密码为您安装iRedMail时设置的管理员密码。

这样,我们新建好了用户。若您设置的邮件服务器地址为mx.qing.su, 则邮箱的登录面板为https://mx.qing.su/mail, 若您直接访问https://mx.qing.su也会自动跳转至这个登录链接。

如果您需要使用客户端来收发信,则smtp, pop, imap地址均为mx.qing.su, 端口是常用的端口(SMTP: 25/587, POP3: 110/995, IMAP: 143/993).

CentOS下安裝iRedMail相关推荐

  1. CentOS下安裝Nvidia docker 2.0:[Errno 256] No more mirrors to try錯誤及解決方式

    CentOS下安裝Nvidia docker 2.0:[Errno 256] No more mirrors to try. [Errno 14] HTTPS Error 404 - Not Foun ...

  2. ubuntu20.04系统 ros noetic下安裝orbslam2

    ros noetic下安裝orbslam2 可以先过目下之前写的在18.04上安装orbslam2,然后看下面的安装教程 orbslam安装 1.安装Pangolin git checkout v0. ...

  3. fedora nginx php,在fedora16下安裝nginx + php-fpm

    在fedora16下安裝nginx + php-fpm 1.安装Nginx 直接运行如下命令: yum install nginx 然后我们创建系统启动nginx的链接,并启动它: systemctl ...

  4. linux 安装java se,Linux 下安裝 Java SE Development Kit(JDK)並配置環境變量

    終端輸入以下命令: # 創建 JDK 目錄,-p 為創建多個目錄 $ sudo mkdir -p /opt/java # 將 JDK 解壓到指定目錄(看自己的習慣) $ sudo tar zxvf ~ ...

  5. [Python學習筆記] 在Centos上安裝 Django

    曾在模擬器跟Digital Ocean上安裝成功,我在 Digital Ocean上的是CentOS 7 x64,模擬器的則是Centos 6. 雖然Centos 本身已經裝好 Python 但是是2 ...

  6. Windows 下安裝 OpenCC

    什麼是OpenCC? 請到這查看 當你很開心的使用以下指令,你就會踢到一個很痛的鐵版. ? 1 C:\>pip install opencc-python 然後Python就會跟你抱怨下面的事, ...

  7. ubuntu14下安裝及搜狗拼音输入法打不出汉字的解决方法

    安裝方法 https://jingyan.baidu.com/article/ad310e80ae6d971849f49ed3.html 打不出字解決方法 http://www.cnblogs.com ...

  8. 高通wifi驱动 linux,ubuntu下安裝Qualcomm Atheros QCA6174無線網卡驅動方法

    lspci | grep Qu 07:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapt ...

  9. php5.2.5 mysql_IIS6 下安裝 PHP5.2.5 和 MySQL5.0 及概念澄清

    假設 PHP 文件夾位於 D:/php_forIIS. 1,php.ini 一定要拷貝到 Windows 文件夾下(重要且必須). 而 PHP4.x 版本可以不用這么做.在 Windows2003 + ...

  10. php70wfpm,CentOS 7 安裝 Nginx、PHP7、PHP-FPM

    修改 PHP-FPM listen 的方式 若想將 PHP-FPM listen 的方式,改成 unix socket,可以編輯 /etc/php-fpm.d/www.conf 將 listen = ...

最新文章

  1. FPGA之道(73)设计方法学与FPGA程序设计的境界
  2. 多线程Java Socket编程示例
  3. 网页播放rtsp视频流
  4. php常用快捷键,phpstorm常用快捷键
  5. 介绍Java中的内存泄漏
  6. 王道操作系统考研笔记——2.3.4 信号量机制
  7. 【POJ - 1050】To the Max (dp)
  8. 怎样将树的中序遍历的数输入到一个数组中_数据结构与算法-二叉查找树平衡(DSW)...
  9. linux内核网络基础,linux网络内核基础.doc
  10. 1.redis单机部署
  11. 红米Note刷机包 移动版 开发版4.9.23 蝰蛇音效 CRT锁屏动画 最流畅的ROM
  12. windows环境下,CMD控制台查看进程、结束进程相关命令
  13. 同源时钟/同步时钟/异步时钟/同源时钟之间时序约束/clk group
  14. 【“玩物立志”-scratch少儿编程】亲手实现小猫走迷宫小游戏:其实挺简单
  15. 使用itextpdf对PDF文件添加页码
  16. 软件开发流程中的测试及测试方法简介
  17. 大学物理实验长度的测量实验报告_大学物理实验长度的测量实验总结
  18. 什么是Java面向对象OOP
  19. 大数据 Linux 搭建(一)
  20. 计算机语言中nl,这个nl_NL语言环境中的日期时间模式是什么?

热门文章

  1. 华为ICT题目-云服务题库1
  2. 字节跳动怎么都十万人了?
  3. 电视上设置禁止安装不是从Android,简单操作解决电视不让安装第三方软件方法...
  4. Linux介绍及基本操作
  5. Struts1 面试题目总结
  6. Struts2概述及与Struts1的对比
  7. OpenLayers叠加天地图矢量、影像、注记
  8. 为树莓派制作系统镜像时进行瘦身,方便后续保存与批量写入
  9. 思科单臂路由最详细教程
  10. GDAL坐标转换六参的使用方法