我的编程空间,编程开发者的网络收藏夹
学习永远不晚

docker部署nextcloud+onlyoffice详细教程【外置MySQL】

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

docker部署nextcloud+onlyoffice详细教程【外置MySQL】

一、部署环境

系统版本:CentOS Linux release 7.9.2009 (Core)

配置:16C 16G

MySQL:5.7.20

二、部署过程

1、安装docker和docker-compose

请百度

2、创建数据库和用户,并授权

因为我使用外置MySQL,所以需要先创建数据库和授权

create database nextcloud;

grant all on nextcloud.* to nextcloud@'%' identified by '123456';

注意:因为用的是docker安装,所以授权最好授权%。

3、安装nextcloud

[root@云盘 nextcloud]# mkdir /data/nextcloud/nextcloud[root@云盘 nextcloud]# cd /data/nextcloud[root@云盘 nextcloud]# cat docker-compose.ymlversion: '2'services:  app:    container_name: "nextcloud"    image: nextcloud:27.0.1   # 安装的版本号,这个是我装的时候最新版的版号    restart: always    ports:      - 8080:80  # 映射到服务器端口    volumes:      - /data/nextcloud/nextcloud:/var/www/html  # 将代码挂载出来,方便以后修改    environment:  # 我使用的是外置数据库,所以要配置下面账密,nextcloud提示要MySQL8.0 以上版本的,我用的是MySQL5.7.20 不过使用好像没啥问题      - MYSQL_PASSWORD=123456      - MYSQL_DATABASE=nextcloud      - MYSQL_USER=nextcloud      - MYSQL_HOST=192.168.2.204[root@云盘 nextcloud]# docker-compose up -d # 执行之后会拉取镜像,并运行容器。[root@云盘 nextcloud]# docker ps CONTAINER ID   IMAGE                       COMMAND                  CREATED        STATUS          PORTS                NAMESc3930bc2768d   nextcloud:27.0.1            "/entrypoint.sh apac…"   14 hours ago   Up 55 minutes   0.0.0.0:8080->80/tcp, :::8080->80/tcp            nextcloud

使用浏览器打开nextcloud,http://192.168.204:8080

设置管理员账号,程序会自动创建库表。但是如果报错的话会提示你选择哪些数据库。

可能报错的原因:

docker容器连不上MySQL数据库,上面配置的MySQL数据库没有授权。

如果都没问题,等几分钟就可以配置好了。

4、安装onlyoffice

把docker-compose.yml改成下面内容

[root@云盘 nextcloud]# cat docker-compose.ymlversion: '3'services:  only-office:    image: onlyoffice/documentserver    container_name: onlyoffice    ports:      - 8081:80    volumes:      - /data/nextcloud/onlyoffice:/var/www/onlyoffice/Data      - /data/nextcloud/onlyoffice/logs:/var/log/onlyoffice    restart: always    privileged: true[root@云盘 nextcloud]# docker-compose up -d[root@云盘 nextcloud]# docker ps CONTAINER ID   IMAGE                       COMMAND                  CREATED        STATUS          PORTS                NAMES44be2cd04717   onlyoffice/documentserver   "/app/ds/run-documen…"   14 hours ago   Up 14 hours     443/tcp, 0.0.0.0:8081->80/tcp, :::8081->80/tcp   onlyofficec3930bc2768d   nextcloud:27.0.1            "/entrypoint.sh apac…"   14 hours ago   Up 55 minutes   0.0.0.0:8080->80/tcp, :::8080->80/tcp            nextcloud

使用浏览器打开:http://192.168.2.204:8081/ 没问题即可。

5、nextcloud接入onlyoffice

【应用】

Ctrl+F搜索onlyoffice,下载并启用

新版本需要输入管理员密码:

管理应用:

服务器执行生成密钥的命令:否则会报系统内部错误

[root@云盘 nextcloud]# docker exec 你onlyoffice容器ID /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'

rCxhmpEAL05VqWyfbqyUh5p9j53RT4EM # 会输出一个密钥

添加成功之后我新增了下面哪些文件后缀,再往下拉点击保存即可。

接入成功之后多了下面选项:

接入onlyoffice可能会遇到的报错:

1)报错1:打开应用转了很久之后,打开之后发现找不到 onlyoffice应用,无法下载和启动。

点击【个人设置】--【日志】看到日志报错:

Could not connect to appstore: cURL error 28: Operation timed out after 60000 milliseconds with 3035136 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://apps.nextcloud.com/api/v1/apps.json

解决方法:

应用要请求海外的的接口。要降超时时间调长一点。

修改文件:/data/nextcloud/nextcloud/lib/private/Installer.php timeout那行代码

上面是将容器代码挂在出来服务器的路径,每个人的都不一样!但是lib/private/Installer.php 是一样的。

修改之后重启容器。

如果改了超时时间之后还是一样刷不出来,日志还是报超时的错。可以清理浏览器缓存,先用浏览器打开这个应用接口URL(https://apps.nextcloud.com/api/v1/apps.json)。

再重新登录打开应用。

$tempFile = $this->tempManager->getTemporaryFile('.tar.gz');

$timeout = $this->isCLI ? 0 : 360; # 默认是120,改成360,如果不行再继续调大,甚至要连VPN才可以获取到onlyoffice应用。

$client = $this->clientService->newClient();

接口请求异常,页面是这样的:无法加载出来其他的应用

正常应该是这样的:

2)报错2:nextcloud添加onlyoffice 报错连接是发生异常 (文档服务内部发生异常: Invalid token)

解决:

打开onlyoffice server首页,复制执行这个命令,容器ID改成你的onlyoffice容器ID。

来源地址:https://blog.csdn.net/MYF_12/article/details/131954986

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

docker部署nextcloud+onlyoffice详细教程【外置MySQL】

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

windows下Docker部署Flask的详细教程

这篇文章主要介绍了windows下Docker部署Flask的教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-01-18

centos8使用Docker部署Django项目的详细教程

引言 在本文中将介绍在docker中通过django + uwsgi + nginx部署方式部署Django项目, 由于记录的是学习过程,使用的都是目前较高的版本。python 版本为3.8.3 django 版本为3.0.6 ngin
2022-06-04

docker容器安装及部署的超详细入门教程

Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,下面这篇文章主要给大家介绍了关于docker安装及部署的相关资料,需要的朋友可以参考下
2022-11-13

云原生使用Docker部署mysql数据库的详细过程

目录一、检查系统版本二、检查docker状态1.检查docker版本2.检查docker状态三、在docker hub搜索mysql四、下载mysql镜像五、创建mysql容器1.创建数据目录2.运行mysql容器3.查看mysql容器状态
2023-03-23

.NET 6 从0到1使用Docker部署至Linux环境超详细教程

目录前言环境准备.NET Core项目准备1.首先我们先创建一个空的ASP.NET Core Web应用2.我们可以先在本地将项目构建成镜像看看效果3.接下来我们将镜像run起来,构造出一个容器:linux环境配置:1.配置yum更新yum
2022-06-05

开源免费,快速部署。远程桌面软件Rustdesk自建服务器设置详细教程

Rustdesk简要介绍 RustDesk是一款免费的远程桌面软件,它支持跨平台操作系统,包括Windows、macOS和Linux。它的主要优点包括以下几个方面: 跨平台支持:RustDesk不仅支持多种操作系统,还提供了对多种架构的
2023-08-18

编程热搜

目录