ONLYOFFICE 快速部署教程:让你的私有云盘也可以预览和编辑 Office 文档

ONLYOFFICE Docs (原 ONLYOFFICE Document Server) 是一款强大的开源在线办公套件,包含用于文本、电子表格和演示文稿的查看器和编辑器,完全兼容 Office Open XML 格式(.docx、.xlsx、.pptx),并支持实时协作编辑。本文将指导你如何使用 Docker 快速部署 ONLYOFFICE Docs 社区版,轻松搭建自己的在线办公平台。

ONLYOFFICE Docs 简介

ONLYOFFICE Docs 提供类似微软 Office 的在线编辑体验,你可以用它创建和编辑文档、电子表格和演示文稿。它支持实时协作编辑,方便团队协同工作。此外,ONLYOFFICE Docs 还支持丰富的格式,包括 DOC、DOCX、TXT、ODT、RTF、ODP、EPUB、ODS、XLS、XLSX、CSV、PPTX 和 HTML 等。

ONLYOFFICE Docs 可以与 ONLYOFFICE Workspace 集成,也可以与第三方同步和共享解决方案(例如 Nextcloud、ownCloud、Seafile)集成,在其界面内启用文档预览和协作编辑功能。

服务器准备

在开始部署之前,请确保你的系统满足以下最低要求:

  • 内存: 4 GB 或以上
  • CPU: 双核 2 GHz 或以上
  • 交换空间: 至少 2 GB
  • 硬盘空间: 至少 2 GB 可用空间
  • 操作系统: 64 位 Linux 发行版(例如 CentOS、Debian、Ubuntu 等),内核版本 3.8 或更高版本
  • Docker: 版本 1.9.0 或更高版本 (推荐最新版)

我将会以 雨云 为例,带大家创建一台自己的云服务器,以便尝试本篇文章的内容。

注册链接: https://www.rainyun.com/NTEzMTM1_?s=blog

创建云服务器

以下内容只是参考,具体按照自己的需求选择配置即可。

点击“云产品”→“云服务器”→“立即购买”。

云服务器购买页面

建议选择距离你较近的区域,以降低延迟。
选择服务器区域

选择配置。

选择服务器配置

选择 Ubuntu 22.04 版本,勾选预装 Docker 最新版。

选择操作系统和 Docker

点击“立即购买”,并完成后续购买流程。购买完成后,等待服务器部署完毕,进入管理面板,找到远程连接信息。

服务器管理面板

远程连接信息

使用 PowerShell 进行远程连接:输入 ssh root@你的服务器IP (例如 ssh root@154.9.227.239),首次连接需输入 yes,然后回车即可登录。

PowerShell 远程连接

登录成功

到这里,我们的服务器就创建完毕,并且能够远程 SSH 访问了。

Docker 部署教程

1. 运行 Docker 镜像

最简单的部署方式是直接运行 ONLYOFFICE Docs 的 Docker 镜像:

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

该命令将在端口 80 上运行 ONLYOFFICE Docs。

2. 数据持久化

为了避免数据丢失,建议将容器内的数据目录挂载到主机目录。以下命令将 ONLYOFFICE Docs 的日志、数据、缓存和数据库目录挂载到主机:

sudo docker run -i -t -d -p 80:80 \-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/rabbitmq:/var/lib/rabbitmq \-v /app/onlyoffice/DocumentServer/redis:/var/lib/redis \-v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql  onlyoffice/documentserver

请根据实际情况修改主机目录路径。

3. 端口配置

你可以使用 -p 参数修改 ONLYOFFICE Docs 的端口。例如,要将 ONLYOFFICE Docs 运行在 8080 端口,可以使用以下命令:

sudo docker run -i -t -d -p 8080:80 onlyoffice/documentserver
4. HTTPS 配置

为了提高安全性,建议使用 HTTPS 访问 ONLYOFFICE Docs。 你可以使用 Let’s Encrypt 自动生成和更新证书:

sudo docker run -i -t -d -p 80:80 -p 443:443 \-e LETS_ENCRYPT_DOMAIN=your_domain -e LETS_ENCRYPT_MAIL=your_mail  onlyoffice/documentserver

请将 your_domainyour_mail 替换为你的域名和邮箱地址。

你也可以手动生成自签名证书,并将其放置在 /app/onlyoffice/DocumentServer/data/certs/ 目录下。

环境变量

ONLYOFFICE Docs 提供了丰富的环境变量,可以用于自定义配置。以下列举一些常用的环境变量:

环境变量说明默认值
ONLYOFFICE_HTTPS_HSTS_ENABLED是否启用 HSTStrue
SSL_CERTIFICATE_PATHSSL 证书路径/var/www/onlyoffice/Data/certs/tls.crt
SSL_KEY_PATHSSL 密钥路径/var/www/onlyoffice/Data/certs/tls.key
DB_TYPE数据库类型postgres
JWT_ENABLED是否启用 JWT 验证true
JWT_SECRETJWT 密钥随机值

更多环境变量请参考官方文档的 “Available Configuration Parameters” 部分。

集成到 Cloudreve 中

由于 Cloudreve 需要 ONLYOFFICE 开启 WOPI_ENABLED ,可在创建容器时指定 WOPI_ENABLEDtrue 来开启:

docker run -i -t -d -p 8080:80 -e WOPI_ENABLED=true onlyoffice/documentserver

创建好容器后,可以手动访问 http://your_server_ip:8080 查看是否启动完毕。

ONLYOFFICE 启动成功

在 Cloudreve 中设置

Cloudreve 的部署,可以参考我这篇文章 : https://blog.csdn.net/weixin_53510183/article/details/143416437

在 后台 - 参数设置 - 图像与预览 - 文件预览 - WOPI 客户端 中开启 “使用 WOPI” 并在 “WOPI Discovery Endpoint” 中填入 http://<你的服务主机>/hosting/discovery。保存后可在前台测试文档预览和编辑:

Cloudreve 中配置 ONLYOFFICE

集成到 Seafile

Seafile 的部署,可以参考我这篇文章 : https://blog.csdn.net/weixin_53510183/article/details/143625005

正常按照部署教程使用 Docker 部署即可。

设置 OnlyOffice 自动保存

使用 OnlyOffice 打开文件时,OnlyOffice 只会在用户关闭页面后向 Seafile 发送文件保存请求。如果用户长时间未关闭页面,则用户对文件的更改将不会及时保存在 Seafile 上。

您可以通过更改 OnlyOffice 的配置来设置自动保存。

  1. 进入到 onlyoffice/documentserver 容器中;

  2. 打开 OnlyOffice 的配置文件: /etc/onlyoffice/documentserver/local.json

  3. 添加以下配置信息:

    {"services": {"CoAuthoring": {"autoAssembly": {"enable": true,"interval": "5m"}}}
    }
    
  4. 重启 OnlyOffice: supervisorctl restart all

配置 Seafile 服务

添加以下配置信息到 seahub_settings.py

# Enable Only Office
ENABLE_ONLYOFFICE = True
VERIFY_ONLYOFFICE_CERTIFICATE = False
ONLYOFFICE_APIJS_URL = 'http://your_OnlyOffice_server/web-apps/apps/api/documents/api.js'
ONLYOFFICE_FILE_EXTENSION = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'odt', 'fodt', 'odp', 'fodp', 'ods', 'fods')
ONLYOFFICE_EDIT_FILE_EXTENSION = ('docx', 'pptx', 'xlsx')
ONLYOFFICE_JWT_SECRET = 'your-secret-string'   # 自定义secret

修改 your_OnlyOffice_server 为你自己的 ONLYOFFICE 服务器 IP 或域名。

然后重启 Seafile 和 Seahub 服务:

./seafile.sh restart
./seahub.sh restart

或者:

service seafile-server restart
service seahub restart

最后,当你点击一个文档应该会看到一个新的预览页面。

相关链接
雨云 - 新一代云服务提供商: https://www.rainyun.com/NTEzMTM1_?s=blog
面试鸭:https://mianshiya.com/?shareCode=sq29yv
我的博客:https://blog.ivwv.site

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/9669.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【ESP32】ESP-IDF开发 | 低功耗管理+RTC唤醒和按键唤醒例程

1. 简介 ESP32支持5种低功耗模式&#xff0c;低功耗管理单元包括调压器、功耗控制器、电源开关单元、电源域隔离单元 (Isolation Cell) 等部分。 1.1 RTC单元 RTC单元是ESP32低功耗管理的核心&#xff0c;可用于管理低功耗模式的进入和退出&#xff0c;控制时钟源、PLL、电源开…

SQLite的BLOB数据类型与C++二进制存储学习记录

一、BLOB数据类型简介 Blob&#xff08;Binary Large Object&#xff09;是一种用于存储二进制数据的数据类型&#xff0c;在数据库中常用于存储图片、音频和视频等大型&#xff08;大数据量&#xff09;的二进制数据[1-2]。需要注意的是&#xff0c;SQLite中BLOB类型的单对象最…

如何利用低代码平台进行创业?开启你的数字化转型之旅

在当今这个飞速发展的数字化时代&#xff0c;低代码开发已经成为企业加速业务流程、提升运营效率的关键手段之一。它不仅简化了软件开发过程&#xff0c;使得非技术人员也能参与到应用程序的构建中来&#xff0c;还为企业和个人提供了更加灵活、高效的创业路径。本文将探讨如何…

从0开始深度学习(28)——序列模型

序列模型是指一类特别设计来处理序列数据的神经网络模型。序列数据指的是数据中的每个元素都有先后顺序&#xff0c;比如时间序列数据&#xff08;股票价格、天气变化等&#xff09;、自然语言文本&#xff08;句子中的单词顺序&#xff09;、语音信号等。 1 统计工具 前面介绍…

Xcode无线真机调试

文章目录 Xcode无线真机调试前提条件无线真机调试 Xcode无线真机调试 前提条件 iPhone和Xcode连接在同一WIFI下&#xff1b;或 Xcode通过iPhone的IP地址进行连接&#xff1b;Xcode版本支持无线调试功能&#xff1b; 无线真机调试 首次使用&#xff0c;需要通过数据线连接MAC…

暴雨讲堂|AI算力芯片王者GPGPU是什么?

在AI飞速发展的这几年&#xff0c;市场上涌现一大批诸如DPU、NPU、TPU、IPU等“XPU”的新概念&#xff0c;是真的存在不同的架构&#xff0c;还是只是一些厂商营销出来的噱头&#xff1f;事实上&#xff0c;从CPU的发展角度来看&#xff0c;这些XPU都不是真正的处理器。相反&am…

行车记录打不开?原因分析与数据恢复全攻略

行车记录遭遇困境 行车记录仪&#xff0c;作为现代驾驶中的重要设备&#xff0c;不仅能够帮助我们记录行车过程&#xff0c;还能在关键时刻提供有力的证据。然而&#xff0c;当行车记录突然打不开时&#xff0c;这无疑给车主们带来了不小的困扰。行车记录打不开&#xff0c;可…

SpringMVC总结 我的学习笔记

SpringMVC总结 我的学习笔记 一、SpringMVC简介1.MVC2.SpringMVC概述3. SpringMVC中的核心组件4.SpringMVC核心架构流程 二、SpringMVC框架实例具体实现使用注解实现 四、数据处理及跳转1.结果跳转方式2.处理器方法的参数与返回值处理提交数据数据显示到前端 五、RestFul风格1.…

云计算基础1

声明 学习视频来自B站UP主泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 云计算基础概念 一、云计算的定义 云计算是一种资源交付和使用模式&#xff0c;指通过网络获得应用所需的…

Guava限流神器:RateLimiter使用指南

1. 引言 可能有些小伙伴听到“限流”这个词就觉得头大&#xff0c;感觉像是一个既复杂又枯燥的话题。别急&#xff0c;小黑今天就要用轻松易懂的方式&#xff0c;带咱们一探RateLimiter的究竟。 想象一下&#xff0c;当你去超市排队结账时&#xff0c;如果收银台开得越多&#…

被复线远传节点机JR-IPAM-1600

产品描述 JR-IPAM-1600J是一款被复线远传节点机&#xff0c;通过传统双绞线电缆&#xff08;被复线\网线\对数电缆\矿用电缆等&#xff09;&#xff0c;用户就可以快速组成一个高速的传输网、局域网。它具有传输速率高、运行稳定、快速安装部署的特点&#xff0c;设备特有的AU…

【React】React 生命周期完全指南

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 React 生命周期完全指南一、生命周期概述二、生命周期的三个阶段2.1 挂载阶段&a…

自定义springCloudLoadbalancer简述

概述 目前后端用的基本都是springCloud体系&#xff1b; 平时在dev环境开发时&#xff0c;会把自己的本地服务也注册上去&#xff0c;但是这样的话&#xff0c;在客户端调用时请求可能会打到自己本地&#xff0c;对客户端测试不太友好. 思路大致就是前端在请求头传入指定ip&a…

Vue3-子传父

1. 主组件 App.vue&#xff08;父组件&#xff09; 在 App.vue 中&#xff0c;我们先引入了子组件 SonCom&#xff0c;这个小家伙将在父组件中出场。 接着&#xff0c;我们写了一个叫 getMessage 的函数。这个函数的任务很简单——接收子组件传来的消息&#xff0c;然后用 con…

vue--vueCLI

何为CLI ■ CLI是Command-Line Interface,俗称脚手架. ■ 使用Vue.js开发大型应用时&#xff0c;我们需要考虑代码目录结构、项目结构和部署、热加载、代码单元测试等事情。&#xff08;vue 脚手架的作用&#xff09;&#xff0c; 而通过vue-cli即可&#xff1a;vue-cli 可以…

基于 JAVASSM(Java + Spring + Spring MVC + MyBatis)框架开发一个医院挂号系统

基于 JAVASSM&#xff08;Java Spring Spring MVC MyBatis&#xff09;框架开发一个医院挂号系统是一个实用的项目。 步骤一&#xff1a;需求分析 明确系统需要实现的功能&#xff0c;比如&#xff1a; 用户注册和登录查看医生列表预约挂号查看预约记录取消预约管理员管…

Golang--反射

1、概念 反射可以做什么? 反射可以在运行时动态获取变量的各种信息&#xff0c;比如变量的类型&#xff0c;类别等信息如果是结构体变量&#xff0c;还可以获取到结构体本身的信息(包括结构体的字段、方法)通过反射&#xff0c;可以修改变量的值&#xff0c;可以调用关联的方法…

计算机网络 TCP/IP体系 数据链路层

一. 数据链路层的基本概念 数据链路层主要负责节点之间的通信&#xff0c;确保从物理层接收到的数据能够准确无误地传输到网络层。 数据链路层使用的信道主要有以下两种类型: 点对点信道: 这种信道使用一对一的点对点通信方式。广播信道: 这种信道使用一对多的广播通信方式,…

使用注解装配Bean

&#xff01;&#xff01;&#xff01;仅用作学习笔记记录&#xff01;&#xff01;&#xff01; 一、一些概念&#xff1a; 1.定义Bean的注解&#xff1a; 在实际开发中分别使用Repository、Service与Controller对实现类进行标注。 2.注入Bean组件装配的注解 Autowired默认…

csa文件管理账号管理练习

1、查看/etc/passwd文件的第18-20行内容&#xff0c;并将找到的内容存储至/home/passwd文件中&#xff08;head&#xff0c;tail&#xff0c;>,>>&#xff09; # head -num 显示文件头num行 # tail -num &#xff1a;显示文件的最后num行 # 输出重定向 > # 使用…