Nextcloud ONLYOFFICE 集成应用
该应用允许用户使用打包为文档服务器的 ONLYOFFICE Docs(社区版或企业版)从 Nextcloud 编辑办公文档。
功能
该应用允许:
- 创建和编辑文本文档、电子表格和演示文稿。
- 与其他用户共享文件。
- 使用水印保护文档。
- 实时协同编辑文档:使用两种协同编辑模式(快速和严格),跟踪修改、添加评论和使用内置聊天。多个连接到同一文档服务器的联合 Nextcloud 实例之间也可以进行协同编辑。
支持的格式:
- 可编辑:DOCM、DOCX、DOCXF、DOTM、DOTX、EPUB、FB2、HTML、ODT、OTT、RTF、TXT、CSV、ODS、OTS、XLSM、XLSX、XLTM、XLTX、ODP、OTP、POTM、POTX、PPSM、PPSX、PPTM、PPTX。
- 仅可查看:DJVU、DOC、DOT、FODT、HTM、MHT、MHTML、OFORM、PDF、STW、SXW、WPS、WPT、XML、XPS、ET、ETT、FODS、SXC、XLS、XLSB、XLT、DPS、DPT、FODP、POT、PPS、PPT、SXI。
安装 ONLYOFFICE Docs
你需要一个可从 Nextcloud 和任何终端客户端解析和连接的 ONLYOFFICE Docs(文档服务器)实例。ONLYOFFICE 文档服务器还必须能够直接向 Nextcloud 发送 POST 请求。
ONLYOFFICE 文档服务器和 Nextcloud 可以安装在不同的计算机上,也可以安装在同一台机器上。如果使用同一台机器,请为文档服务器设置自定义端口,因为默认情况下 ONLYOFFICE 文档服务器和 Nextcloud 都使用 80 端口。
你可以安装免费的 ONLYOFFICE Docs 社区版或具有专业功能的可扩展企业版。
要安装免费的社区版,请使用 Docker(推荐)或按照这些说明在 Debian、Ubuntu 或其衍生版上安装。
要安装企业版,请按照此处的说明进行操作。
社区版与企业版的比较可以在这里找到。
要在代理后使用 ONLYOFFICE,请参阅本文。
你还可以使用我们的 Docker 安装 来通过几个命令安装预配置的文档服务器(免费版本)和 Nextcloud。
安装 Nextcloud ONLYOFFICE 集成应用
Nextcloud 管理员可以从内置的应用市场安装集成应用。 为此,请点击用户名并选择 应用。
然后在可用应用列表中找到 ONLYOFFICE 并安装它。
如果安装 Nextcloud 的服务器没有互联网访问权限,或者出于其他原因需要手动安装,管理员可以手动安装应用。 要开始使用 ONLYOFFICE 文档服务器和 Nextcloud,必须执行以下步骤:
-
进入 Nextcloud 服务器的 apps/ 目录(或其他使用的目录):
cd apps/
-
获取 Nextcloud ONLYOFFICE 集成应用。 有几种方法可以做到这一点:
a. 从官方 Nextcloud 商店下载最新签名版本。
b. 或者你可以从 GitHub 上的应用发布页面下载最新签名版本。
c. 或者你可以克隆应用源代码并自行编译:
git clone https://github.com/ONLYOFFICE/onlyoffice-nextcloud.git onlyoffice cd onlyoffice git submodule update --init --recursive
-
构建 webpack:
npm install npm run build
-
更改所有者以便直接从 Nextcloud 网页界面更新应用:
chown -R www-data:www-data onlyoffice
-
在 Nextcloud 中,打开管理员的
~/settings/apps/disabled
页面,查看 未启用 的应用,然后为 ONLYOFFICE 应用点击 启用。
配置 Nextcloud ONLYOFFICE 集成应用
在 Nextcloud 中,打开 ~/settings/admin/onlyoffice
页面,查看 ONLYOFFICE 部分的管理设置。
输入以下地址连接 ONLYOFFICE 文档服务器:
https://<documentserver>/
其中 documentserver 是安装了 ONLYOFFICE 文档服务器的服务器名称。 该地址必须能够从用户浏览器和 Nextcloud 服务器访问。 Nextcloud 服务器地址也必须能够从 ONLYOFFICE 文档服务器访问,以确保正常工作。
有时,你的网络配置可能不允许使用公共地址在已安装的 Nextcloud 和 ONLYOFFICE 文档服务器之间进行请求。 高级服务器设置 允许设置 ONLYOFFICE 文档服务器地址,用于 Nextcloud 服务器的内部请求,以及用于 ONLYOFFICE 文档服务器内部请求的返回 Nextcloud 地址。 你需要在相应的字段中输入它们。
从 7.2 版本开始,JWT 默认启用,并自动生成密钥以限制对 ONLYOFFICE Docs 的访问,出于安全原因和数据完整性考虑。 在 Nextcloud 管理配置中指定你自己的 密钥。 在 ONLYOFFICE Docs 的配置文件中,指定相同的密钥并启用验证。
启用或禁用 在同一标签页中打开文件 设置。
文件上下文菜单中将添加 在 ONLYOFFICE 中打开 操作。 你可以将此操作指定为默认操作,对于选定的文件类型,点击文件名时将使用此操作。
检查连接
您可以使用以下occ命令检查与ONLYOFFICE文档服务器的连接:
occ onlyoffice:documentserver --check
您将看到一段文本,其中包含成功连接的信息或错误原因。
工作原理
ONLYOFFICE集成遵循此处记录的API https://api.onlyoffice.com/editors/basic:
-
创建新文件时,用户在Nextcloud中导航到文档文件夹,然后点击"新建"(+)菜单中的"文档"、"电子表格"或"演示文稿"项目。
-
浏览器调用
/lib/Controller/EditorController.php
控制器中的create
方法。此方法将资源文件夹中的文件副本添加到用户当前所在的文件夹中。 -
或者,打开现有文件时,用户在Nextcloud中导航到该文件并选择"在ONLYOFFICE中打开"菜单选项。
-
打开新的浏览器标签页,并调用
/lib/Controller/EditorController.php
控制器的index
方法。 -
应用程序准备一个具有以下属性的JSON对象:
- url - ONLYOFFICE文档服务器用于下载文档的URL;
- callbackUrl - ONLYOFFICE文档服务器通知文档编辑状态的URL;
- documentServerUrl - 客户端需要响应ONLYOFFICE文档服务器的URL(可以在管理设置页面设置);
- key - 指示ONLYOFFICE文档服务器是否再次下载文档的etag;
-
Nextcloud获取此对象并从
templates/editor.php
模板构建页面,填充所有这些值,以便客户端浏览器可以加载编辑器。 -
客户端浏览器从ONLYOFFICE文档服务器请求javascript库,并将上述属性的DocEditor配置发送给ONLYOFFICE文档服务器。
-
然后ONLYOFFICE文档服务器从Nextcloud下载文档,用户开始编辑。
-
ONLYOFFICE文档服务器向_callbackUrl_发送POST请求,通知Nextcloud用户正在编辑文档。
-
当所有用户和客户端浏览器完成编辑后,他们关闭编辑窗口。
-
在10秒的不活动状态后,ONLYOFFICE文档服务器向_callbackUrl_发送POST请求,让Nextcloud知道客户端已完成文档编辑并关闭它。
-
Nextcloud下载文档的新版本,替换旧版本。
已知问题
-
在某些情况下,使用"外部存储"应用程序添加存储可能会出现协同编辑问题。如果使用相同的授权密钥进行连接(选择"用户名和密码"或"全局凭据"身份验证类型),则用户可以使用协同编辑。如果使用不同的授权密钥("登录凭据,保存在数据库中"或"用户输入,存储在数据库中"身份验证选项),则无法使用协同编辑。当使用"登录凭据,保存在会话中"身份验证类型时,无法在编辑器中打开文件。
-
如果您为文档服务器使用自签名证书,Nextcloud将不会验证此类证书,也不允许与文档服务器建立连接。可以通过两种方式解决此问题。
您可以在Nextcloud中的ONLYOFFICE管理页面的服务器设置部分勾选"禁用证书验证(不安全)"选项。
另一种选择是手动更改Nextcloud配置文件。找到Nextcloud配置文件(/nextcloud/config/config.php)并打开它。在其中插入以下部分:
'onlyoffice' => array ( 'verify_peer_off' => true )
这将禁用证书验证,并允许Nextcloud与文档服务器建立连接。
请记住,这是一个临时的不安全解决方案,我们强烈建议您将证书替换为由某个CA颁发的证书。完成后,不要忘记取消勾选相应的设置框或从Nextcloud配置文件中删除上述部分。
-
如果编辑器在正常运行一段时间后无法打开或保存文档,原因可能是更改网络设置、禁用任何相关服务或SSL证书问题。
为解决这个问题,我们添加了一个在服务器上运行的异步后台任务,用于检查编辑器的可用性。它允许测试Nextcloud实例和ONLYOFFICE文档服务器之间的连接,即检查服务器地址的可用性和JWT密钥的有效性。
如果检测到任何问题,ONLYOFFICE集成连接器(因此,创建和打开文件的功能)将被禁用。作为Nextcloud管理员,您将收到相应的通知。
此选项可以避免服务器设置变得不正确并需要更改时出现的问题。
默认情况下,此后台任务每天运行一次。如有必要,您可以更改频率。为此,请打开Nextcloud配置文件(/nextcloud/config/config.php)。插入以下部分并输入所需的分钟值:
'onlyoffice' => array ( 'editors_check_interval' => 3624 )
要禁用此检查运行,请输入0值。
-
在没有下载权限的情况下访问文档时,文件打印和使用系统剪贴板功能不可用。可以通过编辑器工具栏和上下文菜单中的按钮在编辑器内复制和粘贴。
ONLYOFFICE Docs版本
ONLYOFFICE提供不同版本的在线文档编辑器,可以部署在您自己的服务器上。
- 社区版(
onlyoffice-documentserver
软件包) - 企业版(
onlyoffice-documentserver-ee
软件包)
下表将帮助您做出正确的选择。
定价和许可 | 社区版 | 企业版 |
---|---|---|
立即获取 | 开始免费试用 | |
费用 | 免费 | 查看定价页面 |
同时连接数 | 最多20个 | 根据所选定价方案 |
用户数量 | 建议最多20个 | 根据所选定价方案 |
许可证 | GNU AGPL v.3 | 专有 |
支持 | 社区版 | 企业版 |
文档 | 帮助中心 | 帮助中心 |
标准支持 | GitHub或付费 | 包含一年支持 |
高级支持 | 联系我们 | 联系我们 |
服务 | 社区版 | 企业版 |
转换服务 | + | + |
文档构建器服务 | + | + |
界面 | 社区版 | 企业版 |
标签式界面 | + | + |
深色主题 | + | + |
125%, 150%, 175%, 200%缩放 | + | + |
白标 | - | - |
集成测试示例(node.js) | + | + |
移动网页编辑器 | - | +* |
插件和宏 | 社区版 | 企业版 |
插件 | + | + |
宏 | + | + |
协作功能 | 社区版 | 企业版 |
两种协作编辑模式 | + | + |
评论 | + | + |
内置聊天 | + | + |
审阅和修订跟踪 | + | + |
修订跟踪显示模式 | + | + |
版本历史 | + | + |
文档编辑器功能 | 社区版 | 企业版 |
字体和段落格式设置 | + | + |
插入对象 | + | + |
添加内容控件 | + | + |
编辑内容控件 | + | + |
布局工具 | + | + |
目录 | + | + |
导航面板 | + | + |
邮件合并 | + | + |
文档比较 | + | + |
电子表格编辑器功能 | 社区版 | 企业版 |
字体和段落格式设置 | + | + |
插入对象 | + | + |
函数、公式、方程 | + | + |
表格模板 | + | + |
数据透视表 | + | + |
数据验证 | + | + |
条件格式 | + | + |
迷你图 | + | + |
工作表视图 | + | + |
演示文稿编辑器功能 | 社区版 | 企业版 |
字体和段落格式设置 | + | + |
插入对象 | + | + |
转场效果 | + | + |
动画 | + | + |
演讲者模式 | + | + |
备注 | + | + |
表单创建器功能 | 社区版 | 企业版 |
添加表单字段 | + | + |
表单预览 | + | + |
保存为PDF | + | + |
PDF处理 | 社区版 | 企业版 |
文本注释(高亮、下划线、删除线) | + | + |
评论 | + | + |
手绘 | + | + |
表单填写 | + | + |
立即获取 | 开始免费试用 |
* 如果DMS支持。