【废弃】在 FreeBSD 操作系统下安装 iRedMail 邮箱服务器

前言

—由于HostVDS的最小服务器只提供10GB的空间,无法编译完成,因此此教程废弃

?

由于愚笨大学需要自己的带SMTP的(用来给WordPress用)邮箱,因此我们在尝试Exchange(API太复杂)、网易免费企业邮(没探测到MX记录)、VK WorkMail(前身Mail.ru企业邮箱)(启用SMTP需要绑定手机)后决定自己搭建一个。

我们本来有更加便捷的Windows服务器可以使用,但因为腾讯云不开放25端口,因此我们无法使用MailEnable。于是我开了一个新的服务器,体验过CentOS的复杂之后断然转向FreeBSD操作系统

而似乎很棒的一点是,iRedMail邮箱套件支持FreeBSD操作系统

准备环境

在上文安装FreeBSD 操作系统时我们把主机名设置成了 mx.uof.edu.kg,就是为这篇文章埋下的伏笔呢。()

设置主机名
*回溯前文

根据iRedMail官网文档,安装iRedMail的所有依赖包都将会被从FreeBSD Ports Collection安装,因此我们要在系统上获取Ports树和内核源码树(注:/usr/src下有文件的——即已有内核源码树的——就不用执行以下关于git的命令)

先查看系统内核版本(不然会出现不兼容的奇怪问题):

uname -a
红框部分就是下面的内核branch
sudo portsnap fetch extract update
# 以下是获取内核
sudo pkg install git
sudo git clone --depth=1 -b <内核branch> -o freebsd https://git.FreeBSD.org/src.git /usr/src  # 需要安装一个需要内核源码才能编译的包

安装iRedMail依赖的 bash-static,顺便将默认Shell更换为GNU Bash以及装Vim编辑器。

sudo pkg install bash-static vim
chsh -s `which bash` # 更改默认Shell为bash
sudo chsh -s `which bash`  # 也可以把root的顺便改了(?

确认一下自己的主机名是否是FQDN

hostname -f

如果不是的话,可以用以下命令更改:

hostname mx.example.org # 不要用根域名的名称!
sudo reboot # 最好重启一下

安装iRedMail

转向iRedMail官网,复制下载链接,打开FreeBSD的ssh窗口:

sudo pkg install wget # FreeBSD默认不带wget,而cURL二进制文件不能跟随重定向
wget -O- https://github.com/iredmail/iRedMail/archive/refs/tags/1.6.0.tar.gz | sudo tar -zxf-
cd iRedMail*
sudo bash iRedMail.sh # 开始安装

在有 TUI(注:终端用户界面)的友好配置之后,就是漫长的编译流程。等待罢。

注意:[2022/5/28,此时刚出FreeBSD 13.1] 编译有可能在编译nginx时停下,这时要手动修复iRedMail/functions/packages-freebsd.sh

定位到604行左右,在 cat 行下面添加

OPTIONS_FILE_UNSET+=PCRE_ONE
OPTIONS_FILE_SET+=PCRE_TWO

参考

FreeBSD下安装iRedMail搭建自己的邮件服务器》 - 可乐

Install iRedMail on FreeBSD(iRedMail违反了FreeBSD基金会的法令呢) - iRedMail

FreeBSD使用手册》 - FreeBSD 社区