news 2026/4/23 15:55:17

利用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/4/23 14:35:03

3大核心技巧:解决Godot引擎Spine动画集成难题的完整方案

3大核心技巧&#xff1a;解决Godot引擎Spine动画集成难题的完整方案 【免费下载链接】spine-runtime-for-godot This project is a module for godot that allows it to load/play Spine skeleton animation. 项目地址: https://gitcode.com/gh_mirrors/sp/spine-runtime-for…

作者头像 李华
网站建设 2026/4/23 13:02:21

计算机毕设Java母婴用品智能化推荐系统 基于Java的母婴产品智能推荐平台设计与实现 Java技术驱动的母婴用品个性化推荐系统开发

计算机毕设Java母婴用品智能化推荐系统5w4019 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。随着互联网的飞速发展&#xff0c;母婴用品市场的线上交易规模不断扩大。然而&…

作者头像 李华
网站建设 2026/4/23 11:32:38

JavaScript条码处理终极指南:从原理到实战的完整解决方案

JavaScript条码处理终极指南&#xff1a;从原理到实战的完整解决方案 【免费下载链接】library Multi-format 1D/2D barcode image processing library, usable in JavaScript ecosystem. 项目地址: https://gitcode.com/gh_mirrors/lib/library 在数字化转型浪潮中&…

作者头像 李华
网站建设 2026/4/22 16:00:18

巧用数字:挑选汉阳天玑AIGEO优化系统,这3个要点要知道!

引言在当今数字化营销时代&#xff0c;【天玑AIGEO优化系统】凭借其独特优势&#xff0c;成为众多企业关注的焦点。尤其是汉阳地区的企业&#xff0c;利用该系统能有效提升营销效果。下面就为大家介绍巧用【天玑AIGEO优化系统】的三个要点。要点一&#xff1a;本地精准营销的关…

作者头像 李华
网站建设 2026/4/23 12:54:25

VideoDownloader视频下载工具:从入门到精通的全链路指南

VideoDownloader视频下载工具&#xff1a;从入门到精通的全链路指南 【免费下载链接】VideoDownloader 支持下载队列&#xff0c;支持M3U8视频、MP4视频等&#xff0c;支持M3U8合并为MP4视频。 项目地址: https://gitcode.com/gh_mirrors/vid/VideoDownloader 能力矩阵&…

作者头像 李华