- 首页
- 在本地服务器上安装 ONLYOFFICE Mail Docker 版
在本地服务器上安装 ONLYOFFICE Mail Docker 版
简介
ONLYOFFICE Mail 是一个基于 iRedMail 包开发的全功能邮件服务器解决方案,包含以下组件:Postfix、Dovecot、SpamAssassin、ClamAV、OpenDKIM、Fail2ban。
与 ONLYOFFICE Workspace 集成后,ONLYOFFICE Mail 允许您:
- 连接您自己的域名;
- 创建邮箱;
- 为每个邮箱添加别名;
- 创建邮箱组。
本指南将向您展示如何在您的机器上安装 ONLYOFFICE Mail 的 Docker 版本。
系统要求
- CPU双核 2 GHz 或更高
- 内存4 GB 或更多
- 硬盘至少 20 GB 的可用空间
- SWAP至少 4 GB,但取决于主机操作系统。更多更好
- 操作系统amd64 Linux 发行版,内核版本 3.10 或更高
- 附加要求
- Docker:任何由 Docker 团队支持的版本
开始安装前的准备
在开始安装 ONLYOFFICE Mail 之前,您需要将要安装 ONLYOFFICE Mail 的计算机与为邮件服务器选择的域名链接。我们建议您为邮件服务器计算机的 A 记录 选择一个类似 mx.yourdomain.com 的名称。这意味着您的域名系统 (DNS) 中的 A 记录 必须指向将安装 ONLYOFFICE Mail 的计算机的 IP 地址,而该计算机上的 指针 (PTR) 记录 必须将计算机 IP 地址解析为完全合格的域名 (FQDN),与 A 记录 的作用相反。
要验证 A 记录 设置的正确性,可以使用以下命令:
dig -t A mx.yourdomain.com如果一切正确,您应该会看到输出中包含类似以下的行:
...;; ANSWER SECTION:
mx.yourdomain.com. IN A {your IP address}...其中 {your IP address} 将显示服务器的实际 IP 地址。
PTR 记录 可以通过另一个命令进行检查:
dig -x {your IP address}它应该返回包含类似以下行的输出:
...;; ANSWER SECTION:{your IP address} IN PTR mx.yourdomain.com....确保所有设置正确后,您可以继续进行下一步。
使用自动脚本命令安装 ONLYOFFICE Mail
如果您不想手动设置所有内容,可以使用我们的 Docker 脚本自动安装 ONLYOFFICE Mail。您可以通过我们的网站下载页面下载脚本。或者,如果您觉得更方便,也可以使用直接下载链接:
wget https://download.onlyoffice.com/install/workspace-install.sh下载完成后,运行以下命令安装 ONLYOFFICE Mail:
bash workspace-install.sh -ics false -ids false -icp false -ims true -md yourdomain.com -es true手动安装 ONLYOFFICE Mail
如果您希望完全控制安装的内容和方式,可以以手动模式运行安装。请按照以下步骤进行。
安装先决条件
您需要安装最新版本的 Docker。如果您尚未安装,请参阅 Docker 网站上的安装部分以了解如何获取。
/etc/default/docker 文件,并将以下行中的 IP 地址更改为本地网络中 DNS 服务器的 IP 地址:
docker_OPTS="--dns 8.8.8.8"对于基于 RPM 的操作系统,如 CentOS:
- 创建
/etc/docker/daemon.json配置文件,内容如下:{ "dns" : [ "8.8.8.8" ] } - 重启 Docker 服务:
sudo systemctl restart docker.service
在开始安装之前,您需要创建以下文件夹:
- 用于 MySQL 服务器
sudo mkdir -p "/app/onlyoffice/mysql/conf.d"; sudo mkdir -p "/app/onlyoffice/mysql/data"; sudo mkdir -p "/app/onlyoffice/mysql/initdb"; - 用于 ONLYOFFICE Mail 数据和日志
sudo mkdir -p "/app/onlyoffice/MailServer/data/certs"; sudo mkdir -p "/app/onlyoffice/MailServer/logs";
然后创建 onlyoffice 网络:
sudo docker network create --driver bridge onlyoffice安装 MySQL
之后,您需要创建 MySQL 服务器 Docker 容器。创建配置文件:
echo "[mysqld]
sql_mode = 'NO_ENGINE_SUBSTITUTION'
max_connections = 1000
max_allowed_packet = 1048576000
group_concat_max_len = 2048" > /app/onlyoffice/mysql/conf.d/onlyoffice.cnf创建 SQL 脚本以生成用户并为其授予权限。onlyoffice_user 是 ONLYOFFICE Community Server 所需的,而 mail_admin 是 ONLYOFFICE Mail 所需的(如果要安装):
echo "ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'my-secret-pw';
CREATE USER IF NOT EXISTS 'onlyoffice_user'@'%' IDENTIFIED WITH mysql_native_password BY 'onlyoffice_pass';
CREATE USER IF NOT EXISTS 'mail_admin'@'%' IDENTIFIED WITH mysql_native_password BY 'Isadmin123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'onlyoffice_user'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'mail_admin'@'%';
FLUSH PRIVILEGES;" > /app/onlyoffice/mysql/initdb/setup.sql%)。如果您想限制访问,可以指定哪些主机可以访问 SQL 服务器。现在您可以创建 MySQL 容器,将 MySQL 版本设置为 8.0.29:
sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-mysql-server \
-v /app/onlyoffice/mysql/conf.d:/etc/mysql/conf.d \
-v /app/onlyoffice/mysql/data:/var/lib/mysql \
-v /app/onlyoffice/mysql/initdb:/docker-entrypoint-initdb.d \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_DATABASE=onlyoffice \
mysql:8.0.29CREATE USER 'mail_admin'@'localhost' IDENTIFIED BY 'Isadmin123';
GRANT ALL PRIVILEGES ON * . * TO 'mail_admin'@'%' IDENTIFIED BY 'Isadmin123';
FLUSH PRIVILEGES;安装 ONLYOFFICE Mail
准备就绪后,执行以下命令:
sudo docker run --init --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server -p 25:25 -p 143:143 -p 587:587 -p 8081:8081 \
-e MYSQL_SERVER=onlyoffice-mysql-server \
-e MYSQL_SERVER_PORT=3306 \
-e MYSQL_ROOT_USER=root \
-e MYSQL_ROOT_PASSWD=my-secret-pw \
-e MYSQL_SERVER_DB_NAME=onlyoffice_mailserver \
-v /app/onlyoffice/MailServer/data:/var/vmail \
-v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver \
-v /app/onlyoffice/MailServer/logs:/var/log \
-h yourdomain.com \
onlyoffice/mailserver其中 yourdomain.com 是您的邮件服务器主机名。
在上面的命令中,
"yourdomain.com" 参数应被理解为 ONLYOFFICE Mail 的服务域。通常在将用于维护通信的域名的 MX 记录 中指定。通常,"yourdomain.com" 看起来像 mx1.onlyoffice.com在这种情况下,邮件服务器将确保邮件传递到此服务器上托管的内部地址。
在容器外存储数据
所有数据都存储在专门指定的目录中,即 数据卷,位置如下:
/var/log用于 ONLYOFFICE Mail 日志/var/lib/mysql用于 MySQL 数据库数据/var/vmail用于邮件存储/etc/pki/tls/mailserver用于证书
要访问位于容器外的数据,您需要挂载卷。可以通过在 docker run 命令中指定 -v 选项来完成。
sudo docker run --privileged -i -t -d -p 25:25 -p 143:143 -p 587:587 -p 8081:8081 \
-v /app/onlyoffice/MailServer/logs:/var/log \
-v /app/onlyoffice/MailServer/mysql:/var/lib/mysql \
-v /app/onlyoffice/MailServer/data:/var/vmail \
-v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver -h yourdomain.com onlyoffice/mailserver将数据存储在主机上允许您在发布新版本时轻松更新 ONLYOFFICE Mail 而不会丢失数据。
配置 Docker 镜像
为了确保邮件传递到内部地址以及外部服务器的地址,您需要获取自己的域名并配置 DNS 服务器。
需要以下 DNS 记录:
- A 记录(用于将域指向部署此 Docker 镜像的主机的 IP 地址)。
- 指针 (PTR) 记录或反向 DNS 记录(用于将网络接口 (IP) 映射到主机名)。
sudo docker run --privileged -i -t -d -p 25:25 -p 143:143 -p 587:587 \
-v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver -h yourdomain.com onlyoffice/mailserver其中 yourdomain.com 是您的邮件服务器主机名。
安装 SSL 证书
在运行 Docker 容器时,将默认创建您的域的自签名证书。如果您想使用 CA 认证的证书,您需要在运行镜像之前将其重命名并复制到 /app/onlyoffice/MailServer/data/certs 目录中。需要以下文件:
- /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.key
- /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.crt
- /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.ca-bundle
您可以在运行镜像后将 SSL 证书复制到 /app/onlyoffice/MailServer/data/certs 目录中。但在这种情况下,您需要重新启动 Docker 容器。
可用的配置参数
`--env-file` 标志,您可以在单个文件中指定所有必需的环境变量。这将使您无需编写可能很长的 docker run 命令。以下是可以使用环境变量设置的参数的完整列表。
- STORAGE_BASE_DIR:邮件存储路径。默认值为
/var/vmail。 - FIRST_DOMAIN:第一个虚拟域,将托管邮政管理员地址。此域不应与主要邮件服务器域重合。默认值为
mailserver.onlyoffice.com。 - DOMAIN_ADMIN_PASSWD:邮政管理员密码。默认邮政管理员地址为
postmaster@mailserver.onlyoffice.com。
安装与 ONLYOFFICE 文档集成的 ONLYOFFICE Mail
ONLYOFFICE Mail 是 ONLYOFFICE Workspace 的一部分,其中还包括 ONLYOFFICE 文档、ONLYOFFICE 控制面板 和 ONLYOFFICE 社区服务器。如果您想安装它们并相互集成,请阅读这些说明。
安装 ONLYOFFICE Mail 的替代方法
或者,您可以使用自动安装脚本一次性安装整个 Workspace。为了邮件服务器正常工作,您需要指定其主机名 yourdomain.com。
步骤 1:下载安装脚本文件
执行以下命令:
wget https://download.onlyoffice.com/install/workspace-install.sh步骤 2:安装 Workspace
运行以下命令:
bash workspace-install.sh -md yourdomain.com