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

利用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

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


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

http://www.cnnetsun.cn/news/126851.html

相关文章:

  • 企业合同管理的安全锁——合同系统智能化
  • 光速革命:Diffractive-Deep-Neural-Networks开启光子AI新纪元
  • 高效自动化网络管理:Kea DHCP完整解决方案实战指南
  • 纯电动汽车两档ATM变速箱Simulink模型:含换挡控制与执行模块,附详细文档与注释
  • WebToEpub终极指南:一键将网页小说变电子书
  • 终极指南:escrcpy实现手机息屏远程控制的完整教程
  • Office.js 终极入门指南:快速开发你的第一个Office插件
  • AMD驱动精简终极指南:快速上手Radeon Software Slimmer
  • SpiffWorkflow工作流引擎实战:精通Python BPMN自动化
  • Unlock Music音乐解锁神器:打破数字限制,重获音乐自由
  • 5分钟掌握TinyVT:Windows系统监控的终极隐身术
  • Blender MMD工具完全指南:从模型导入到动画制作
  • MCP续证如何高效备考?(资深讲师亲授通关秘籍)
  • 复旦最新一篇DriveVGGT:面向自动驾驶,高效实现多相机4D重建
  • Dart Simple Live终极指南:一站式跨平台直播聚合解决方案
  • 3步解锁网易云NCM加密:ncmdumpGUI完全操作手册
  • 息屏远程控制终极指南:让escrcpy成为你的手机隐形管家
  • Happy Holidays from atsec
  • 办公室中的Python课 P07 【逻辑大脑】条件判断:让你的代码学会“做决定”
  • AI Agent部署权限设计(高阶安全架构全公开)
  • GIF流畅度提升终极指南:Waifu2x完整使用教程
  • MCP续证倒计时:5天内完成考试预约的紧急操作手册(限时必读)
  • MCP SC-400量子加密实战,你必须掌握的7个关键技术点
  • 终极DMG文件转换指南:免费开源工具DMG2IMG完整教程
  • 【MCP量子认证模拟试题全揭秘】:掌握这10道高频题,轻松通过考试
  • WinPython碰撞系统优化终极指南:打造流畅的射击游戏体验
  • 揭秘AZ-500云Agent故障恢复全流程:3步实现99.9%可用性保障
  • MAUI条码扫描终极指南:快速集成专业级扫码功能
  • 1、高效调试:.NET 与 Windows 应用开发的关键
  • 智慧农业技术与装备专业产教协同育人解决方案