乐于分享
好东西不私藏

《onlyoffice的安装和使用》

《onlyoffice的安装和使用》

1、onlyoffice简介

ONLYOFFICE是一套开源的在线办公协作平台,主要提供在线文档编辑(Word/Excel/PPT)+ 协同办公能力。它常被用于替代传统 Office,在企业内部系统(如 OA、文档管理系统、网盘等)中实现浏览器在线编辑文档

2、启动onlyoffice

2.1 docker run的方式启动

前提:Linux服务器上已经安装好docker服务。
启动命令:
docker run --8088:80 \--name onlyoffice \-JWT_ENABLED=false \-WOPI_ENABLED=false \--restart=always \-/opt/docker_mount/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \-/opt/docker_mount/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \-/opt/docker_mount/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \-v onlyoffice_config:/etc/onlyoffice/documentserver \onlyoffice/documentserver:7.5
命令说明:
-e JWT_ENABLED=false作用是关闭 JWT token 校验,在ONLYOFFICE Document Server 中,JWT用于校验调用来源,防止非法访问,开发阶段通常关闭,生成环境建议开启。
-e WOPI_ENABLED=false关闭 WOPI协议,WOPI 是微软的在线编辑协议。OnlyOffice支持两种集成方式:1API模式2WOPI模式
几个挂载说明:1-/opt/docker_mount/onlyoffice/DocumentServer/logs:/var/log/onlyoffice把容器中的日志挂载出来,便于排查问题2-/opt/docker_mount/onlyoffice/DocumentServer/data:/var/www/onlyoffice/DataDocumentServer公共数据目录,例如自定义字体,安装插件等3-/opt/docker_mount/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice这个是最重要的目录之一,在 ONLYOFFICE Document Server 中 /var/lib/onlyoffice存储编辑缓存转换文件协同编辑状态临时文件4-v onlyoffice_config:/etc/onlyoffice/documentserver (这个是卷挂载)把容器中的相关配置挂载出来便于修改
启动之后访问onlyoffice提供的页面,如下:
如果此时点击 GO TO TEST EXAMPLE 会报如下错误
这是因为测试服务没有启动,上图中给我们提供了启动命令,分别在服务器上执行如下两条命令(注意:容器id修改成自己的启动的服务id):
启动测试服务:sudo docker exec bc1d4412821d sudo supervisorctl start ds:example设置测试服务自动启动sudo docker exec bc1d4412821d sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisor/conf.d/ds-example.conf
此时就可以进入测试页面了,如下:
点击Document,此时还是会报错如下:
此时还需要修改如下配置文件并重启onlyoffice服务:/var/lib/docker/volumes/onlyoffice_config/_data/default.json
现在可以创建一个在线编辑文档,如下图:

2.2 docker-compose的方式启动

生产环境通常使用docker-compose的方式进行启动服务,把上述的docker run方式的命令转换成如下的docker-compose命令(docker-compose-onlyoffice.yaml):
注意:上面启动的onlyoffice服务已经占用了宿主机的8088端口,现在通过docker-compose方式启动时使用8089端口,容器名称也换成onlyoffice_v2
name: onlyofficeservices:  onlyoffice:    image: onlyoffice/documentserver:7.5    container_name: onlyoffice_v2    ports:      - "8089:80"    environment:      - JWT_ENABLED=false      - WOPI_ENABLED=false    volumes:      - /opt/docker_mount/onlyoffice/DocumentServer/logs:/var/log/onlyoffice      - /opt/docker_mount/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data      - /opt/docker_mount/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice      - onlyoffice_config:/etc/onlyoffice/documentserver    restart: alwaysvolumes:  onlyoffice_config:    external: true
进入到docker-compose-onlyoffice.yaml 文件所在目录下,执行如下命令启动onlyoffice服务:
此时同样需要启动example服务,如下:
3. SpringBoot项目集成onlyoffice请参考链接
https://gitee.com/sun_hongguang/exame_system_server_before/
请看 <_07_onlyoffice_part> 这个Module下的代码
注意:resources/static/test.html
这个文件里面的两个ip地址要修改成你自己的,然后浏览器访问
http://你的本地ip:端口/test.html
本地测试截图:
(1) 启动项目
(2)浏览器访问 test.html