Loading... **OnlyOffice Documents Server** 是一款开源的在线办公套件,核心支持文本文档、电子表格、演示文稿三大类文件的在线编辑、协作与管理,具备与 Microsoft Office 高度兼容的格式解析能力,可无缝处理 .docx、.xlsx、.pptx 等主流办公文件。其不仅提供了实时多人协作、版本控制、评论批注、权限管理等核心协作功能,还支持通过 API 与各类业务系统(如 OA、CRM、教育平台等)快速集成,广泛应用于企业内部协作、远程办公、在线教育等场景。本文将详细介绍如何通过 Docker 部署 OnlyOffice Documents Server 并配置 HTTPS 模式,涵盖前期准备、证书配置、容器启动及部署验证等完整流程,适用于具备基础 Docker 操作经验的运维人员。 ## 一、前期准备 ### 1.1 环境要求 * **操作系统**:推荐使用 Ubuntu、Debian等主流 Linux 发行版,确保系统已更新至最新稳定版本。 * **Docker 环境**:需提前安装 Docker 引擎。若未安装 Docker,可参考下方快速安装命令。 * **硬件配置**:最低配置为 2 核 CPU、4GB 内存、20GB 可用磁盘空间;生产环境建议 4 核 CPU、8GB 内存及以上,以保证服务稳定运行。 * **网络要求**:服务器需开放 2443(HTTPS 端口)、2444(INFO端口)端口,确保外部可正常访问;同时需能连接互联网以拉取 OnlyOffice 镜像。 ### 1.2 Docker 快速安装(以 Debian 为例) ```Plain # 1. 卸载旧版本 Docker(若有) sudo apt-get remove docker docker-engine docker.io containerd runc # 2. 更新软件包索引并安装依赖包 sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common # 3. 添加 Docker 官方 GPG 密钥 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - # 4. 设置 Docker 稳定版仓库 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" # 5. 再次更新软件包索引并安装 Docker CE sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io # 6. 启动 Docker 服务并设置开机自启 sudo systemctl start docker sudo systemctl enable docker # 7. 验证 Docker 是否安装成功(出现版本信息即为成功) docker --version ``` ## 二、HTTPS 证书准备与配置 ### 2.1 证书获取方式 HTTPS 部署需具备有效的 SSL 证书,获取方式主要有两种: * **免费证书**:可通过 Let's Encrypt 等平台申请,适合测试环境或非商业场景。 * **付费证书**:从阿里云、腾讯云等服务商购买,安全性更高,适合生产环境。 提示:本文以已获取证书文件(.crt 证书文件和 .key 密钥文件)为前提进行配置。 ### 2.2 证书目录创建与文件放置 根据需求,需在服务器指定路径创建证书目录,并将证书文件按要求重命名后放置其中,具体操作如下: ```bash # 1. 创建 OnlyOffice 数据目录及证书子目录(目录路径可自定义,本文以 /opt/onlyoffice 为例) sudo mkdir -p /opt/onlyoffice/Data/certs # 2. 进入证书目录(假设证书文件当前在 /root/certs 目录,可根据实际路径调整) cd /root/certs # 3. 将证书文件重命名为 onlyoffice.crt(证书文件)和 onlyoffice.key(密钥文件),并移动到指定目录 sudo mv 你的证书文件.crt /opt/onlyoffice/Data/certs/onlyoffice.crt sudo mv 你的密钥文件.key /opt/onlyoffice/Data/certs/onlyoffice.key # 4. 设置证书文件权限(确保 OnlyOffice 容器可读取) sudo chmod 644 /opt/onlyoffice/Data/certs/onlyoffice.crt sudo chmod 644 /opt/onlyoffice/Data/certs/onlyoffice.key ``` ## 三、OnlyOffice 容器启动(HTTPS 模式) ### 3.1 启动命令解析 本文提供的启动命令已配置 HTTPS 相关映射、端口映射及持久化存储,各参数含义如下: | 参数 | 含义说明 | | --------------------------------------------------- | ------------------------------------------------------------- | | -d | 后台运行容器 | | --name onlyoffice | 为容器命名为 onlyoffice,便于后续管理 | | --privileged=true | 授予容器特权,避免权限不足问题 | | -p 2443:443 | 将主机 2443 端口映射到容器 443 端口(HTTPS 默认端口) | | -p 2444:8000 | 将主机 2444 端口映射到容器 8000 端口(info端口) | | --restart=always | 设置容器开机自启,服务器重启后自动恢复服务 | | -v /opt/onlyoffice/Data:/var/www/onlyoffice/Data | 挂载数据目录,包含证书文件,实现数据持久化 | | -v /opt/onlyoffice/onlyoffice:/var/lib/onlyoffice | 挂载 OnlyOffice 核心数据目录 | | -v /opt/onlyoffice/postgresql:/var/lib/postgresql | 挂载 PostgreSQL 数据库目录(OnlyOffice 依赖的数据库) | | -e JWT\_SECRET=123456 | 设置 JWT 密钥,用于服务通信加密,生产环境建议修改为复杂密钥 | | onlyoffice/documentserver | 使用的 OnlyOffice 镜像名称 | ### 3.2 执行启动命令 在服务器终端执行以下命令,启动 OnlyOffice 容器: ```bash docker run -d \ --name onlyoffice \ --privileged=true \ -p 2443:443 \ -p 2444:8000 \ --restart=always \ -v /opt/onlyoffice/Data:/var/www/onlyoffice/Data \ -v /opt/onlyoffice/onlyoffice:/var/lib/onlyoffice \ -v /opt/onlyoffice/postgresql:/var/lib/postgresql \ -e JWT_SECRET=123456 \ onlyoffice/documentserver ``` 命令执行后,Docker 会自动拉取 OnlyOffice 镜像(首次执行需等待一段时间,具体取决于网络速度),拉取完成后自动启动容器。 ### 3.3 容器启动状态检查 执行以下命令检查容器是否正常启动: ```bash # 查看容器运行状态(STATUS 显示 Up 即为正常运行) docker ps -a --filter "name=onlyoffice" # 查看容器日志(若启动失败,可通过日志排查问题) docker logs -f onlyoffice ``` <div class="tip inlineBlock warning"> 注意:容器启动后,OnlyOffice 服务内部初始化需要 1-2 分钟,建议等待片刻后再进行后续验证。 </div> ## 四、部署验证 ### 4.1 访问 OnlyOffice 管理界面 打开浏览器,输入地址 `https://服务器IP:2443`,若出现以下情况,则说明 HTTPS 部署成功: * 浏览器地址栏显示“安全”标识(锁形图标),无 HTTPS 证书警告。 * 页面跳转到 OnlyOffice Documents Server 的欢迎页面。  ### 4.2 服务可用性测试 访问 OnlyOffice info接口,验证服务是否正常响应: 以http协议访问info端口并请求目录/info 若正常应返回如下页面展示Onlyoffice服务信息 <div class="tip inlineBlock error"> 注意:社区版仅支持20个页面同时编辑 </div>  ## 五、常见问题排查 ### 5.1 容器启动失败,日志提示证书权限不足 解决方案:重新设置证书文件权限,执行以下命令: ```bash sudo chmod 644 /opt/onlyoffice/Data/certs/onlyoffice.crt sudo chmod 644 /opt/onlyoffice/Data/certs/onlyoffice.key # 重启容器 docker restart onlyoffice ``` ### 5.2 浏览器访问时出现证书警告 可能原因:使用的是自签名证书或证书未正确配置。解决方案: * 若为测试环境,可在浏览器中手动信任自签名证书。 * 若为生产环境,更换为权威机构颁发的有效 SSL 证书,并重新按步骤配置。 ### 5.3 容器启动后,访问 2443 端口无响应 排查步骤: 1. 检查服务器防火墙是否开放 2443 端口(以 Debian 系统 ufw 防火墙为例): `# 安装 ufw 防火墙(若未安装) ``sudo apt-get install -y ufw ``# 开放 2443 端口 ``sudo ufw allow 2443/tcp ``# 开放 2444 端口(服务通信端口) ``sudo ufw allow 2444/tcp ``# 启用防火墙(首次启用需确认,输入 y 即可) ``sudo ufw enable ``# 查看防火墙状态及已开放端口 ``sudo ufw status` 2. 检查容器端口映射是否正确,执行 `docker port onlyoffice`,确认 443 端口已映射到主机 2443 端口。 3. 查看容器日志,定位具体错误信息:`docker logs -f onlyoffice`。 ## 六、生产环境优化建议 * **修改 JWT 密钥**:将启动命令中的 `JWT_SECRET=123456` 替换为复杂的随机字符串,增强安全性,可通过 `openssl rand -hex 16` 生成随机密钥。 * **数据备份**:定期备份挂载的三个目录(/opt/onlyoffice/Data、/opt/onlyoffice/onlyoffice、/opt/onlyoffice/postgresql),避免数据丢失。 * **镜像更新**:定期拉取最新的 OnlyOffice 镜像,更新容器以获取安全补丁和新功能: `# 拉取最新镜像 ``docker pull onlyoffice/documentserver ``# 停止并删除旧容器 ``docker stop onlyoffice ``docker rm onlyoffice ``# 重新执行启动命令启动新容器` * **监控服务**:通过 Prometheus + Grafana 等监控工具监控容器运行状态、资源占用情况及服务可用性。 --- <div class="tip inlineBlock info"> 本文为原创教程,采用 **[知识共享署名 4.0 国际许可协议(CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/legalcode.zh-hans)** 进行许可。 **协议核心条款:** * 您可以自由地复制、分发、展示、表演和再创作本文内容(包括用于商业用途); * 唯一要求:在使用本文内容时,需清晰标注原文作者及原文链接,确保署名信息可追溯; * 再创作作品需采用与本文相同或兼容的许可协议进行许可。 完整协议条款可访问 [CC BY 4.0 官方网站](https://creativecommons.org/licenses/by/4.0/) 查看。 </div> 最后修改:2025 年 11 月 06 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏
1 条评论
刚部署完 OnlyOffice 就来评论了!教程太详细了感谢博主!