当前位置: 首页 > article >正文

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

文章目录

  • 1. 安装
    • 1.1 环境要求
    • 1.2 安装步骤
    • 1.3 常用配置
      • 1.3.1 安装目录/config/default.json
      • 1.3.2 安装目录/config/local.json
      • 1.3.3 安装目录/nginx/conf
      • 1.3.4 配置生效
  • 2. 网站嵌入
    • 2.1 代码示例
    • 2.2 最终效果
  • 3. 常见问题
    • 3.1 数据库配置错误导致加载不出来

1. 安装

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

1.1 环境要求

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

  • Erlang: version 24.2
    官网:https://www.erlang.org/
    Windows 下载页:https://www.erlang.org/downloads
  • RabbitMQ: version 3.9.1
    官网:https://www.rabbitmq.com/
    Windows 下载页:https://www.rabbitmq.com/docs/install-windows
  • PostgreSQL: version 12.9 or later
    官网:https://www.postgresql.org/
    Windows 下载页:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

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. 重启服务生效配置


http://www.kler.cn/a/566804.html

相关文章:

  • AIoT是什么?关键技术及应用
  • Python 数据结构 1.零基础复习
  • ⭐算法OJ⭐位操作实战【计数】(C++ 实现)
  • 无人机 CAAC 执照考取全攻略
  • 25.贪心算法3
  • UniApp 按钮组件 open-type 属性详解:功能、场景与平台差异
  • LangChain大模型应用开发:LangGraph快速构建Agent工作流应用
  • web安全渗透测试 APP安全渗透漏洞测试详情
  • 「Selenium+Python自动化从0到1②|2025浏览器操控7大核心API实战(附高效避坑模板))」
  • Rust学习总结之-match
  • Nginx系列04(虚拟主机配置、反向代理)
  • Redis 的 Bitmap(位图)的使用场景
  • Windows 图形显示驱动开发-WDDM 3.2-自动显示切换(五)
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数 - 详解(2)
  • 交叉编译curl(OpenSSL)移植ARM详细步骤
  • 支付宝 IoT 设备入门宝典(下)设备经营篇
  • python 视频网站爬虫教程,爬虫入门教程(付安装包)
  • 基于大型语言模型的google浏览器翻译插件
  • Redis开启远程访问
  • IDEA-插件开发踩坑记录-第七坑-Unable to locate JNA native support library