OnlyOffice组件的安装示例
本文阅读预计需要: 4 minutes
环境要求
OnlyOffice 是在线文档编辑服务,可让用户在浏览器中直接编辑 Word、Excel、PPT 等文件。
- 操作系统:CentOS 7+、Ubuntu 14+、Debian 8+、RedHat 7+
- 服务器内存 4GB 以上
- 需安装 onlyoffice 插件(v2.06 版本起免费开放)
提示:
默认使用社区版 OnlyOffice 容器,支持 20 路同时编辑;超出并发数的用户只能预览。
1. 安装 Docker
Docker 是容器运行平台。请先安装并启动 Docker 服务:
$ curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
$ systemctl enable docker && systemctl start docker
2. 在线部署方式
1. 快速启动
以下命令会拉取并运行 OnlyOffice 容器,映射到本机 8001 端口:
$ docker run -itd -p 8001:80 --name kodoffice --restart always kodcloud/kodoffice:7.4.1.1
若网络不佳,可切换阿里云容器镜像地址
$ docker run -itd -p 8001:80 --name kodoffice --restart always registry.cn-hangzhou.aliyuncs.com/kodcloud/kodoffice:7.4.1.1
- OnlyOffice 缓存目录为
/var/lib/onlyoffice;若编辑文件较多,建议挂载到宿主机以节省容器空间。 - 验证是否启动成功:
- 等待 1~3 分钟后,在浏览器访问
http://[域名或IP]:8001/web/,页面显示success,运行正常即表示正常。
- 等待 1~3 分钟后,在浏览器访问
提示:
- kodoffice版本增加了多种中文字体 并且兼容插件检测;
- 部署onlyoffice官方社区版(包含arm版):
$ docker run -itd -p 8001:80 -e JWT_ENABLED=false -e ALLOW_PRIVATE_IP_ADDRESS=true \ --name onlyoffice --restart always onlyoffice/documentserver- 部署龙芯版(loongarch64架构,如使用3A5000、3A6000的CPU):
$ docker run -itd -p 8001:80 --name kodoffice --restart always kodcloud/kodoffice:loongarch-7.4.1.3
2. 以 HTTPS 方式启动
HTTPS 会对传输加密,生产环境建议使用。需准备已有 SSL 证书:
/data/certs/onlyoffice.key/data/certs/onlyoffice.crt- 确认
/data/certs目录有证书存在(证书名称必须为onlyoffice),在执行下方命令启动
$ docker run -itd --name kodoffice -p 8443:443 \
-v /data/certs:/var/www/onlyoffice/Data/certs \
kodcloud/kodoffice:7.4.1.1
- 验证启动成功:
- 等待1~3分钟,在浏览器访问
https://[域名]:8443/web/会看到success,运行正常.
- 等待1~3分钟,在浏览器访问
更新证书
- 替换证书文件
/data/certs/onlyoffice.key、/data/certs/onlyoffice.crt,注意证书名称不能改变。 - 重启容器内nginx服务
docker exec -it kodoffice service nginx restart
3. 注意事项
- 快速启动使用 HTTP。若可道云站点已启用 HTTPS,OnlyOffice 也需用 HTTPS 部署,否则浏览器会拦截混合内容导致无法使用。
- 8001端口是可以改的,修改后记得填写解析地址到onlyoffice插件配置里面
3. 离线部署方式
提示:
- 无公网环境部署 OnlyOffice 请联系可道云技术售后。
4. 配置到可道云
1. 安装插件
管理员登录 → 插件中心(全部) → 找到 onlyoffice 插件 → 点击安装。
2. 配置插件
提示:
- 若 OnlyOffice 与可道云在同一台服务器且使用 8001 端口,插件通常无需额外配置。
点击「配置插件」,将 OnlyOffice 所在服务器的 IP 填入图中位置(注意末尾 /web/ 不可省略):
点击「检测 office 服务器」。检测通过后刷新可道云页面,选中 Office 文件 → 右键 → 打开方式 → onlyoffice 编辑,即可体验在线编辑。

检测结果无误如下图:

注意:
- 上面配置ip也可以是绑定了到该服务器的域名,不能为localhost
- 如果网络内、或服务器开启防火墙,导致访问不了,可以尝试关闭防火墙或开启8001端口
- 使用onlyoffice官方社区版本时,需填写服务地址
http://[IP]:8001,插件第3,4项可能会报错,但是不影响使用,可以忽略。
5.其他问题
限制访问域名
配置网盘地址白名单,不允许其他站点调用onlyoffice.
$ docker exec -it kodoffice vim /var/www/onlyoffice/documentserver/web-apps/kod/allowhost.js
window.kod.allowHost = [
// 'kodcloud.com','*.kod.com',
/*allowHostAdd*/
];
插件检测说明
- 域名规则检测: 为IP或域名地址,但不能为localhost;
- 静态资源访问状态: 检测
[填写地址]/sdkjs/common/AllFonts.js; - office服务器运行状态: 检测
[填写地址]/check/- 若检测失败,建议重启内部解析服务
docker exec -it kodoffice bash /app/ds/run-document-server.sh; - 使用onlyoffice官方社区版可忽略此项检测;
- 若检测失败,建议重启内部解析服务
- office服务器请求kod: 检测容器内是否能访问网盘地址
- 若检测失败,建议容器内测试网盘连通性
docker exec -it kodoffice ping [网盘地址]; - 使用onlyoffice官方社区版可忽略此项检测;
- 若检测失败,建议容器内测试网盘连通性
- kod服务器请求office: 检测网盘服务器是否能访问kodoffice地址。
重启、停止和删除
docker restart kodofficedocker stop kodofficedocker rm kodoffice- 容器删除后仍有部分数据保留,全部清除需要执行
docker volume prune
- 容器删除后仍有部分数据保留,全部清除需要执行
如何配置 https 访问
- 如果部署是以https方式启动,直接访问即可
-
如果部署是以http方式启动的,需要配置nginx反向代理来实现https转http,具体实现参考:
server { listen 8443 ssl http2; server_name cloud.example.com; ssl_certificate /etc/nginx/ssl/cloud.example.com.crt; ssl_certificate_key /etc/nginx/ssl/cloud.example.com.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv2 SSLv3; ssl_ciphers HIGH:!aNULL:!MD5:!3DES; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; location / { proxy_pass http://localhost:8001; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; #websocket wss代理 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_cache_key $time_local$host$request_uri$is_args$args; proxy_cache_valid 200 304 301 302 1h; add_header X-Cache $upstream_cache_status; expires 3600s; } }
insecure ssl
使用自签名ssl证书
提示:
浏览器会有警告,但继续访问仍可以使用。
- 生成证书
$ sudo mkdir /etc/nginx/ssl $ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx-selfsigned.key -out /etc/nginx/ssl/nginx-selfsigned.crt - 更新证书到nginx反代配置
提示:
将onlyoffice服务地址(
https://[server]:[port]/web/)配置到插件后,需单独访问一次onlyoffice服务地址,浏览器允许继续访问才可正常使用。ssl_certificate /etc/nginx/ssl/nginx-selfsigned.crt; ssl_certificate_key /etc/nginx/ssl/nginx-selfsigned.key; - 修改容器配置,允许不安全访问
提示:
如果网盘站点使用了不安全证书,则需要进行以下配置。
$ docker exec -it kodoffice bash $ sed -i.bak '/rejectUnauthorized/ s/true/false/g' /etc/onlyoffice/documentserver/default.json $ bash documentserver-update-securelink.sh
重启系统后如何自启动
- 安装默认已经加入自启动了
自定义域名解析
重新运行容器,加上参数解析指定域名(示例) --add-host test1.com:192.168.3.4(或者指定dns如--dns 192.168.1.1)
$ docker run -itd -p 8001:80 --name kodoffice --restart always --add-host test1.com:192.168.3.4 kodcloud/kodoffice:7.4.1.1
修改docker0网口默认网段
提示:
请先删除所有已运行的容器,否则网段设置不会生效。
参考docker官网文档
vim /etc/docker/daemon.json
{
"bip": "172.26.0.1/16"
}
$ systemctl restart docker