【亚马逊云】基于Amazon EC2实例部署 NextCloud 云网盘并使用 Docker-compose 搭建 ONLYOFFICE 企业在线办公应用软件

文章目录

    • 1. 部署EC2实例
    • 2. 安装 Docker 服务
    • 3. 安装docker-compose
    • 4. 创建Docker-compose文件
    • 5. 创建nginx.conf文件
    • 6. 运行docker-compose命令开始部署
    • 7. 访问ONLYOFFICE插件
    • 8. 访问NextCloud云盘
    • 9. 下载并启用ONLYOFFICE插件
    • 10. 上传文件测试
    • 11. 所遇问题
    • 12. 参考链接

1. 部署EC2实例

[root@ecs-stwts nextcloud]# hostnamectl Static hostname: ecs-stwtsPretty hostname: ecs-sTWtSIcon name: computer-vmChassis: vmMachine ID: bc974da2acac413f8e7ac7ddf7891424Boot ID: fb58f5174f674d5da11502f4380988a9Virtualization: kvmOperating System: CentOS Linux 7 (Core)CPE OS Name: cpe:/o:centos:centos:7Kernel: Linux 3.10.0-957.12.2.el7.x86_64Architecture: x86-64
[root@ecs-stwts nextcloud]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  3.8G     0  3.8G   0% /dev
tmpfs                   tmpfs     3.8G     0  3.8G   0% /dev/shm
tmpfs                   tmpfs     3.8G   17M  3.8G   1% /run
tmpfs                   tmpfs     3.8G     0  3.8G   0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        47G   13G   35G  27% /
/dev/vda1               xfs      1014M  219M  796M  22% /boot
overlay                 overlay    47G   13G   35G  27% /var/lib/docker/overlay2/a3ea784feaae33cd04f6bdea0af15ab2270d05767b5fededde1afc0a460b27ab/merged
overlay                 overlay    47G   13G   35G  27% /var/lib/docker/overlay2/65cd58479d46993b807e92bcb45969f932b05ac8d26eb90e1e39ea4e445f38d7/merged
overlay                 overlay    47G   13G   35G  27% /var/lib/docker/overlay2/de1095dd24a9f3d90007e26cde66a169f6265deb452e2a35cf9dd7de4afb0ede/merged
overlay                 overlay    47G   13G   35G  27% /var/lib/docker/overlay2/5669acb1a761a678860edb12498a49d2b793d2cb293e42b2c774792ec22db59b/merged
tmpfs                   tmpfs     764M     0  764M   0% /run/user/0
[root@ecs-stwts nextcloud]# free -gtotal        used        free      shared  buff/cache   available
Mem:              7           1           0           0           5           5
Swap:             0           0           0

2. 安装 Docker 服务

bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)

image-20241031110733193

image-20241031110751799

image-20241031110829626

[root@ecs-stwts nextcloud]# docker version
Client: Docker Engine - CommunityVersion:           26.1.4API version:       1.45Go version:        go1.21.11Git commit:        5650f9bBuilt:             Wed Jun  5 11:32:04 2024OS/Arch:           linux/amd64Context:           defaultServer: Docker Engine - CommunityEngine:Version:          26.1.4API version:      1.45 (minimum version 1.24)Go version:       go1.21.11Git commit:       de5c9cfBuilt:            Wed Jun  5 11:31:02 2024OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.33GitCommit:        d2d58213f83a351ca8f528a95fbd145f5654e957runc:Version:          1.1.12GitCommit:        v1.1.12-0-g51d5e94docker-init:Version:          0.19.0GitCommit:        de40ad0

image-20241031110926979

image-20241031110958107

3. 安装docker-compose

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
[root@ecs-stwts nextcloud]# docker-compose version
Docker Compose version v2.29.1

4. 创建Docker-compose文件

[root@ecs-stwts nextcloud]# cat docker-compose.yml
services:app:container_name: app-serverimage: nextcloud:fpmstdin_open: truetty: truerestart: alwaysexpose:- '80'- '9000'networks:- onlyofficevolumes:- app_data:/var/www/htmlonlyoffice-document-server:container_name: onlyoffice-document-serverimage: onlyoffice/documentserver:lateststdin_open: truetty: truerestart: alwaysnetworks:- onlyofficeexpose:- '80'- '443'volumes:- document_data:/var/www/onlyoffice/Data- document_log:/var/log/onlyofficeports:- 2280:80     #此处是onlyoffice的端口:左侧的端口可以自定义- 4423:443environment:- JWT_ENABLED=true          #此处:是否打开秘钥认证- JWT_SECRET=xxxxxx     #此处:是onlyoffice的秘钥nginx:container_name: nginx-serverimage: nginxstdin_open: truetty: truerestart: alwaysports:- 2380:80          #此处:nextcloud的端口 左侧的端口可以自定义- 4433:443networks:- onlyofficevolumes:- ./nginx.conf:/etc/nginx/nginx.conf- app_data:/var/www/htmldb:container_name: mariadbimage: mariadbrestart: alwaysvolumes:- mysql_data:/var/lib/mysqlenvironment:- MYSQL_ROOT_PASSWORD=xxxxxx     #此处:初始化数据库信息- MYSQL_PASSWORD=xxxxxx          #此处:初始化数据库信息- MYSQL_DATABASE=nextcloud         #此处:初始化数据库信息- MYSQL_USER=nextcloud             #此处:初始化数据库信息networks:- onlyoffice
networks:onlyoffice:driver: 'bridge'
volumes:document_data:document_log:app_data:mysql_data:

5. 创建nginx.conf文件

[root@ecs-stwts nextcloud]# cat nginx.conf 
user  www-data;
worker_processes  1;error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {upstream backend {server app-server:9000;}include       /etc/nginx/mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile        on;#tcp_nopush     on;keepalive_timeout  65;map $http_host $this_host {"" $host;default $http_host;}map $http_x_forwarded_proto $the_scheme {default $http_x_forwarded_proto;"" $scheme;}map $http_x_forwarded_host $the_host {default $http_x_forwarded_host;"" $this_host;}server {listen 80;# Add headers to serve security related headersadd_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";add_header X-Content-Type-Options nosniff;add_header X-XSS-Protection "1; mode=block";add_header X-Robots-Tag none;add_header X-Download-Options noopen;add_header X-Permitted-Cross-Domain-Policies none;root /var/www/html;client_max_body_size 10G; # 0=unlimited - set max upload sizefastcgi_buffers 64 4K;gzip off;index index.php;error_page 403 /core/templates/403.php;error_page 404 /core/templates/404.php;rewrite ^/.well-known/carddav /remote.php/dav/ permanent;rewrite ^/.well-known/caldav /remote.php/dav/ permanent;location = /robots.txt {allow all;log_not_found off;access_log off;}location ~ ^/(build|tests|config|lib|3rdparty|templates|data)/ {deny all;}location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {deny all;}location / {rewrite ^/remote/(.*) /remote.php last;rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;try_files $uri $uri/ =404;}location ~* ^/ds-vpath/ {rewrite /ds-vpath/(.*) /$1  break;proxy_pass http://onlyoffice-document-server;proxy_redirect     off;client_max_body_size 100m;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Host $the_host/ds-vpath;proxy_set_header X-Forwarded-Proto $the_scheme;}location ~ \.php(?:$|/) {fastcgi_split_path_info ^(.+\.php)(/.+)$;include fastcgi_params;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $fastcgi_path_info;fastcgi_param HTTPS off;fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twicefastcgi_pass backend;fastcgi_intercept_errors on;}# Adding the cache control header for js and css files# Make sure it is BELOW the location ~ \.php(?:$|/) { blocklocation ~* \.(?:css|js)$ {add_header Cache-Control "public, max-age=7200";# Add headers to serve security related headersadd_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";add_header X-Content-Type-Options nosniff;add_header X-Frame-Options "SAMEORIGIN";add_header X-XSS-Protection "1; mode=block";add_header X-Robots-Tag none;add_header X-Download-Options noopen;add_header X-Permitted-Cross-Domain-Policies none;# Optional: Don't log access to assetsaccess_log off;}# Optional: Don't log access to other assetslocation ~* \.(?:jpg|jpeg|gif|bmp|ico|png|swf)$ {access_log off;}}
}

6. 运行docker-compose命令开始部署

docker-compose up -d

image-20241031111329648

7. 访问ONLYOFFICE插件

成功以后需要打开自己相应的端口防火墙就可以web端访问了

http://ip:2280  #打开自己VPS的端口加ip进入web页面

image-20241031111624467

8. 访问NextCloud云盘

http://ip:2380  #打开自己VPS的端口加ip进入web页面

image-20240807204821496

image-20241031111856220

image-20240807204908942

image-20241031111950542

9. 下载并启用ONLYOFFICE插件

image-20241031112059029

image-20241031112201498

然后选择管理应用-ONLYOFFICE -填写如图信息即可。

image-20241031112347796

image-20241031112447696

10. 上传文件测试

image-20241031112624143

11. 所遇问题

通过不被信任的域名访问

请联系您的管理员。如果您就是管理员,请参照 config.sample.php 中的示例编辑 config/config.php 中的“trusted_domains”设置。

配置此项的详细内容请查阅 文档。

image-20241223172434247

[root@awsvstecs ~]# find / -name config.php
/var/lib/docker/volumes/nextcloud_app_data/_data/config/config.php

image-20241223165217984

12. 参考链接

1️⃣(つェ⊂)咦,又回来了! (ywsj365.com)

2️⃣cker搭建nextcloud网盘-配合onlyoffice使用-实现在线编辑office-协同办公

3️⃣国内服务器如何解决docker无法拉取镜像的问题 (ywsj365.com)

4️⃣nextcloud/nextcloud-onlyoffice-mysql-domain-ssl.md at master · chendong12/nextcloud (github.com)

5️⃣docker-onlyoffice-nextcloud-mysql/nginx.conf at master · tvollscw/docker-onlyoffice-nextcloud-mysql (github.com)

6️⃣Docker实战:Docker安装nginx并配置SSL_docker nginx 配置ssl-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/65719.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

揭秘文件上传漏洞之操作原理(Thoughts on File Upload Vulnerabilities)

从上传到入侵&#xff1a;揭秘文件上传漏洞之操作原理 大家好&#xff0c;今天我们来聊一个"老而弥坚"的漏洞类型 —— 文件上传漏洞。虽然这个漏洞存在很多年了&#xff0c;但直到现在依然频频出现在各种漏洞报告中。今天我们就来深入了解一下它的原理和各种校验方…

哈夫曼编码(Huffman Coding)与哈夫曼树(Huffman Tree)

已知字符集{a,b,c,d,e,f}&#xff0c;若各字符出现的次数分别为6&#xff0c;3&#xff0c;8&#xff0c;2&#xff0c;10&#xff0c;4&#xff0c;则对应字符集中各字符的哈夫曼编码可能是&#xff08; &#xff09;。 A.00&#xff0c;1011&#xff0c;01&#xff0…

R语言入门笔记:第一节,快速了解R语言——文件与基础操作

关于 R 语言的简单介绍 上一期 R 语言入门笔记里面我简单介绍了 R 语言的安装和使用方法&#xff0c;以及各项避免踩坑的注意事项。我想把这个系列的笔记持续写下去。 这份笔记只是我的 R 语言入门学习笔记&#xff0c;而不是一套 R 语言教程。换句话说&#xff1a;这份笔记不…

微信小程序调用 WebAssembly 烹饪指南

我们都是在夜里崩溃过的俗人&#xff0c;所幸终会天亮。明天就是新的开始&#xff0c;我们会变得与昨天不同。 一、Rust 导出 wasm 参考 wasm-bindgen 官方指南 https://wasm.rust-lang.net.cn/wasm-bindgen/introduction.html wasm-bindgen&#xff0c;这是一个 Rust 库和 CLI…

自动驾驶3D目标检测综述(六)

停更了好久终于回来了&#xff08;其实是因为博主去备考期末了hh&#xff09; 这一篇接着&#xff08;五&#xff09;的第七章开始讲述第八章的内容。第八章主要介绍的是三维目标检测的高效标签。 目录 第八章 三维目标检测高效标签 一、域适应 &#xff08;一&#xff09;…

计算机毕业设计hadoop+spark+hive图书推荐系统 豆瓣图书数据分析可视化大屏 豆瓣图书爬虫 知识图谱 图书大数据 大数据毕业设计 机器学习

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

极品飞车6的游戏手柄设置

极品飞车&#xff0c;既可以用键盘来控制车辆的前进、后退、左转、右转、加速与减速&#xff0c;也可以使用游戏手柄来操作车辆的运行。需要注意的是&#xff0c;极品飞车虽然支持手柄&#xff0c;但是仅支持常见的北通、罗技还有部分Xbox系列的手柄&#xff0c;至于其他的PS4手…

虚拟机Centos下安装Mysql完整过程(图文详解)

目录 一. 准备工作 1. 设置虚拟机静态IP 2. 卸载Mysql 3. 给CentOS添加rpm源 二. 安装MySQL 1. 安装mysql服务 2. 启动mysql服务 3. 开启MySQL开机自启动 4. 查看mysql服务状态 5. 查看mysql初始密码 6. 登录mysql &#xff0c;修改密码 7. 允许外部访问MySQL数据库…

VITUREMEIG | AR眼镜 算力增程

根据IDC发布的《2024年第三季度美国AR/VR市场报告》显示&#xff0c;美国市场AR/VR总出货量增长10.3%。其中&#xff0c;成立于2021年的VITURE增长速度令人惊艳&#xff0c;同比暴涨452.6%&#xff0c;成为历史上增长最快的AR/VR品牌。并在美国AR领域占据了超过50%的市场份额&a…

网线直连模式下,ubuntu虚拟机与zynq开发板互ping

目的&#xff1a;想要使用网线将windows网口与zynq开发板网口直连&#xff0c;可以实现通过nfs&#xff08;network file system)挂载在ubuntu中的根文件系统&#xff0c;从而运行linux&#xff0c;方便linux的驱动开发。 参考文章&#xff1a; 领航者 ZYNQ 之嵌入式 Linux 开…

金仓数据库对象访问权限的管理

基础知识 对象的分类 数据库的表、索引、视图、缺省值、规则、触发器等等&#xff0c;都称为数据库对象&#xff0c;对象分为如下两类: 模式(SCHEMA)对象:可以理解为一个存储目录&#xff0c;包含视图、索引、数据类型、函数和操作符等。非模式对象:其他的数据库对象&#x…

网络爬虫性能提升:requests.Session的会话持久化策略

网络爬虫面临的挑战 网络爬虫在运行过程中可能会遇到多种问题&#xff0c;包括但不限于&#xff1a; IP被封禁&#xff1a;频繁的请求可能会被网站的反爬虫机制识别&#xff0c;导致IP被封。请求效率低&#xff1a;每次请求都需要重新建立TCP连接&#xff0c;导致请求效率低下…

基于华为atlas的车辆车型车牌检测识别

整体分为2个部分&#xff0c;也就是2个模型&#xff0c;车辆检测、车型检测、车牌检测这3个功能是一个基于yolov5的模型实现&#xff0c;车牌识别是基于PaddleOCR中的PP-OCRv3的模型实现。 车辆检测数据集制作&#xff1a; 车辆检测、车型检测、车牌检测的数据集主要从coco数…

打破视障壁垒,百度文心快码无障碍版本助力视障IT从业者就业无“碍”

有AI无碍 钟科&#xff1a;被黑暗卡住的开发梦 提起视障群体的就业&#xff0c;绝大部分人可能只能想到盲人按摩。但你知道吗&#xff1f;视障人士也能写代码。 钟科&#xff0c;一个曾经“被黑暗困住”的人&#xff0c;他的世界&#xff0c;因为一场突如其来的疾病&#xff0c…

Spring-AI讲解

Spring-AI langchain(python) langchain4j 官网&#xff1a; https://spring.io/projects/spring-ai#learn 整合chatgpt 前置准备 open-ai-key: https://api.xty.app/register?affPuZD https://xiaoai.plus/ https://eylink.cn/ 或者淘宝搜&#xff1a; open ai key魔法…

Python-网络爬虫

随着网络的迅速发展&#xff0c;如何有效地提取并利用信息已经成为一个巨大的挑战。为了更高效地获取指定信息&#xff0c;需定向抓取并分析网页资源&#xff0c;从而促进了网络爬虫的发展。本章将介绍使用Python编写网络爬虫的方法。 学习目标&#xff1a; 理解网络爬虫的基本…

Kafka 性能提升秘籍:涵盖配置、迁移与深度巡检的综合方案

文章目录 1.1.网络和io操作线程配置优化1.2.log数据文件刷盘策略1.3.日志保留策略配置1.4.replica复制配置1.5.配置jmx服务1.6.系统I/O参数优化1.6.1.网络性能优化1.6.2.常见痛点以及优化方案1.6.4.优化参数 1.7.版本升级1.8.数据迁移1.8.1.同集群broker之间迁移1.8.2.跨集群迁…

【Qt】多元素控件:QListWidget、QTableWidget、QTreeWidget

目录 QListWidget 核心属性&#xff1a; 核心方法&#xff1a; 核心信号&#xff1a; 例子&#xff1a; QListWidgetItem QTableWidget 核心方法&#xff1a; 核心信号 QTableWidgetItem 例子&#xff1a; QTreeWidget 核心方法&#xff1a; 核心信号&#xff1a…

119.【C语言】数据结构之快速排序(调用库函数)

目录 1.C语言快速排序的库函数 1.使用qsort函数前先包含头文件 2.qsort的四个参数 3.qsort函数使用 对int类型的数据排序 运行结果 对char类型的数据排序 运行结果 对浮点型数据排序 运行结果 2.题外话:函数名的本质 1.C语言快速排序的库函数 cplusplus网的介绍 ht…

vulnhub靶机billu_b0x精讲

靶机下载 https://www.vulnhub.com/entry/billu-b0x,188/ 信息收集 扫描存活主机 nmap -sP 192.168.73.0/24 192.168.73.141为目标主机&#xff0c;对其进行进一步信息收集 端口扫描 nmap --min-rate10000 -p- 192.168.73.141 目标只开放了22和80端口 针对端口进行TCP探…