NextCloud自建家用网盘

简介: 在阿里云ECS(2核2G,SSD40G,3M带宽)上,安装Ubuntu 22.04,然后配置FRPs,设置权限,开放端口。本地服务器拉取 `NextCloud` Docker镜像,并通过docker-compose进行容器部署,容器启动成功,通过FRPc链接到云主机,到这里就已经实现本地网盘服务可以通过公网访问。

一、准备工作

1.1. 准备一台云服务器

我选择的是阿里云ECS,配置:2核2G,SSD40G,3M固定带宽(今年销冠)。

服务器的操作系统选用ubuntu 22.04。

1.2. 准备一台家用服务器

宝子们有淘汰下来的笔记本就可以拿来当家庭服务器来用,我用的是10年前的小黑,跑起linux同样丝滑不减当年。


二、安装docker容器化工具

2.1. docker容器安装

2.2. docker-compose工具安装

2.2.1. 通过docker-compose部署的优势

  • 应用环境自定义灵活

需要依赖容器环境的应用,可以一次性配置,应用服务、数据库、web服务器等均可以通过参数自定义配置。

  • 运维便捷

运维的应用服务只要通过yml文件拉去最新镜像就可以完成更新。

通过这次项目实操配置yml文件完成应用部署,宝子们一定会爱上它。

2.2.2. github拉取资源

sudo curl -L "https://github.com/docker/compose/releases/download/v2.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose


到这一步,我相信所有的宝子们已经被github喜感的下载速度给惊呆了,并且下载中途发现报错一定会让你们无比抓狂,直接FC爆粗有没有?现在大可不必了,解决方案送给你们!

免费的福利送大家,送我免费的赞也让我知道大家都顺利避坑了。

#拉取过程出现报错curl: (92) HTTP/2 stream 1 was not closed cleanly: PROTOCOL_ERROR (err 1) # HTTP/2 调整为 HTTP/1.1sudo git config --system http.version HTTP/1.1


2.2.3. 验证docker-compose拉取是否成功

docker-compose --version


2.2.4. 修改docker-compose执行权限

docker-compose拉取下来并修改操作权限。

sudo chmod +x /usr/local/bin/docker-compose

三、部署Nextcloud

3.1. 配置yml文件

#创建yml文件vim ./docker-compose.yml #配置容器环境参数 version: "3"services:  nextcloud:    container_name: app-nextcloud    image: nextcloud:latest    restart: unless-stopped    ports:      - xxx:80    environment:      - MYSQL_HOST=mysql      - MYSQL_DATABASE=nextcloud      - MYSQL_USER=nextcloud      - MYSQL_PASSWORD=xxx    volumes:      - /home/forrest/Data/docker_data/nextcloud/data:/var/www/html   mysql:    container_name: db-nextcloud    image: mysql:latest    environment:      - MYSQL_DATABASE=nextcloud      - MYSQL_USER=nextcloud      - MYSQL_PASSWORD=xxx      - MYSQL_ROOT_PASSWORD=nextcloud    volumes:      - /home/forrest/Data/docker_data/nextcloud/db:/var/lib/mysql


敲黑板,两个重要的避坑点,请当心!!!

  • port端口配置

9100(本地主机端口号):80 (容器端口号,默认80)

本地主机端口号是后面配置frp穿透工具时还会配置使用的参数,请牢记!!!

  • volumes卷的配置

/path/to/data(本地文件夹):/var/www(lib)/html(mysql)(容器内对应文件夹),本地文件夹就看宝子们自己的喜欢命名来,容器对应文件夹是nextcloud默认的。

3.2. 启动容器

#启动nextcloud容器,mysql容器docker-compose up -d

四、配置frp内网穿透模式

4.1. 内网穿透工具frp下载

有篇专门写frp工具的使用,可以参考这一篇:《自建家用服务器》

4.2. 云主机端下载frp工具并配置frps服务器参数

#通过vim对配置文件进行修改 $ vim ./frps.toml #绑定端口号bindport=9200

4.3. 本地主机下载frp工具并配置frpc客户端参数

# 通过vim进行配置文件修改 $ vim frpc.toml # frpc.toml配置文件内容serverAddress = "云服务器公网ip"serverPort = 9200 [[proxies]]name = "nextcloud"type = "tcp"localIP = "127.0.0.1"localPort = 9100remotePort = 9020

4.4. 启动frps以及frpc

4.4.1. 安全组配置

frps和frpc的配置文件中,serverPort:9200,remotePort:9020,这两个端口号需要在云主机上放通才可以正常通讯,路径:阿里云账号进入控制台->安全组

4.4.2. 启动内网穿透模式

#云主机启动frps进程nohup ./frps -c ./frps.toml >/dev/null 2>&1 & #本地启动frpc进程nohup ./frpc -c ./frpc.toml >/dev/null 2>&1 & #通过ps查看进程ps -ef | grep frps(frpc)


宝子们看到截图是不是被整迷糊了,nextcloud_nohup.out是什么鬼,其实,这是我的运行日志,不需要的可以直接丢进黑洞(/dev/null)。

五、 登录Nextcloud

5.1. 通过公网ip登录nextcloud网盘

通过阿里云公网ip:9020,宝子们可以看到nextcloud的登录界面,第一次登录会让你创建管理员并配置密码。

到这里,后面的操作就是大家再熟悉不过的了,我也就不再啰嗦了!

5.2. 测试网盘

从我的工作电脑上传了照片到网盘,上传的速度非常满意。接下来,我准备把某度盘的资料通通迁移过来,有需要我出一期迁移资料篇给大家,有需要的宝子们可以留言。



相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
存储 Ubuntu 网络协议
轻松搭建Nextcloud私有云盘并实现远程访问【内网穿透】
轻松搭建Nextcloud私有云盘并实现远程访问【内网穿透】
|
SQL 数据库连接 网络安全
金蝶云星空企业版v8.0如何通过内网穿透实现异地公网远程访问
金蝶云星空企业版v8.0如何通过内网穿透实现异地公网远程访问
|
存储 Ubuntu 网络协议
NAS个人云存储 - 手把手教你搭建Nextcloud个人云盘并实现公网远程访问(上)
NAS个人云存储 - 手把手教你搭建Nextcloud个人云盘并实现公网远程访问
|
安全 关系型数据库 Linux
一文教你搭建个人网盘filerun,拥有私人文件服务器
一文教你搭建个人网盘filerun,拥有私人文件服务器
一文教你搭建个人网盘filerun,拥有私人文件服务器
|
存储 文件存储
NAS个人云存储 - 手把手教你搭建Nextcloud个人云盘并实现公网远程访问(下)
NAS个人云存储 - 手把手教你搭建Nextcloud个人云盘并实现公网远程访问
|
6月前
|
存储 数据安全/隐私保护 Docker
开源网盘程序,自建网盘指南
ShowTa是一款开源的个人和企业网盘程序,提供简洁界面和多种功能,如预览文件、在线播放视频、设置文件夹密码等。它支持Docker部署、WebDAV协议,可将网盘映射到本地磁盘,并能挂载阿里云盘。通过WebDAV,用户可在电视上观看阿里云盘内容。了解更多信息,请访问[GitHub](https://github.com/bosnzt/showta)和[演示地址](https://www.showta.cc)。
|
6月前
|
存储 数据安全/隐私保护 UED
阿里云盘、腾讯云盘与百度网盘:云存储市场的三巨头
阿里云盘、腾讯云盘与百度网盘:云存储市场的三巨头
|
存储 Ubuntu 网络协议
搭建Nextcloud私有云 - 零基础搭建私有云盘并内网穿透远程访问
搭建Nextcloud私有云 - 零基础搭建私有云盘并内网穿透远程访问
492 0
|
存储 Ubuntu 网络协议
NAS私有云存储 - 搭建Nextcloud私有云盘并公网远程访问
NAS私有云存储 - 搭建Nextcloud私有云盘并公网远程访问
|
数据安全/隐私保护
Ubantu系统搭建个人网盘
Ubantu系统搭建个人网盘
274 1
Ubantu系统搭建个人网盘