文章目录
前言
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
一、iredmail介绍?
1. iredmail是什么?
iRedMail是一个开源、免费的邮件服务器项目,基于GPL(v2)协议发布。官网 www.iredmail.org (国内不能访问),可以通过www.iredmail.com访问。
iRedMail 是一个强大且开源的电子邮件服务器套件,它简化了在 Linux 和 BSD 系统上部署和管理电子邮件服务器的过程。
iRedMail 集成了多个开源软件和服务,提供了一整套完整的电子邮件服务器解决方案,包括以下主要组件:
- Postfix:
- 功能:作为 SMTP 服务器,负责电子邮件的发送和接收。
- 作用:处理邮件传输、路由和投递,确保邮件能够正确发送和接收。
- Dovecot:
- 功能:作为 POP3/IMAP/Managesieve 服务器,负责邮件存储和用户访问。
- 作用:允许用户通过邮件客户端(如 Outlook、Thunderbird)或 Web 邮箱(如 Roundcube)访问和管理邮件,支持管理 Sieve 过滤规则。
- Apache:
- 功能:作为 Web 服务器,提供 HTTP/HTTPS 服务。
- 作用:支持 iRedAdmin 和 Roundcube 等基于 Web 的应用,处理用户的 Web 请求。
- 数据库:
- 选项:可以选择 OpenLDAP、MySQL/MariaDB、PostgreSQL 作为用户和邮件账户的存储后台。
- 功能:用于存储其他程序的数据,也可用于存储邮件帐号。
- 作用:管理用户账户信息、配置数据和其他应用程序数据。
- OpenLDAP:
- 功能:用于存储邮件帐号。
- 作用:提供集中化的用户认证和账户管理服务。
- Policyd:
- 功能:作为 Postfix policy server,提供策略控制。
- 作用:实现限速、灰名单等策略,增强 Postfix 的功能。
- Amavisd:
- 功能:集成 DKIM 签名及校验、SPF 校验、垃圾邮件和病毒扫描。
- 作用:调用 SpamAssassin 进行垃圾邮件扫描,调用 ClamAV 进行病毒扫描,并为外发邮件添加免责声明内容。
- SpamAssassin:
- 功能:基于内容的垃圾邮件过滤。
- 作用:检测并过滤垃圾邮件,提高邮件服务器的安全性和可靠性。
- ClamAV:
- 功能:开源的防病毒引擎。
- 作用:扫描和检测电子邮件中的病毒和恶意软件,保护邮件服务器免受病毒攻击。
- Roundcube:
- 功能:提供基于 Web 的邮箱客户端。
- 作用:用户可以通过 Web 浏览器访问和管理电子邮件,支持丰富的插件和扩展。
- Awstats:
- 功能:分析 Apache 和 Postfix 日志文件,并生成图表。
- 作用:提供详细的访问和使用统计报告,帮助管理员监控和分析邮件服务器的运行状况。
- Fail2ban:
- 功能:扫描日志文件,发现多次密码错误等情况时自动封禁对方 IP。
- 作用:防止暴力破解攻击,提高服务器的安全性。
- iRedAdmin:
- 功能:基于 Web 的邮件账户管理程序。
- 作用:管理员可以通过 Web 界面管理用户、域名、邮件列表和服务器配置,简化管理流程。
- SOGo:
- 功能:提供基于 Web 的邮件、日历和联系人管理。
- 作用:用户可以通过 Web 界面访问电子邮件、管理日历和联系人,支持同步功能。
- Sieve:
- 功能:邮件过滤脚本语言。
- 作用:用户可以创建自定义的邮件过滤规则,自动处理和分类邮件。
- 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. 环境配置
- 设置ubuntu系统的主机名,修改/etc/hosts文件,具体修改如下所示:
sudovim /etc/hosts
图1. 修改主机名 - 修改/etc/hostname文件,具体内容如下所示。图2. 修改/etc/hostname文件
- 终端输入reboot命令,重启ubuntu系统。
reboot
iRedMail安装与配置
1. 下载iRedMail安装包
获取方式一: iredmail-1.6.8.tar.gz 下载地址:https://codeload.github.com/iredmail/iRedMail/tar.gz/refs/tags/1.6.8
获取方式二:
图3. iRedMail安装包获取方式三:wget http://www.iredmail.com/iRedMail-1.6.8.tar.bz2 (当前最新版本为1.6.8,以后会变,请到http://www.iredmail.com/download.html 下载最新版本)
2. iRedMail安装
- 解压iRedMail-1.6.8.tar.gz
tar-zxvf iRedMail-1.6.8.tar.gz
- 执行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
- 下载完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安装完成
重启ubuntu系统,获得ubuntu的ip地址(ifconfig命令),由于ubuntu虚拟机采用NAT网络连接,因此获得IP地址为:192.168.80.133。如下所示:
图16 获得ubuntu系统的ip地址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 ——邮件服务器后台管理
- 在浏览器上分别输入以上3类地址,访问结果如下所示:
四、其他配置(可选)
1. iRedMail调整邮件附件大小
iRedMail软件默认的邮件附件大小为10MByte
修改/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参数修改/etc/postfix/main.cf文件的message_size_limit参数,如下所示:
图 修改message_size_limit参数修改/opt/www/roundcubemail/config/config.inc.php文件中的max_message_size参数,如下所示:
图 修改最大消息的大小修改完成后,重启ubuntu系统,通过网页进入邮件登录帐号,进入撰写新邮件界面,可以看到附件大小已经修改为100MB了。
2. 修改邮箱服务器的SSL证书(nginx、postfix、dovecot)
- 配置 Nginx 配置后重启nginx服务
- 配置 postfix
- 编辑
/etc/postfix/main.cf
文件以使用 SSL 证书。 - 添加或修改以下行:
- 重启 Postfix
systemctl restart postfix
- 配置 dovecot
- 编辑
/etc/dovecot/dovecot.conf
文件以使用 SSL 证书。
- 重启 Dovecot
systemctl restart dovecot
3. Java邮件客户端验证目标服务器的SSL证书
- 导入目标服务器的证书到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. 更新病毒数据库
- 更新 ClamAV 的病毒数据库文件。使用 freshclam 命令更新数据库:
sudopkill-f freshclamsudo freshclam
- 检查病毒数据库路径: 确保 ClamAV 配置文件中指定的病毒数据库路径是正确的。编辑 /etc/clamav/freshclam.conf 和 /etc/clamav/clamd.conf 配置文件,确认病毒数据库路径。
sudovim /etc/clamav/freshclam.confsudovim /etc/clamav/clamd.conf
- 在文件中,确保如下配置项:
DatabaseDirectory /var/lib/clamav
- 重新启动 ClamAV 服务
sudo systemctl start clamav-daemonsudo systemctl status clamav-daemon
如果更新不了,或者更新特别慢,可以手动下载病毒库文件,放到/var/lib/clamav/文件下,在更新病毒库。
病毒库文件链接(三个文件):
bytecode.cvd:http://db.local.clamav.net/bytecode.cvddaily.cvd:http://db.local.clamav.net/daily.cvd
main.cvd:http://db.local.clamav.net/main.cvd
5. amavis启动失败,缺少’.pre’ 文件,v320.pre
- 去SpamAssassin官网,下载对应版本的完整压缩包
https://spamassassin.apache.org/downloads.html
- 获取/Mail-SpamAssassin-3.4.6/rules/v320.pre 文件
- 将其放置到/etc/spamassassin/ 文件夹下
sudo systemctl restart spamassassin
sudo systemctl restart amavis
6.配置netdata汉化补丁
- 1.先备份或者重命名下面四个文件
dashboard_info.js dashboard.js main.js index.html
- 下载本项目四个文件到 /opt/netdata/usr/share/netdata/web/ 目录
dashboard_info.js dashboard.js main.js index.html
- 修改四个文件的权限为:
netdata:netdata
chown-R netdata:netdata /usr/share/netdata/web/
4.在系统防火墙添加默认端口:19999到例外
Ubuntu命令:
sudo ufw allow 19999
7. 配置组件日志
- 打开 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
- 打开 /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 解析记录
- 查看本地值(就像是申请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
- 本地检查 amavisd-new testkeys 如果输出内容如下(提示 pass)则设置成功!
可以通过测试网址,测试你的邮箱发出的邮件评分。
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 访问邮箱
- 允许不安全的 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
- 允许端口 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
版权归原作者 老友@ 所有, 如有侵权,请联系我们删除。