神族九帝

神族九帝

Onlyoffice 快速入门

docker 安装 onlyoffice 社区版#

sudo docker run -i -t -d -p 8701:80 onlyoffice/documentserver

官方还建议将数据存放在 Docker 容器之外,因为这样可以新版本发布后,轻松更新 ONLYOFFICE Docs 而不会造成丢失数据。
因此需要使用下面命令

sudo docker run -i -t -d -p 8701:80 --restart=always \
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  \
    -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \
    -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver
  • -p 8701:80 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。
  • --restart=always 容器自动重启
  • onlyoffice/documentserver 镜像名称
  • -e JWT_SECRET=my_jwt_secret 秘钥

数据卷说明

  • /var/log/onlyoffice 对于 ONLYOFFICE 文档日志
  • /var/www/onlyoffice/Data 证书
  • /var/lib/onlyoffice 用于文件缓存
  • /var/lib/postgresql 对于数据库

从 7.2 版本开始, JWT 验证默认开启
如果在安装期间未添加自定义密钥,则会自动生成随机密钥

 sudo docker exec 6b1c15f3204c /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'

image.png

点击 Go To Example, 就可以访问文档编辑器示例了

image.png

参考链接:

ONLYOFFICE Document Server is an online office suite comprising viewers and editors for texts, spreadsheets and presentations, fully compatible with Office Open XML formats: .docx, .xlsx, .pptx and enabling collaborative editing in real time.

Node 集成#

下载 node 实例:
接下来我们需要修改文档服务器地址 config/default.json

"storageFolder": "./files"
"storagePath": "/files"
"siteUrl": "https://documentserver/"

documentserver 就是刚刚安装的 IP 地址。 storageFolder 和 storagePath 我们可以根据实际修改。
还要修改 token 里面的秘钥

    "token": {
      "enable": true,
      "secret": "my_jwt_secret",
      ...
    },

修改的内容
image.png
image.png
启动项目,浏览器访问 http://localhost:3000
进入后的界面同 Docker Example 一致
image.png

前端集成#

问题#

The document security token is not correctly formed. Please contact your Document Server administrator.#

image.png
image.png

有两种情况导致这种现象,总之都是没有秘钥
一种是安装 Docker 的时候没有关闭秘钥,一种是开启了秘钥,但是 Node 没有开启转换,或者是秘钥填写错误

Download failed#

image.png
image.png
原因是,我们的 document server 安装在 docker 中。对于 docker 服务来说, localhost:3000 是不存在这个文件的。
通常来说,应该把 uri 的 ip 设置对外能访问的本地 ip 地址,不能是 localhost、127.0.0.1 以及本机内部 ip。
因此我们需要通过本机 IP 访问。 真实生产环境上,我们会分配一个域名。使用 IP 或者域名访问就可以成功了
参考链接:

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。