news 2026/5/11 4:11:12

利用NextCloud + OnlyOffice 内网搭建协作文档系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
利用NextCloud + OnlyOffice 内网搭建协作文档系统

利用NextCloud + OnlyOffice 内网搭建协作文档系统

  • 启动镜像
  • 系统初始化
  • 安装ONLYOFFICE插件
  • 配置ONLYOFFICE
  • 已遇到问题
    • 容器无法启动
    • 数据库用户名不对
    • 连接onlyoffice错误
    • 分享连接无法复制
    • Nextcloud 登录页面没有登录表单输入框,其他元素正常显示包括背景
    • Nextcloud 文件夹分享失败

为了便于公司内部多人文档的协作需求,现在需要搭建协作文档系统。采用NextCloud + OnlyOffice。其中NextCloud是文档,用户,权限的管理系统。OnlyOffice是文档(如word,excel)在线编辑的工具。系统使用Docker快速安装。其中需要nextcloud,onlyoffice/documentserver两个image。另外还需要数据库,可以使用sqllite,也可以使用mysql,本文不介绍数据库的安装。本博客nextcloud版本30.0.2.2,onlyoffice版本为7.2。

启动镜像

1.关闭 SELINUX,防止文件挂载出现问题

sudosetenforce0# 临时关闭sudovim/etc/selinux/config# 永久关闭# 修改后SELINUX=disabled

2.关闭防火墙

systemctl stop firewalld systemctl disable firewalld

3.启动容器

sudo docker run -d
–name nextcloud
-p 8080:80
-v /home/zywy/nextcloud/html:/var/www/html
-v /home/zywy/nextcloud/data:/var/www/html/data
-e TZ=Asia/Shanghai
–restart always
nextcloud:latest

使用ip:8080能够访问,则代表成功

sudo docker run -d
–name onlyoffice-server
-p 8081:80
-e JWT_SECRET=your_jwt_secret
–privileged=true
–restart always
onlyoffice/documentserver:latest

使用ip:8081能够访问,则代表成功。onlyoffice/documentserver作为文档在先编辑的工具,其数据可以不用挂载在宿主机。文档最总保存在nextcloud。

系统初始化

使用ip:8080登陆系统。初次登录系统需要设置管理员账号和密码。
然后选择数据库,作为测试可以使用sqllite,但是生产环境建议使用mysql。填写数据库信息后,点击安装即可。

安装ONLYOFFICE插件

1.离线下载onyoffice插件:https://apps.nextcloud.com/apps/onlyoffice/releases?platform=30#30

2.查看当前nextcloud版本

docker inspect imagename|grep-i version

当前版本为30,选择9.11

3.解压到目标目录

tar-zxvf /tmp/onlyoffice.tar.gz -C /home/zywy/nextcloud/htm/apps/chown-R www-data:www-data /home/zywy/nextcloud/htm/apps/onlyoffice

4.启用onlyoffice插件

点击右上脚的头像。点击”应用“。

进入应用界面,左边菜单栏选择”已禁用的应用“,启用”ONLYOFFICE“。

配置ONLYOFFICE

1.查看onlyoffice连接密钥

如果在容器启动的时候设置了JWT_SECRET那么就是这个密钥。如果没有设置通过以下方式查询。但是注意,每次重启后密钥会发生变化 。建议使用 -e JWT_SECRET=your_jwt_secret启动容器

sudodockerexeconlyoffice容器id /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json'services.CoAuthoring.secret.session.string'

2.选择管理设置,进入onlyoffice的设置。填写onlyoffice连接地址和第一步中的密钥。点击“保存”。

已遇到问题

容器无法启动

启动nextcloud容器错误信息:No such file or directory,Permission denied

启动onlyoffice容器错误信息:

cannot statx /var/www/onlyoffice/documentserver/server/Docservice/docservice: No suchfileor directory /app/ds/run-document-server.sh: line204: /var/www/onlyoffice/documentserver/npm/json: No suchfileor directory /app/ds/run-document-server.sh: Line205: /var/ww/onlyoffice/documentserver/npm/json: No suchfileor directory /app/ds/run-document-server.sh: line206: /var/www/onlyoff ice/documentserver/npm/json: No suchfileor directory /app/ds/run-document-server.sh:Line208: /var/www/onlyoffice/documentserver/npm/json: No suchfileor directory /app/ds/run-document-server.sh: line178: /var/www/onlyoffice/documentserver/npm/json: No suchfileor directory /app/ds/run-document-server.sh: line179: /var/www/onlyoffice/documentserver/npm/json: No suchfileor directory /app/ds/run-document-server.sh: line197: /var/www/onlyoffice/documentserver/npm/json: No suchfileor directory /app/ds/run-document-server.sh: line260: -3: substring express ion<0nc: port number invalid: Waitingforconnection to thehoston port nc: port number invalid: Waitingforconnection to thehoston port nc: port number invalid:

问题原因:这些问题是由于文件挂载的时候,由于selunix导致的问题。

解决方法: setenforce 0

数据库用户名不对

问题描述和原因:nextcloud初始化系统的时候,系统不按照输入数据库用户名连接数据库。而是“oc_admin1”。导致无法连接数据库。

解决方法:修改/var/www/html/config/config.php 将dbuser 改为指定的用户名。

连接onlyoffice错误

问题描述和原因:无法保存onlyoffice插件的配置。原因是没有正确填入onlyoffice的密钥。

解决方法:获取密钥
sudo docker exec containerId /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json ‘services.CoAuthoring.secret.session.string’

分享连接无法复制

问题描述和原因:在创建分享连接的时候,无法使用复制功能。原因是使用http,非安全连接,浏览器阻止。

临时解决方法: 新建启动快捷键,在目标后面添加参数 --unsafely-treat-insecure-origin-as-secure=http://192.168.1.100:80 --test-type
例如:创建新的快捷方式:“C:\Program Files\Google\Chrome\Application\chrome.exe” --unsafely-treat-insecure-origin-as-secure=http://192.168.1.100:80 --test-type

彻底解决方法: 使用https

Nextcloud 登录页面没有登录表单输入框,其他元素正常显示包括背景

错误信息:
控制台报错信息:uncaught syntaxerror:unexpected taken ‘&&=’
login接口Previewxi显示:对于正确的操作,该应用需要使用JavaScript。请启用JavaScript,并重新加载页面。
windows10 chrome报错的版本为84.0.4147.105。

问题分析:

uncaught syntaxerror: unexpected token ‘&&=’” 这个错误是关键。&&=是一个逻辑赋值运算符,属于ES2021标准。而 Chrome 84 发布于 2020 年 7-8 月,远早于该标准的普及,因此浏览器无法识别这个语法,JavaScript 引擎直接报错停止执行。由于 Nextcloud 的前端完全依赖 JavaScript 渲染,脚本失败后,页面就只能显示一个残缺的界面和要求启用 JavaScript 的提示。

问题解决:升级Chrome

Nextcloud 文件夹分享失败

问题描述:/api/v1/shares 403。文件夹分享失败。但是该文件夹里的文件分享成功。

详细错误日志:Path contains files shared withed you。

问题原因:尝试分享的文件夹路径中,包含了「他人分享给你的文件 / 子文件夹」 —— 这是 Nextcloud 的核心安全限制:用户仅能分享「自己拥有所有权」的内容,若文件夹内存在任何 “他人共享给你的内容”(哪怕只是一个小文件 / 子文件夹),整个文件夹的分享请求会被直接拒绝,返回 403

问题解决:只分享自己所有的文件。


愿你我都能在各自的领域里不断成长,勇敢追求梦想,同时也保持对世界的好奇与善意!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/10 6:57:02

C语言大小端格式详解

C语言大小端格式详解 &#x1f525;作者简介&#xff1a; 一个平凡而乐于分享的小比特&#xff0c;中南民族大学通信工程专业研究生&#xff0c;研究方向无线联邦学习 &#x1f3ac;擅长领域&#xff1a;驱动开发&#xff0c;嵌入式软件开发&#xff0c;BSP开发 ❄️作者主页&a…

作者头像 李华
网站建设 2026/5/10 1:37:21

BG3ModManager终极指南:快速上手博德之门3模组管理器完整教程

BG3ModManager终极指南&#xff1a;快速上手博德之门3模组管理器完整教程 【免费下载链接】BG3ModManager A mod manager for Baldurs Gate 3. 项目地址: https://gitcode.com/gh_mirrors/bg/BG3ModManager 还在为《博德之门3》模组管理而烦恼吗&#xff1f;BG3ModManag…

作者头像 李华
网站建设 2026/5/9 5:25:51

终极指南:使用Python快速构建RFID读卡器应用

终极指南&#xff1a;使用Python快速构建RFID读卡器应用 【免费下载链接】MFRC522-python A small class to interface with the NFC reader Module MFRC522 项目地址: https://gitcode.com/gh_mirrors/mfr/MFRC522-python MFRC522-python是一个专为树莓派设计的轻量级P…

作者头像 李华
网站建设 2026/5/10 2:39:40

高特异性生物标记试剂ATTO 390 BCN双环(6.1.0)壬炔

【试剂描述】ATTO 390 BCN 是一种高性能紫外-蓝光荧光生物正交标记探针&#xff0c;通过将ATTO 390染料与双环[6.1.0]壬炔&#xff08;BCN&#xff09;点击化学基团共价结合而成。该探针可在无金属催化剂的温和生理条件下&#xff0c;与叠氮修饰的目标分子发生快速、高特异性的…

作者头像 李华
网站建设 2026/5/9 21:12:53

LOOT模组排序终极方案:告别天际模组冲突的完整指南

LOOT模组排序终极方案&#xff1a;告别天际模组冲突的完整指南 【免费下载链接】skyrimse The TES V: Skyrim Special Edition masterlist. 项目地址: https://gitcode.com/gh_mirrors/sk/skyrimse 你是否曾经遇到过这样的场景&#xff1a;精心挑选了几十个模组&#xf…

作者头像 李华
网站建设 2026/5/10 13:58:29

bilibili-api自定义Credential Cookies功能深度剖析:解锁API调用的新维度

在Python开发者的B站生态圈中&#xff0c;bilibili-api项目一直是连接开发者与B站API的重要桥梁。最新版本带来的自定义Credential Cookies功能&#xff0c;为这个桥梁注入了前所未有的灵活性和控制力。 【免费下载链接】bilibili-api 哔哩哔哩常用API调用。支持视频、番剧、用…

作者头像 李华