本指南将向您展示如何在 Zimbra 上安装 SSL 证书,Zimbra 是一款流行的电子邮件服务器和网页客户端。您可以通过两种方式完成安装:通过 Zimbra 管理控制台,或使用命令行工具 zmcertmgr。
我们还录制了一段视频,带您完整了解整个操作流程。您可以观看下方视频,或继续阅读文字版教程。
在 Zimbra 上生成 CSR
如果您已经生成了 CSR 代码,只需要安装步骤,请直接跳转到在 Zimbra 上安装 SSL 证书。
要从受信任的 CA(证书颁发机构)获取 SSL 证书,您首先需要提交 CSR(证书签名请求)。CSR 是一段包含您联系信息和组织详细信息的编码文本。您有两种选择:
- 使用我们的CSR 生成器自动创建 CSR。
- 按照我们关于如何在 Zimbra 中生成 CSR的分步教程操作。
在与 SSL 供应商进行订购的过程中,使用任意纯文本编辑器打开 CSR 文件,并将整个代码块复制粘贴到相应的输入框中,包括 —–BEGIN CERTIFICATE REQUEST—– 和 —–END CERTIFICATE REQUEST—– 这两行。一旦 CA 验证了您的请求并颁发证书,即可继续执行以下安装步骤。
在 Zimbra 上安装 SSL 证书
在 Zimbra 上,您可以通过两种方式安装 SSL 证书:通过管理控制台,或使用命令行界面。我们将首先介绍管理控制台的方法,然后再介绍通过 CLI 完成同样任务的方法。
注意:管理控制台向导仅在您是在 Zimbra 上生成 CSR 的情况下才能正常工作,因为它会将上传的证书与其在 /opt/zimbra/ssl/zimbra/commercial/commercial.key 处生成的匹配私钥进行配对。如果您是在其他地方生成的 CSR,请使用命令行方法,并自行将该私钥放置到服务器上。
方法一:通过管理控制台安装
步骤 1:启动证书向导
- 使用您的管理员用户名和密码登录管理控制台。
- 在左侧菜单中,依次选择 Configure(配置),然后选择 Certificates(证书)。
- 在右上角找到齿轮图标(位于 Help(帮助)旁边)。点击它,然后选择 Install Certificate(安装证书)。
- 从下拉列表中选择您要保护的服务器名称,然后点击 Next(下一步)。
- 选择最后一个选项 Install the commercially signed certificate(安装商业签名证书),然后点击 Next(下一步)。
- 核对您在生成 CSR 时提交的详细信息,然后点击 Next(下一步)。
步骤 2:上传您的证书文件
上传您的证书(.crt 文件)和 CA 证书包(.ca-bundle 文件)。您应该已经在服务器或桌面上保存了这些文件。如果没有,请从电子邮件收件箱中下载并解压文件。要打开这些文件,请使用任意纯文本编辑器,例如记事本。该向导需要两个文件:
- 证书:您的 SSL 证书文件,扩展名为 .crt。
- CA 证书包(.ca-bundle):中间证书和根证书。如果您的 CA 提供的是一个合并的证书链文件,请在此使用该文件。
重要提示:Zimbra 需要完整的证书链,即您的服务器证书加上中间证书和根证书。如果证书链不完整,某些客户端仍会显示信任警告。上传完两个文件后,点击 Next(下一步)继续。
步骤 3:完成安装
点击 Install(安装),等待 Zimbra 完成确认。您应该会看到如下消息:
Your certificate was installed successfully. You must restart your ZCS server to apply the changes.(您的证书已安装成功。您必须重启 ZCS 服务器以应用更改。)
步骤 4:重启服务器
从 root 用户切换到 zimbra 用户:
su - zimbra
重启 Zimbra 服务器:
zmcontrol restart
之后要返回 root 账户,请输入 exit(或从普通账户运行 sudo su)。重启后,您可以在 Configure(配置) 然后 Certificates(证书)下查看新证书:点击右上角的齿轮图标,然后选择 View Certificate(查看证书)以查看其状态。
方法二:通过命令行安装(推荐)
CLI 是更可靠的选择,因为一旦出现问题,它会打印出确切的错误信息;而且如果您是在服务器外部生成 CSR 的,这也是唯一的选择。
步骤 1:准备文件
- 服务器证书(来自 CA 的 .crt 文件)。本指南将其称为 yourdomain.crt。
- 证书链文件(commercial_ca.crt)。您需要自行构建此文件,按顺序先放置中间证书,然后放置根 CA 证书。
- 私钥(commercial.key)。此文件必须位于 /opt/zimbra/ssl/zimbra/commercial/commercial.key。如果您是在 Zimbra 上生成的 CSR,该文件应该已经存在;否则,请将您的私钥复制到该路径下,并命名为 commercial.key。
要从中间证书和根证书构建证书链文件,请按顺序(先中间证书,再根证书)将它们合并:
cat intermediate.crt root.crt > /opt/commercial_ca.crt
步骤 2:验证证书
在部署之前,请确认您的证书、私钥和证书链是否全部匹配。请根据您保存文件的实际路径调整以下命令:
/opt/zimbra/bin/zmcertmgr verifycrt comm
/opt/zimbra/ssl/zimbra/commercial/commercial.key
/opt/yourdomain.crt
/opt/commercial_ca.crt
如果一切匹配,每项检查都会返回 OK。在验证通过之前请勿部署;密钥不匹配或证书链不完整是导致安装失败的最常见原因。
步骤 3:部署证书
将已验证的证书部署到所有 Zimbra 服务:
/opt/zimbra/bin/zmcertmgr deploycrt comm
/opt/yourdomain.crt
/opt/commercial_ca.crt
此操作会将证书和证书链复制到 Zimbra 每项服务(LDAP、邮箱/网页服务、MTA 以及代理)的密钥库中。
步骤 4:重启 Zimbra
切换到 zimbra 用户:
su - zimbra
重启相关服务,使其加载新证书:
zmcontrol restart
服务重新启动后,确认已部署的证书:
/opt/zimbra/bin/zmcertmgr viewdeployedcrt
输出结果会列出 Zimbra 目前为每项服务提供的证书,包括其颁发机构和有效期。至此,您已成功通过命令行在 Zimbra 上安装了 SSL 证书。
测试您的 SSL 安装
安装证书后,建议对您的配置进行扫描,检查是否存在错误或漏洞,以便在用户发现问题之前及时修复。我们的SSL 检测工具可以为您的证书和证书链提供即时状态报告,帮助您确认证书链是否完整,以及协议配置是否正确。
常见问题解答
两种方式都可以。使用 zmcertmgr 命令行是更可靠的选择,因为如果验证失败,它会显示确切的错误信息;而且当您是在其他地方(而非 Zimbra)生成 CSR 时,这也是唯一的选择。只有当匹配的私钥已经存在于 /opt/zimbra/ssl/zimbra/commercial/commercial.key 时,才使用管理控制台向导,也就是当您在服务器本身上创建 CSR 的情况。
商业私钥必须位于 /opt/zimbra/ssl/zimbra/commercial/commercial.key。如果您是在 Zimbra 上生成的 CSR,该密钥应该已经存在于此。如果不是,请在运行 zmcertmgr verifycrt 之前,将您的密钥复制到该目录,并命名为 commercial.key。
证书链文件(commercial_ca.crt)应先列出中间证书,最后列出根 CA 证书。如果您有多个中间证书,请按从签署您证书的那个证书到根证书的顺序排列。顺序错误是导致 zmcertmgr verifycrt 失败的常见原因。
两个常见原因是:密钥与证书不匹配,或证书链不完整或顺序有误。请确认 /opt/zimbra/ssl/zimbra/commercial/commercial.key 中的密钥就是与您的 CSR 一同生成的密钥,并确认 commercial_ca.crt 中包含中间证书,且其后跟随根证书。请务必先运行 verifycrt 并获得通过结果,然后再运行 deploycrt。
是的。在部署或安装证书后,请切换到 zimbra 用户,并运行 zmcontrol restart,以使每项服务都加载新证书。之后您可以通过 /opt/zimbra/bin/zmcertmgr viewdeployedcrt 确认结果。
以 zimbra 用户身份运行 /opt/zimbra/bin/zmcertmgr viewdeployedcrt,即可列出每项服务已部署的证书。在管理控制台中,依次进入 Configure(配置)然后 Certificates(证书),点击齿轮图标,并选择 View Certificate(查看证书)。若要进行外部检查,可使用我们的SSL 检测工具扫描服务器。


