OnlyOffice组件的安装示例
本文阅读预计需要: 4 minutes
环境要求
- 操作系统: CentOS 7+、Ubtntu 14+、Debian 8+、RedHat 7+
- 服务器内存4G以上
- 安装onlyoffice插件 ( v2.06版本后开放免费使用)
提示:
默认使用社区版onlyoffice容器解析服务,支持20编辑并发,超出的并发数只能预览。
1.安装docker
安装并启动docker服务
$ curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
$ systemctl enable docker && systemctl start docker
2.在线部署方式
1.快速启动
$ 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:8.0
- 部署龙芯版(loongarch64架构,如使用3A5000、3A6000的CPU):
$ docker run -itd -p 8001:80 --name kodoffice --restart always kodcloud/kodoffice:loongarch-7.4.1.3
2.以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,请选择https的方式部署,否则无法使用
- 8001端口是可以改的,修改后记得填写解析地址到onlyoffice插件配置里面
3.离线部署方式
提示:
- 离线部署请联系可道云技术售后。
4.配置到可道云
1.安装插件
管理员登陆-进入插件中心 (全部)-找到onlyoffice插件,点击安装
2.配置插件
提示:
- 如果office和可道云部署在同一台服务器, 且office使用
8001
端口, 插件则无需任何配置 。
点击配置插件,将上面office所在服务器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 kodoffice
docker stop kodoffice
docker 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
$ 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