草庐IT

在外网和内网部署nextcloud+onlyoffice实现在线编辑功能

正在摸鱼的路上 2023-09-04 原文

在外网和内网部署nextcloud+onlyoffice实现在线编辑功能

在线部署

1在线安装docker

2通过docker安装并运行nextcloud+onlyoffice/documentserver镜像

3访问nextcloud和onlyoffice/documentserver

4在nextcloud中的应用->Files中搜索onlyoffice下载

5在管理设置->OnlyOffice中填写上OnlyOffice服务器的地址

内网部署

1离线安装docker

2通过docker命令导出nextcloud和onlyoffice镜像和mysql镜像

3官网下载onlyoffice应用离线版后导入到nextcloud容器中

4配置mysql数据库

5运行docker容器并挂载数据卷

6安装

7成功启动

常见错误:

1无法正常启动

2通过不被信任的域名访问

3连接是发生异常 (文档服务内部发生异常: Invalid token)

因为需要搭建一个能够实现在线多人同时编辑功能的工具,所以在网上查询资料,发现大多数人都在使用nextcloud+onlyoffice这一套组件,nextcloud作为一个私有网盘,可以上传下载文件,同时搭载了onlyoffice插件,可以实现多人在线文档编辑。

因为nextcloud和onlyoffice的使用需要多个软件的协同,比如一个onlyoffice就需要同时下载安装RabbitMQ,Erlang等软件,且版本兼容问题也很难解决,在网上又看到大多数人选择采用Docker进行镜像安装,因为Docker将每个应用的Libs函数库,Deps依赖,配置和应用一起打包,放到一个隔离容器中运行,避免互相干扰,以及系统函数库,从而解决了依赖兼容问题和操作系统版本环境差异的问题,所以最后决定通过Docker运行nextcloud+onlyoffice。

操作步骤:在CentOS7虚拟机上先进行测试,测试通过后再部署到对应的服务器上,一台是腾讯云服务器,一台是公司内网服务器,192.168.200.132为虚拟机IP

在线部署

1在线安装docker

1.1安装yum工具

 

1.2更新本地镜像源

 

1.3输入命令,安装docker-ce(docker-ce为社区免费版本)

 

1.4启动docker

​ 1.4.1关闭防火墙

1.4.2通过命令启动docker

​ 1.4.3然后输入命令,可以查看docker版本:

如图:

参考文章

nextcloud手动插件NextCloud 离线安装扩展插件 OnlyOffice 插件实现协同办公编辑软件...weixin_39538500的博客-CSDN博客

nextcloud手动插件_NextCloud 离线安装扩展插件 OnlyOffice 插件实现协同办公编辑软件..._weixin_39538500的博客-CSDN博客

docker:如何将本地文件复制到docker容器内普通网友的博客-CSDN博客docker怎么把文件拷贝到容器里面

docker:如何将本地文件复制到docker容器内_普通网友的博客-CSDN博客_docker传文件到容器

2通过docker安装并运行nextcloud+onlyoffice/documentserver镜像

docker运行镜像,会首先从www.hub.docker.com上拉取镜像,拉取到镜像后,再按照指定方式运行

2.1运行nextcloud镜像

2.2运行onlyoffice/documentserver镜像

3访问nextcloud和onlyoffice/documentserver

3.1在浏览器输入http://192.168.200.132:5757访问nextcloud

192.168.200.132为虚拟机IP

3.2在浏览器输入http://192.168.200.132:443http://192.168.200.132:443访问onlyoffice/documentserver 

 

 

4在nextcloud中的应用->Files中搜索onlyoffice下载应用

 

5在管理设置->OnlyOffice中填写上OnlyOffice服务器的地址

 

内网部署

 

1离线安装docker

1.1选择系统的型号,下载对应的离线安装包

Index of linux/static/stable/x86_64/

因为离线无法安装yum,所以直接下载docker对应版本的离线安装包

1.2上传文件到服务器

 

1.3安装开始

1.3.1解压缩

 

1.3.2将解压得到的文件复制到/usr/bin目录下

 

1.3.3注册docker服务和开机启动

在 /etc/systemd/system 目录下创建一个docker.service文件,用于注册docker服务和开机启动

#创建一个docker.service文件 

 

#内容如下:

 

1.3.4给service文件设置权限  最好改成777

 

1.3.5重新加载配置

 

1.3.6设置docker为开机启动

1.3.7启动docker

1.3.8查看容器状态

 

1.3.9查看docker版本

 

2通过docker命令导出nextcloud和onlyoffice镜像和mysql镜像

2.1通过docker images查看所有的docker镜像

 

2.2将我们在虚拟机中的docker镜像通过命令导出成.tar文件

 

参考文章:https://www.pudn.com/news/635a5c82a4b7e43a5ec90c92.html#2_usrbin_47

3官网下载onlyoffice应用离线版后导入到nextcloud容器中

3.1下载onlyoffice应用离线版

 

 

 

3.2将下载好的onlyoffice插件安装到nextcloud容器内

3.2.1上传文件

 

3.2.2解压文件,得到onlyoffice文件夹

 

 

3.2.3将文件复制到nextcloud容器的对应文件夹中

 

通过docker cp命令,将文件夹复制到nextcloud容器的/var/www/html/apps文件夹下

 

 

 

3.3在root->应用->您的应用中选择启用onlyoffice即可

 

 

参考文章:nextcloud安装onlyoffice - 走看看

也可以通过docker配置数据卷,直接在宿主机挂载的目录中修改对应的config.php文件

官网插件下载地址:ONLYOFFICE - Apps - App Store - Nextcloud

ONLYOFFICE - Apps - App Store - Nextcloud

4配置mysql数据库

4.1安装mysql

在联网的虚拟机上下载好mysql 镜像后,导出mysql镜像

 

 

 

4.2设置nextcloud数据库

创建nextcloud_db数据库

 

5运行docker容器并挂载数据卷

5.1数据卷是什么?

数据卷是一个虚拟目录,指向宿主机文件系统中的某个目录。一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录,比如我们让宿主机的/root/www目录挂载到容器的/var/www目录上,那么数据卷就是一个中转站,宿主机的目录会包含所有容器对应目录的文件,我们对宿主机的目录或者容器的目录进行操作会同时作用在容器或宿主机目录中

5.2挂载数据卷并运行nextcloud和mysql

 

 

6安装

 

7成功启动

nextcloud创建用户时如何设置默认语言为中文?

 

参考文章:https://blog.csdn.net/weixin_42718889/article/details/114441757

常见错误:

1无法正常启动

解决方法:

1可能是因为源镜像有问题,建议先在A虚拟机上导出后再次导入运行,运行正常后再导入到B虚拟机上尝试

2可能是因为导入导出的命令不一致,镜像对应save和load,容器对应export和import

2通过不被信任的域名访问

解决方法:

打开/config/config.php

找到trusted_domains

增加一项

 

3连接是发生异常 (文档服务内部发生异常: Invalid token)

解决方法:

 

 

 

在服务器中输入该串命令,得到秘钥后,输入到nextcloud中对应位置即可

 

有关在外网和内网部署nextcloud+onlyoffice实现在线编辑功能的更多相关文章

  1. ruby-on-rails - Rails 编辑表单不显示嵌套项 - 2

    我得到了一个包含嵌套链接的表单。编辑时链接字段为空的问题。这是我的表格:Editingkategori{:action=>'update',:id=>@konkurrancer.id})do|f|%>'Trackingurl',:style=>'width:500;'%>'Editkonkurrence'%>|我的konkurrencer模型:has_one:link我的链接模型:classLink我的konkurrancer编辑操作:defedit@konkurrancer=Konkurrancer.find(params[:id])@konkurrancer.link_attrib

  2. ruby - 如何根据特征实现 FactoryGirl 的条件行为 - 2

    我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden

  3. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

  4. ruby-on-rails - Cucumber 是否只是 rspec 的包装器以帮助将测试组织成功能? - 2

    只是想确保我理解了事情。据我目前收集到的信息,Cucumber只是一个“包装器”,或者是一种通过将事物分类为功能和步骤来组织测试的好方法,其中实际的单元测试处于步骤阶段。它允许您根据事物的工作方式组织您的测试。对吗? 最佳答案 有点。它是一种组织测试的方式,但不仅如此。它的行为就像最初的Rails集成测试一样,但更易于使用。这里最大的好处是您的session在整个Scenario中保持透明。关于Cucumber的另一件事是您(应该)从使用您的代码的浏览器或客户端的角度进行测试。如果您愿意,您可以使用步骤来构建对象和设置状态,但通常您

  5. ruby-on-rails - Ruby on Rails 可以部署在 Azure 网站上吗? - 2

    我可以在Azure网站上部署RubyonRails吗? 最佳答案 还没有。目前仅支持.NET和PHP。 关于ruby-on-rails-RubyonRails可以部署在Azure网站上吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12964010/

  6. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  7. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  8. jenkins部署1--jenkins+gitee持续集成 - 2

    前置步骤我们都操作完了,这篇开始介绍jenkins的集成。话不多说,看操作1、登录进入jenkins后会让你选择安装插件,选择第一个默认的就行。安装完成后设置账号密码,重新登录。2、配置JDK和Git都需要执行路径,所以需要先把执行路径找到,先进入服务器的docker容器,2.1JDK的路径root@69eef9ee86cf:/usr/bin#echo$JAVA_HOME/usr/local/openjdk-82.2Git的路径root@69eef9ee86cf:/#whichgit/usr/bin/git3、先配置JDK和Git。点击:ManageJenkins>>GlobalToolCon

  9. MIMO-OFDM无线通信技术及MATLAB实现(1)无线信道:传播和衰落 - 2

     MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO

  10. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

随机推荐