OnlyOffice搭建(亲测可用)

实习在公司搬砖时搭建的服务,从服务器上onlyoffice的部署到集成到公司代码,踩了不少坑,鸡白介绍一下docker版的安装流程
(第一次写,轻喷哈哈哈,有问题可以一起探讨):
非docker版传送门 :https://helpcenter.onlyoffice.com/server/linux/document/linux-installation.aspx

安装docker(centos7)

  1. 卸载旧版本

$ sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine

  1. 设置存储库
    安装所需的包。
    yum-utils提供了yum-config-manager 效用,并device-mapper-persistent-data和lvm2由需要 devicemapper存储驱动程 序。

$ sudo yum install -y yum-utils
device-mapper-persistent-data
lvm2

使用以下命令设置稳定存储库。

$ sudo yum-config-manager
–add-repo
https://download.docker.com/linux/centos/docker-ce.repo

  1. 安装DOCKER CE

$ sudo yum install docker-ce docker-ce-cli containerd.io

  1. 启动Docker

$ sudo systemctl start docker

  1. 通过运行hello-world 映像验证是否正确安装了Docker CE 。

$ sudo docker run hello-world

  1. docker安装完成啦!
  2. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  3. 增加了 检查列表 功能。

安装Onlyoffice

  1. 拉取onlyoffice镜像

$ sudo docker pull onlyoffice/documentserver

  1. 查看镜像是否下载完成
$ docker images

docker部署onlyoffice一直在加载 docker onlyoffice_centos7

  1. 启动onlyoffice
    以下是将本机的9001端口映射到docker的80端口上,访问时通过服务器ip:9001访问,并且用 -v 将本机机==/data/aws_s3/file-storage==文件夹挂载到docker的 /var/www/onlyoffice/documentserver/web-apps/wsData文件下,后续直接通过http请求读取对应的文件夹

docker run -i -t -d -p 9001:80 -v /data/aws_s3/file-storage:/var/www/onlyoffice/documentserver/web-apps/wsData onlyoffice/documentserver

  1. 打开浏览器输入ip:9001
    出现以下页面就安装成功
  2. 想试试onlyoffice功能的小伙伴也可以安装onlyoffice/communityserver,这个与公司代码无关
sudo docker pull onlyoffice/communityserver

docker部署onlyoffice一直在加载 docker onlyoffice_onlyoffice_02


启动communityserver,通过

ip:81

访问


docker run -i -t -d -p 81:80 onlyoffice/communityserver


docker部署onlyoffice一直在加载 docker onlyoffice_docker_03


docker部署onlyoffice一直在加载 docker onlyoffice_centos7_04


docker部署onlyoffice一直在加载 docker onlyoffice_centos7_05

代码集成(根据官网api搬得)

  1. 先下载官网Api :https://api.onlyoffice.com/editors/demopreview 本人使用java的demo
  2. docker部署onlyoffice一直在加载 docker onlyoffice_onlyoffice_06


根据官网api集成到项目代码中

官网api https://api.onlyoffice.com/editors/config/

  1. 官网的api主要是写将config配置好以json形式发送到onlyoffice文件服务器,文件服务器解析config.json获取文档名、文档url路径、保存后的路径等等。

    url必须能通过docker服务访问到,可以docker上用

$ wget路径测试是否可以访问

当docker无法获取这url时会报文件下载错误,

docker部署onlyoffice一直在加载 docker onlyoffice_centos7_07


callbackURL必须能通过docker服务访问到,可以在docker上用

$ wget路径测试是否可以访问

当docker无法获取这callbackURL时会报文件下载错误

docker部署onlyoffice一直在加载 docker onlyoffice_服务器_08


如果在服务器可以wget到这两个路径,但是集成到代码上还是出错,关闭下服务器的防火墙再试试

$systemctl stop firewalld

settinfs.properties

// An highlighted block
filesize-max=5242880
storage-folder=app_data

files.docservice.viewed-docs=.pdf|.djvu|.xps
files.docservice.edited-docs=.docx|.xlsx|.csv|.pptx|.txt
files.docservice.convert-docs=.docm|.dotx|.dotm|.dot|.doc|.odt|.fodt|.ott|.xlsm|.xltx|.xltm|.xlt|.xls|.ods|.fods|.ots|.pptm|.ppt|.ppsx|.ppsm|.pps|.potx|.potm|.pot|.odp|.fodp|.otp|.rtf|.mht|.html|.htm|.epub
files.docservice.timeout=120000

files.docservice.url.converter=http://172.23.20.112:9001/ConvertService.ashx
files.docservice.url.tempstorage=http://172.23.20.112:9001/ResourceService.ashx
files.docservice.url.api=http://172.23.20.112:9001/v5.2.8-24//web-apps/apps/api/documents/api.js
files.docservice.url.preloader=http://172.23.20.112:9001/web-apps/apps/documents/cache-scripts.html
files.docservice.secret=
files.docservice.header=Authorization

docker指令

启动docker

systemctl start docker

查看docekr进程

docekr ps -a

查看docker所有镜像

docker images

加载本地docker 镜像

docker load 【镜像ID】

下载载docker 镜像

docker pull 【镜像名】

删除docekr镜像

docker rmi 【镜像ID】

删除docker容器

docker rm 【容器ID】

关闭docker容器

docker kill 【容器ID】