onlyoffice 服务搭建及配置 - 前端 office 文件预览解决方案

1. 安装

写文章时使用环境 Windows 11 + onlyoffice 8.3,以满足离线部署为主,不同版本 onlyoffice 略有差异,大致流程都是相通的,有条件的话直接用 docker 最简单

1.1 环境要求

下面版本要求由官方提供,实测直接装最新就行

1.2 安装步骤

  1. 安装 PostgreSQL

  2. 创建数据库,名字都可以(onlyoffice 默认连接参数:库名、用户名、密码都是 onlyoffice,看情况设置就好了,安装 only office 的时候可以设置)

  3. 安装 erlang 和 RabbitMQ,安装路径看着填,其它选项默认就好了

  4. 根据系统类型选择合适的 onlyoffice 版本: 下载地址

  5. 安装的时候看情况点就好了。到 Select Componets,这里能不选的就不选,对预览功能是没有影响的,选上下载的会很慢(老版本就没有这些选项,最近新版本出了这些,还没研究有啥作用,有知道的可以指点一下)

    因为 OpenSSL 不能取消选中,所以离线安装的时候会下载失败导致报错,这里是不影响最终预览效果的,直接忽略即可。
    在这里插入图片描述

  6. 数据库配置
    onlyoffice 默认的数据库参数连不上数据库的,老版本还没这验证,这里点确定的话也直接就跳过了,数据库参数错了,安装好用不了的,后面还得导一遍数据库,这里点击取消,修改数据库参数即可
    在这里插入图片描述

    点击取消后弹出数据库配置信息,根据自己数据库信息填写好即可
    在这里插入图片描述

  7. 安装完成
    最后一步可能会很慢,慢则几个小时都有可能,耐心等待即可

    弹出下面弹窗点击确定即可,就是提示在这里插入图片描述
    到这里就安装完成了
    在这里插入图片描述
    点击完成,系统会启动一个80端口的网站,如果80端口已被占用,那这个服务是启动不起来的,不影响,后面改改配置就行

1.3 常用配置

这里就写写影响预览的一些配置

1.3.1 安装目录/config/default.json

  • 允许使用本地IP文件:
    比如 http://127.0.0.1/**/xxx.ppt 这种文件默认是无法使用的,将下面两个配置设置为 true 就可以了
    services.CoAuthoring.request-filtering-agent.allowPrivateIPAddress
    services.CoAuthoring.request-filtering-agent.allowMetaIPAddress
    在这里插入图片描述

1.3.2 安装目录/config/local.json

  • JWT 验证
    onlyoffice 新版本默认启用 JWT 验证,就是前端使用的时候需要携带正确的token,这里就不展开说了。
    services.CoAuthoring.token.enable:全部设置为 false 表示禁用 JWT 验证
    在这里插入图片描述

1.3.3 安装目录/nginx/conf

  • 端口修改
    打开文件:安装目录/nginx/conf/ds.conf
    将 两处 80 改成需要的端口即可,比如下面改成 81 端口:
    在这里插入图片描述

  • 单机环境启动配置
    就是局域网环境都没有,单独一个电脑部署,nginx 启动会失败,导致网站访问不了,需要改掉配置里的 localhost,换成 127.0.0.1
    打开文件:安装目录/nginx/conf/includes/http-common.conf
    在这里插入图片描述

1.3.4 配置生效

改完配置后需要重启服务(可以 win+r 运行 services.msc 调出系统服务面板)

  • default.json 和 local.json: 重启 ONLYOFFICE Document Server ConverterONLYOFFICE Document Server DocService
    在这里插入图片描述

  • nginx 配置: 重启 ONLYOFFICE Document Server Proxy
    在这里插入图片描述

2. 网站嵌入

2.1 代码示例

首先需要加载 onlyoffice 提供的 js 文件(地址:onlyoffice地址/web-apps/apps/api/documents/api.js),引入后全局会有个 DocsAPI 对象,下面是个简单的使用示例:


<!DOCTYPE html>
	<html lang="zh">
	
	<head>
	  <meta charset="UTF-8">
	  <title>onlyoffice 预览测试</title>
      <!-- 引入 api.js -->
	  <script src="http://localhost:81/web-apps/apps/api/documents/api.js"></script>
	</head>
	
	<body style="margin: 0;height: 100vh;">
	
	  <div id="onlyoffice">
	    
	  </div>
	  <script>
	
	    const config = {
	      // 设置文档信息
	      document: {
	        fileType: "ppt", // 文件类型,支持 doc、ppt、pdf、xls
	        title: '标题',
	        url: 'http://localhost:5500/docs/PPT.pptx', // 文件链接
	      },
	      editorConfig: {
	        lang: "zh-CN",  // 语言
	        mode: 'view', // 查看模式 view: 预览模式 edit(默认): 编辑模式
	        customization: {
	          zoom: 100 // 页面默认缩放, 默认就是 100
	        }
	      },
	      events: {
	        onDocumentReady() {
	          alert('加载完成')
	        }
	      }
	    };
	    new window.DocsAPI.DocEditor("onlyoffice", config);
	  </script>
	</body>

</html>

2.2 最终效果

在这里插入图片描述
在这里插入图片描述

3. 常见问题

一般都是一些细节没处理好,翻翻 安装目录/Log/ 下面相关日志就好了

3.1 数据库配置错误导致加载不出来

在这里插入图片描述
日志记录: 安装目录/Log/docservice/DocService_xxx.out.log

SQL 相关的报错都适用,如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 数据库配置
    创建库,执行创建表 sql 安装目录\server\schema\postgresql\createdb.sql
    在这里插入图片描述

  2. 确认连接参数正确
    打开配置文件:安装目录/config/local.json
    检查 services.CoAuthoring.sql 参数是否正确
    在这里插入图片描述

  3. 重启服务生效配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

du青松

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值