0


ubuntu22.04下搭建iRedMail邮件服务器

文章目录


前言

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


一、iredmail介绍?

1. iredmail是什么?

iRedMail是一个开源、免费的邮件服务器项目,基于GPL(v2)协议发布。官网 www.iredmail.org (国内不能访问),可以通过www.iredmail.com访问。

iRedMail 是一个强大且开源的电子邮件服务器套件,它简化了在 Linux 和 BSD 系统上部署和管理电子邮件服务器的过程。

iRedMail 集成了多个开源软件和服务,提供了一整套完整的电子邮件服务器解决方案,包括以下主要组件:

  1. Postfix
  • 功能:作为 SMTP 服务器,负责电子邮件的发送和接收。
  • 作用:处理邮件传输、路由和投递,确保邮件能够正确发送和接收。
  1. Dovecot
  • 功能:作为 POP3/IMAP/Managesieve 服务器,负责邮件存储和用户访问。
  • 作用:允许用户通过邮件客户端(如 Outlook、Thunderbird)或 Web 邮箱(如 Roundcube)访问和管理邮件,支持管理 Sieve 过滤规则。
  1. Apache
  • 功能:作为 Web 服务器,提供 HTTP/HTTPS 服务。
  • 作用:支持 iRedAdmin 和 Roundcube 等基于 Web 的应用,处理用户的 Web 请求。
  1. 数据库
  • 选项:可以选择 OpenLDAP、MySQL/MariaDB、PostgreSQL 作为用户和邮件账户的存储后台。
  • 功能:用于存储其他程序的数据,也可用于存储邮件帐号。
  • 作用:管理用户账户信息、配置数据和其他应用程序数据。
  1. OpenLDAP
  • 功能:用于存储邮件帐号。
  • 作用:提供集中化的用户认证和账户管理服务。
  1. Policyd
  • 功能:作为 Postfix policy server,提供策略控制。
  • 作用:实现限速、灰名单等策略,增强 Postfix 的功能。
  1. Amavisd
  • 功能:集成 DKIM 签名及校验、SPF 校验、垃圾邮件和病毒扫描。
  • 作用:调用 SpamAssassin 进行垃圾邮件扫描,调用 ClamAV 进行病毒扫描,并为外发邮件添加免责声明内容。
  1. SpamAssassin
  • 功能:基于内容的垃圾邮件过滤。
  • 作用:检测并过滤垃圾邮件,提高邮件服务器的安全性和可靠性。
  1. ClamAV
  • 功能:开源的防病毒引擎。
  • 作用:扫描和检测电子邮件中的病毒和恶意软件,保护邮件服务器免受病毒攻击。
  1. Roundcube
  • 功能:提供基于 Web 的邮箱客户端。
  • 作用:用户可以通过 Web 浏览器访问和管理电子邮件,支持丰富的插件和扩展。
  1. Awstats
  • 功能:分析 Apache 和 Postfix 日志文件,并生成图表。
  • 作用:提供详细的访问和使用统计报告,帮助管理员监控和分析邮件服务器的运行状况。
  1. Fail2ban
  • 功能:扫描日志文件,发现多次密码错误等情况时自动封禁对方 IP。
  • 作用:防止暴力破解攻击,提高服务器的安全性。
  1. iRedAdmin
  • 功能:基于 Web 的邮件账户管理程序。
  • 作用:管理员可以通过 Web 界面管理用户、域名、邮件列表和服务器配置,简化管理流程。
  1. SOGo
  • 功能:提供基于 Web 的邮件、日历和联系人管理。
  • 作用:用户可以通过 Web 界面访问电子邮件、管理日历和联系人,支持同步功能。
  1. Sieve
  • 功能:邮件过滤脚本语言。
  • 作用:用户可以创建自定义的邮件过滤规则,自动处理和分类邮件。
  1. Netdata
  • 功能:实时性能监控和分析。
  • 作用:监控服务器性能,提供详细的系统和服务的实时统计数据,帮助管理员快速诊断和解决问题。

2. iRedMail 的主要特点

  • 开源和免费:iRedMail 是完全开源的,用户可以自由下载、使用和修改。
  • 易于安装和配置:提供自动化安装脚本,简化了安装过程。
  • 安全性:集成了多种安全机制,如 SSL/TLS 加密、垃圾邮件和病毒过滤等。
  • 基于 Web 的管理界面:通过 iRedAdmin 提供方便的 Web 管理界面,用于管理用户、域名和邮件列表等。
  • 多平台支持:支持多种 Linux 发行版(如 Ubuntu、CentOS、Debian)和 FreeBSD。

3. 总结

iRedMail 是一个功能强大、易于使用的开源邮件服务器解决方案。

通过集成多种开源软件和服务,iRedMail 提供了一个完整的电子邮件服务器平台,适合中小型企业和个人用户使用。

安装和配置简单,管理和维护方便,是搭建电子邮件服务器的理想选择。

二、安装环境

1. linux系统环境

注意:最新的iredmail已经不支持centos6、7等操作系统环境,需要查询所安装的版本支持哪些环境,否则执行安装脚本时会报错
Release version of the operating system on this server is unsupported by iRedMail, please access below link to get the latest iRedMail and a list of supported Linux/BSD distributions and release versions.

在这里插入图片描述

当前最新iredmail-1.6.8 所支持的版本

在这里插入图片描述

2. 域名申请

需要申请独立的域名(可以采用本地映射的发送测试,但是只能发生邮件,不能接收邮件)

3. 环境配置

  1. 设置ubuntu系统的主机名,修改/etc/hosts文件,具体修改如下所示:sudovim /etc/hosts修改主机名图1. 修改主机名
  2. 修改/etc/hostname文件,具体内容如下所示。在这里插入图片描述图2. 修改/etc/hostname文件
  3. 终端输入reboot命令,重启ubuntu系统。reboot

iRedMail安装与配置

1. 下载iRedMail安装包

  1. 获取方式一: iredmail-1.6.8.tar.gz 下载地址:https://codeload.github.com/iredmail/iRedMail/tar.gz/refs/tags/1.6.8

  2. 获取方式二:在这里插入图片描述
    图3. iRedMail安装包

  3. 获取方式三:wget http://www.iredmail.com/iRedMail-1.6.8.tar.bz2 (当前最新版本为1.6.8,以后会变,请到http://www.iredmail.com/download.html 下载最新版本)

2. iRedMail安装

  1. 解压iRedMail-1.6.8.tar.gztar-zxvf iRedMail-1.6.8.tar.gz
  2. 执行iRedMail.sh脚本在这里插入图片描述
    图4. iRedMail.sh
  • 进入iRedMail的解压目录,给安装脚本iRedMail.sh文件添加可执行文件chmod +x iRedMail.sh
  • 运行安装脚本iRedMail脚本,进行iRedMail软件的安装并进行iRedMail的软件配置bash iRedMail.sh

如果需要指定数据库地址可以使用

USE_EXISTING_MYSQL='YES'\MYSQL_SERVER_ADDRESS='192.168.2.156'\MYSQL_SERVER_PORT='3306'\MYSQL_ROOT_USER='root'\MYSQL_ROOT_PASSWD='root'\MYSQL_GRANT_HOST='192.168.80.135'\INITIALIZE_SQL_DATA='NO'\bash iRedMail.sh

它将像往常一样启动iRedMail安装向导。

在上面的命令行中使用的参数:

USE_EXISTING_MYSQL:远程MySQL服务器地址。
MYSQL_SERVER_ADDRESS:远程MySQL服务器地址。
MYSQL_SERVER_PORT:远程MySQL服务器端口。默认值为 。3306
MYSQL_ROOT_USER:在安装iRedMail之前,我们在远程MySQL服务器上创建的MySQL用户名。
MYSQL_ROOT_PASSWD:我们在安装iRedMail之前在远程MySQL服务器上创建的MySQL密码。
MYSQL_GRANT_HOST:iRedMail服务器的主机名或IP地址。

iRedMail 将为 Postfix、Amavisd、 Roundcube 网络邮件等,并授予它们适当的权限,这些权限将连接 从 iRedMail 服务器。
另一个可选参数是 。如果你不想 iRedMail安装程序初始化任何sql记录,请设置。
这样 iRedMail 安装程序只需配置 相关配置文件以使用远程MySQL服务器。
INITIALIZE_SQL_DATA=NO

在这里插入图片描述

  1. 下载完misc中的依赖包后,开始进行软件配置在这里插入图片描述
    图5. 需要下载的依赖包
  • 详细流程如下图所示:在这里插入图片描述
    图6. 确定安装iRedMail
    在这里插入图片描述
    图7. 选择默认邮件存储路径(注意:要确保/目录挂在路径的存储容量够用)
    在这里插入图片描述
    图8.选择Nginx作为web服务器
    在这里插入图片描述
    图9.选择MariaDB作为数据库
    在这里插入图片描述
    图10.设置数据库密码
    在这里插入图片描述
    图11 设置第一个域名(cx.com)
    在这里插入图片描述
    图12 设置第一个域名管理员(postmaster@cx.com)的密码
    在这里插入图片描述
    图13 选择默认的插件
    核对安装的配置信息,都选择y进行软件的安装过程,持续时间大约10分钟左右
注意:确保外网连接,需要自动下载插件和库 如果速度较慢可以更换下载源 为huaweicloud 进行下载

在这里插入图片描述
图14 更换ubuntu的下载源
在这里插入图片描述
图15 iRedMail安装完成

  1. 重启ubuntu系统,获得ubuntu的ip地址(ifconfig命令),由于ubuntu虚拟机采用NAT网络连接,因此获得IP地址为:192.168.80.133。如下所示:在这里插入图片描述
    图16 获得ubuntu系统的ip地址

  2. iRedMail的访问地址有3类,分别是普通邮件用户登录地址,邮件服务器状态地址和管理员地址,分别如下所示:

https://你的域名/mail ——邮件登录地址

https://你的域名/netdata ——服务器状态监控

https://你的域名/iredadmin ——邮件服务器后台管理

以上ubuntu系统的ip地址为192.168.80.133,因此以上3类网页地址分别为:

https://192.168.80.133/mail ——邮件登录地址

https://192.168.80.133/netdata ——服务器状态监控

https://192.168.80.1335/iredadmin ——邮件服务器后台管理

  1. 在浏览器上分别输入以上3类地址,访问结果如下所示:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

四、其他配置(可选)

1. iRedMail调整邮件附件大小

iRedMail软件默认的邮件附件大小为10MByte

  1. 修改/etc/php/8.1/fpm/php.ini文件(8.1版本不一定相同),主要修改upload_max_filesize和post_max_size这两个参数,需要注意post_max_size需要大于等于upload_max_filesize。具体修改如下所示:在这里插入图片描述
    图 修改upload_max_filesize参数
    在这里插入图片描述
    图 修改post_max_size参数

  2. 修改/etc/postfix/main.cf文件的message_size_limit参数,如下所示:在这里插入图片描述
    图 修改message_size_limit参数

  3. 修改/opt/www/roundcubemail/config/config.inc.php文件中的max_message_size参数,如下所示:在这里插入图片描述
    图 修改最大消息的大小

  4. 修改完成后,重启ubuntu系统,通过网页进入邮件登录帐号,进入撰写新邮件界面,可以看到附件大小已经修改为100MB了。

2. 修改邮箱服务器的SSL证书(nginx、postfix、dovecot)

  1. 配置 Nginx在这里插入图片描述 配置后重启nginx服务
  2. 配置 postfix
  • 编辑 /etc/postfix/main.cf 文件以使用 SSL 证书。
  • 添加或修改以下行:
  • 在这里插入图片描述
  • 重启 Postfixsystemctl restart postfix
  1. 配置 dovecot
  • 编辑 /etc/dovecot/dovecot.conf文件以使用 SSL 证书。

在这里插入图片描述

  • 重启 Dovecotsystemctl restart dovecot

3. Java邮件客户端验证目标服务器的SSL证书

  1. 导入目标服务器的证书到Java信任库 可以将目标服务器的证书导入到Java的信任库中。步骤如下:
  • 获取目标服务器的证书 使用以下命令来获取目标服务器的证书并保存到一个文件中(例如,server.crt):
echo| openssl s_client -connect mail.cx.com:993 | openssl x509 > server.crt
  • 将证书导入到Java信任库 假设你的jdk安装在/path/to/java,可以使用keytool命令将证书导入到Java的信任库中:
keytool -import-alias mail -keystore /opt/env/jdk11/lib/security/cacerts -file /opt/iredMail/ssl/iRedMail.crt
系统会提示输入信任库的密码,默认密码是changeit。

4. 更新病毒数据库

  1. 更新 ClamAV 的病毒数据库文件。使用 freshclam 命令更新数据库:sudopkill-f freshclamsudo freshclam
  2. 检查病毒数据库路径: 确保 ClamAV 配置文件中指定的病毒数据库路径是正确的。编辑 /etc/clamav/freshclam.conf 和 /etc/clamav/clamd.conf 配置文件,确认病毒数据库路径。sudovim /etc/clamav/freshclam.confsudovim /etc/clamav/clamd.conf
  3. 在文件中,确保如下配置项:DatabaseDirectory /var/lib/clamav
  4. 重新启动 ClamAV 服务sudo systemctl start clamav-daemonsudo systemctl status clamav-daemon

如果更新不了,或者更新特别慢,可以手动下载病毒库文件,放到/var/lib/clamav/文件下,在更新病毒库。

病毒库文件链接(三个文件):
bytecode.cvd:http://db.local.clamav.net/bytecode.cvd

daily.cvd:http://db.local.clamav.net/daily.cvd

main.cvd:http://db.local.clamav.net/main.cvd

5. amavis启动失败,缺少’.pre’ 文件,v320.pre

  1. 去SpamAssassin官网,下载对应版本的完整压缩包https://spamassassin.apache.org/downloads.html
  2. 获取/Mail-SpamAssassin-3.4.6/rules/v320.pre 文件
  3. 将其放置到/etc/spamassassin/ 文件夹下
sudo systemctl restart spamassassin
sudo systemctl restart amavis

6.配置netdata汉化补丁

  1. 1.先备份或者重命名下面四个文件
dashboard_info.js dashboard.js main.js index.html

下载地址:https://github.com/DX-Kevin/Netdata-chinese-patch

  1. 下载本项目四个文件到 /opt/netdata/usr/share/netdata/web/ 目录
dashboard_info.js dashboard.js main.js index.html
  1. 修改四个文件的权限为:netdata:netdata
chown-R netdata:netdata /usr/share/netdata/web/

4.在系统防火墙添加默认端口:19999到例外
Ubuntu命令:

sudo ufw allow 19999

7. 配置组件日志

  1. 打开 dovecot.conf 文件
vim /etc/dovecot/dovecot.conf

单独配置日志

(需要将dovecot目录的权限设置为777 否则其他组件可能无法写入记录)

在这里插入图片描述
2. 打开 /etc/clamav/clamd.conf 文件

vim /etc/clamav/clamd.conf

单独配置日志
在这里插入图片描述
3. 打开/etc/clamav/freshclam.conf文件

vim /etc/clamav/freshclam.conf

在这里插入图片描述

  1. 打开 /etc/netdata/netdata.conf文件
vim /etc/netdata/netdata.conf

单独配置日志
在这里插入图片描述

8. 关闭全局灰名单

编辑 /opt/iredapd/settings.py 配置文件,将其中 plugins 默认启用的 greylisting 模块给删除,如

plugins =['reject_null_sender', 'amavisd_wblist', 'throttle', 'reject_sender_login_mismatch']

在这里插入图片描述

9. 对外发邮件禁用垃圾扫描、病毒扫描

要对外发邮件禁用垃圾扫描、病毒扫描功能,可以在 Amavisd 配置文件 /etc/amavisd/amavisd.conf
(RHEL/CentOS) 或 /etc/amavis/conf.d/50-user (Debian/Ubuntu) 或
/usr/local/etc/amavisd.conf (FreeBSD) 中增加 bypass 设置。

这些设置可以添加到 $policy_bank{‘ORIGINATING’} 配置里。例如:
在这里插入图片描述

或者

Amavisd 对本地外发的邮件不做邮件内容过滤和病毒扫描
在这里插入图片描述

更改设置后需要重启 Amavisd 服务以使更改生效

sudo systemctl restart amavis

10. DKIM 解析记录

  1. 查看本地值(就像是申请ssl证书使用的csr一样) amavisd-new showkeys (部分其他OS 可能会使用 amavisd 代替 amavisd-new) 如果提示 /etc/amavisd.conf not found 那就带上你的绝对路径:amavisd-new -c /etc/amavisd/amavisd.conf showkeys 输出内容:在这里插入图片描述

我们只需把换行内容和 “” 和最上面的提示删掉就好了

在DNS服务提供商添加一条TXT记录,解析值为除去引号和空格再相连后的DKIM数据:

v=DKIM1;p=MIIBIjANBgk……………………………………1QIDAQAB
  1. 本地检查 amavisd-new testkeys 如果输出内容如下(提示 pass)则设置成功!在这里插入图片描述

可以通过测试网址,测试你的邮箱发出的邮件评分。

  1. https://www.mail-tester.com/
  2. https://smtpserver.com/cn/mail-tester

11. 关闭postscreen 拦截器

Postfix的postscreen 又名垃圾邮件等拦截器
因国内的邮件过多的发送垃圾邮件,所以国内的好多都发不了
vi /etc/postfix/master.cf
找到大约12行后把
smtp inet n - - - 1 postscreen
修改为
smtp inet n - - - - smtpd
在这里插入图片描述

12. 允许不带 STARTTLS 的不安全 POP3/IMAP/SMTP 连接

使用默认的 iRedMail 设置时,所有客户端都强制使用 POP3/IMAP/SMTP 通过 STARTTLS 的服务实现安全连接。如果您的邮件客户端 尝试在没有 TLS 支持的情况下通过协议 POP3/IMAP 访问邮箱

  1. 允许不安全的 POP3/IMAP 连接 如果出于某种原因想要启用不带 STARTTLS 的 POP3/IMAP 服务 (同样,不推荐),请在 Dovecot 配置中更新以下两个参数 文件并重新启动 Dovecot 服务:**/etc/dovecot/dovecot.conf**
disable_plaintext_auth=no
ssl=yes

同样,强烈建议仅使用 POP3S/IMAPS 以获得更好的安全性。
iRedMail 配置的默认设置和推荐设置为:

disable_plaintext_auth=yes
ssl=required
  1. 允许端口 25 上不安全的 SMTP 连接

请在 Postfix 配置文件中注释掉下面的行,然后重新加载或重新启动 Postfix 服务:**/etc/postfix/main.cf**

smtpd_sasl_auth_enable =yes
smtpd_sasl_security_options = noanonymous

# force all clients to use secure connection through port 25# smtpd_tls_auth_only=yes

12. 修改Cron定时任务的接收邮箱

修改 /etc/crontab文件

vim /etc/crontab

增加这一行MAILTO
在这里插入图片描述
重启 cron 生效

sudo systemctl restart cron

五、报错

问题一:

ubuntu apt 安装报错:Media change: please insert the disc labeled ‘Ubuntu 22.04.4 LTS Focal Fossa - Release amd64 (20220831)’ in the drive ‘/cdrom/’ and press [Enter]

原因:

如果你在 Ubuntu 上使用 apt 安装软件包时遇到 “Media change: please insert the disc labeled …” 的错误消息,这通常是因为 apt 源列表中包含 CD/DVD 源,但你的系统中没有插入相应的安装介质(CD 或 DVD)。

解决方案:

检查 /etc/apt/sources.list文件中,是否出现 CD/DVD 源。

类似 deb cdrom:[Ubuntu 22.04.4 LTS Focal Fossa - Release amd64 (20220831)]/ focal main restricted 的行,则表示你的 apt 源列表中包含 CD/DVD 源。

编辑 /etc/apt/sources.list 文件,使用 # 注释 CD/DVD 源所在行,然后保存文件。

更新 apt 缓存,并清除旧的源信息:

sudoapt-get update
sudoapt-get clean

本文转载自: https://blog.csdn.net/weixin_44876263/article/details/139651972
版权归原作者 老友@ 所有, 如有侵权,请联系我们删除。

“ubuntu22.04下搭建iRedMail邮件服务器”的评论:

还没有评论