私有云服务器搭建教程(保姆级)——台式电脑+ubuntu+docker+nextcloud+mysql+花生壳内网穿透

这篇具有很好参考价值的文章主要介绍了私有云服务器搭建教程(保姆级)——台式电脑+ubuntu+docker+nextcloud+mysql+花生壳内网穿透。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

随着移动互联网的发展,越来越多的人使用云网盘存储他们的文档、照片、视频等文件。不知从什么时候起,我们不知不觉开始为享受云存储的服务付费买单。一次上传,随处访问,越来越成为人们的日常需求。随之而来的是各云网盘每月的定期收费,以及强制将用户分为免费用户、普通会员、中级会员、高级会员的残酷现实;
同时,随着越来越严苛的网络文明环境的建设。一部分音视频资源被和谐。比如,巨某国、某松奇谈、生活某爆炸等。这些资源放到某云网盘上可能会被删掉。而一些AI算法的过分识别也给用户造成了一定的损失。
相比云网盘,私人网盘,具有其明显的优势:免费、容量大(自己买硬盘就好)、安全性、稳定性。
本文将介绍私人云网盘的搭建流程。
因为我家里有一台台式机闲置在书房,最近决定把它连上互联网,做成个人云服务器。刚好可以拿来做私人云网盘服务。
本教程主要讲解:家用个人台式电脑 + Ubuntu 22.04.1 LTS + Docker + Nextcloud + Mysql + 花生壳内网穿透



一、Nextcloud是什么?

Nextcloud是一套用于创建网络硬盘的客户端-服务器软件。其功能与Dropbox相近,但Nextcloud是自由及开放原始码软件,每个人都可以在私人服务器上安装并执行它。
与Dropbox等专有服务相比,Nextcloud的开放架构让用户可以利用应用程序的方式在服务器上新增额外的功能,并让用户可以完全掌控自己的资料。
Nextcloud的优势:

  • 安全性:敏感重要的个人隐私数据。你不用担心隐私数据被别人泄漏、甚至贩卖兜售。比方说我家里装了监控,我是不放心把监控视频放到某云网盘上的hh。
  • 多客户端支持:IOS、Android、Windows、MacOS、Linux、Web浏览器
  • 满足一般离线下载需求
  • 支持基本的在线影音播放功能
  • 多应用支持:在线办公、note、同步联系人、日历、在线协作、语音视频通话、邮箱
  • 事实上,Nextcloud 更适合企业内部使用。

二、安装步骤

我家里电脑操作系统是 ubuntu。
Docker 可以极大地简化应用软件安装和配置,相比直接在Linux下安装软件,使用Docker容器可以减少您的安装和配置的时间成本。本文我们在Dokcer中安装Nextcloud 和 Mysql 容器。
软件安装配置好之后,我们需要通过内网穿透技术,使得互联网(外网)上的设备能够访问家里电脑上的Nextcloud服务。

1. 安装 docker

1.1 更新apt

sudo apt-get update

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

1.2 允许apt通过HTTPS使用存储库

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

1.3 添加Docker的官方GPG密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
设置稳定的存储库(此处为x86_64 / amd64)
echo
“deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu
$(lsb_release -cs) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

1.4 安装docker

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

1.5 验证docker是否安装成功

sudo docker run hello-world

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

2.docker 安装 nextcloud容器

2.1 拉取nextcloud

sudo docker pull nextcloud

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

2.2 docker 运行 nextcloud

sudo docker run --name nextcloud -p 9001:80 -v /home/workSpace/nextcloud/data:/var/www/html/data -d nextcloud

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
–name:设置容器名称为nextcloud
-p 9001:80 :端口映射,将宿主机9001端口映射到容器中的80端口
-v /home/workSpace/nextcloud/data:/var/www/html/data 将容器中项目的data目录映射到本地/home/workSpace/nextcloud/data目录下方便配置
-d nextcloud,拉取的镜像名

2.3 查看运行中的容器

sudo docker ps

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

2.4 首次进入nextcloud

浏览器中输入IP地址+9001端口(9001是我们上面配置好的端口)
第一次进入nextcloud会要求创建管理员账号
【存储与数据库选项】数据库默认选择SQLlite。如果您使用文件同步客户端,强烈不建议使用SQLite。这里我选择Mysql
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
mysql还没装,需要再安装mysql

2.5 docker 设置 nextcloud容器 开机自启动

sudo docker update --restart=always nextcloud

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

3 docker 安装 mysql 容器

3.1 docker 拉取 mysql 容器

sudo docker pull mysql:latest

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

3.2 配置mysql容器

3.2.1 mysql初始配置
sudo docker run -itd --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
  • -p 3307:3306 :映射容器服务的 3306 端口到宿主机的 3307 端口,外部主机可以直接通过 宿主机ip:3307 访问到 MySQL 的服务

  • MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

3.2.2 进入mysql容器
sudo docker exec -it mysql bash
  • -it 提供交互式环境

  • bash 进入实例后启动bash程序

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

3.2.3 登录mysql
mysql -u root -p
Enter password:123456

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

3.2.4 为 nextcloud 创建数据库
create database nextcloud charset=utf8;

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

3.3 docker 设置 mysql容器 开机自启动

sudo docker update --restart=always mysql

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

4 配置nextcloud连接mysql数据库

浏览器回到nextcloud配置页面,数据库选择mysql
主机名一定要填写ip:端口(据说如果是localhost+端口,会报错,原因未知)
配置好后点击安装

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
选择安装推荐的应用。
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

到此Nextcloud已经安装成功

5 内网访问nextcloud

5.1 局域网环境下,内网ip访问nextcloud

nextcloud安装好后,我们就可以在局域网内通过内网ip访问nextcloud
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

5.2 设置nextcloud添加信任域名(白名单)

所有用于访问 Nextcloud 服务器的 URL 都必须在您的 config.php 文件中的trusted_domains 设置下列入白名单。 仅当用户将浏览器指向trusted_domains 设置中列出的URL 时,才允许用户登录Nextcloud。

ps:下面的方法主要描述在图形用户界面情况下给nextcloud添加域名的方法。
在终端下通过vim操作可以参考文章:【Docker】搭建nextcloud私有网盘并映射外网

5.2.1 ubuntu全局搜索nextcloud配置文件config.php

因为不知道config.php存放在哪,我们通过搜索命令在电脑上搜索config.php文件

sudo find / -name "config.php"

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
初步判断,这个路径应该是对的
/var/lib/docker/volumes/58fa050d3863d3128837d86707d0b1f92050f7bf40bfdbf3fa38cbfc3350e2cc/_data/config

5.2.2 使用root权限通过图形用户界面打开文件管理器进入docker安装目录

在图形用户界面下通过文件管理器进入/var/lib/docker,发现docker文件夹右下角有个红叉,说明当前账号没有root权限无法查看。
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
我们使用root权限账号打开文件管理器

在终端通过root账号打开文件管理器

sudo nautilus

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

好了,现在可以在弹出的文件管理器进入

/var/lib/docker/volumes/58fa050d3863d3128837d86707d0b1f92050f7bf40bfdbf3fa38cbfc3350e2cc/_data/config

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
右键config.php - 用文本编辑器打开,就可以编辑
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
可以看到,trusted_domains这里添加了“localhost:9001”。说明这个config.php文件就是我们要找到的文件。我们往trusted_domains下面添加nextcloud的内网地址(我的是192.168.31.31:9001)。

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
添加成功之后,我们再次在局域网(内网)内通过浏览器访问nextcloud。
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
内网访问成功!

6.内网穿透

软件安装配置好后,我们只能再局域网(内网)内使用Nextcloud,而我们需要将家里的电脑联上互联网(外网),就需要使用到内网穿透技术。内网穿透可以通过三种方式来实现:

  • 联系你的带宽运营商让他们给你提供公网ip
  • 购买配有公网Ip的云服务器+反向代理FRP 实现 (配置方法可参考我的另一篇文章:Alibaba Cloud Linux 搭建Frp内网穿透服务(兼容Centos))
  • 购买花生壳内网穿透服务
    这里我使用花生壳进行内网穿透。其他方式,可以参考网上相关教程。

6.1 ubuntu 安装花生壳

详细使用教程可以参考:花生壳5.0 for Linux使用教程

6.1.1 安装weget

更新软件列表

sudo apt-get update

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

下载wget工具

sudo apt-get install wget

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
查看下载安装成功wget版本

wget --version

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

6.1.2 下载花生壳安装包

下载地址:花生壳客户端官方下载
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

wget "https://down.oray.com/hsk/linux/phddns_5.2.0_amd64.deb" -O phddns_5.2.0_amd64.deb

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
可以看到安装包已经下载到【主目录】下面。

6.1.3 安装

我们运行一下安装包。

sudo dpkg -i phddns_5.2.0_amd64.deb

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
安装成功。

6.2 设置花生壳开机自启

sudo phddns enable

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

6.3 设置花生壳内网穿透

ubuntu 浏览器访问花生壳网站 http://b.oray.com
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
选择【SN登录】;输入花生壳Linux 在安装时产生SN码与默认登录密码admin登录。
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
首次登录,需先激活。提供扫码激活和密码激活两种方式,可灵活选择。这类我选择扫码激活。
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
手机端使用花生壳APP 扫码,进行激活。

激活成功后,进入花生壳管理平台。若绑定SN码的帐号只有动态域名解析功能,需使用内网穿透功能时,可点击“免费开通”,或直接将帐号升级到带内网穿透功能的服务版本。

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
加内网穿透映射时,点击页面上的“增加映射”按钮。
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
根据页面提示填写映射所需的信息,这里以映射Ubuntu系统的SSH服务(22端口)为例:

①应用名称:自定义

②应用图标:自行选择

③映射类型:选择TCP

④映射模板:暂不选择模板

⑤外网域名:选择用作外网访问的域名(这里的域名需要购买)
购买链接:https://hsk.oray.com/parts-center/domain.html

⑥外网端口:选择动态端口

⑦内网主机:映射的Ubuntu系统内网IP地址

⑧内网端口:映射的服务类型对应端口22

⑨带宽:购买映射带宽后,可支持给映射分配额外带宽,这里保存默认。

确认映射内容无误后,点击“确定”。

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
点击【确定】后,内网穿透成功。
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

我们在外网电脑上。打开浏览器通过域名访问Nextcloud。可以看到:
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
进入这个页面说明我们内网穿透已经成功。域名已经成功指向家庭电脑。
但需要给Nextcloud 添加访问域名白名单,允许当前设备所对应的ip访问家庭电脑上的Nexcloud服务。

6.4 设置nextcloud添加信任外网域名(白名单)

设置nextcloud添加信任域名的方法,参考5.2 即可,这里不再赘述。
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
docker 重启nextcoud

sudo docker restart nextcloud

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
设置完成之后,浏览器输入域名,打开后页面如下。
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
说句心里话,但我走到这一步的时候,内心是崩溃的。
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
随即想到,可能是花生壳购买的域名的问题。然后查了一下,发现域名用的是https协议,而nextcoud默认并不允许https。需要再设置一下nectcoud。

6.5 设置nextcloud允许https域名

参考步骤5.2 进入
/var/lib/docker/volumes/58fa050d3863d3128837d86707d0b1f92050f7bf40bfdbf3fa38cbfc3350e2cc/_data/config
打开文件config.php
添加一句话:

'overwriteprotocol' => 'https',

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
docker 重启nextcoud

sudo docker restart nextcloud

私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
重新打开外网域名,就能正常访问了~
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

7.使用 nextcloud

各客户端app下载网址:https://nextcloud.com/install/#install-clients
具体怎么使用,可以参考nextcoud官网,这里就不再详细展开。

总结

至此我们就可以方便地使用nextcloud的云存储服务了。
当然nextcloud还有其他云服务比如:云笔记、邮箱等。也都可以通过配置进行使用。
由于我对linux不太熟悉,这篇文章我断断续续整理了3个礼拜,觉得好用的话,请各位帅哥美女给个一键三连。哈哈~
写作不易,转载请注明出处~。
私有云服务器搭建,# 服务器,# 私有云,# linux,ubuntu,服务器,docker

参考文章:

ubuntu20.04安装docker docker安装nextcloud

docker创建mysql 安装nextcloud

教你如何修改运行中的docker容器的端口映射的三种方式

【Docker】搭建nextcloud私有网盘并映射外网

花生壳5.0 for Linux使用教程

查看Docker里的镜像信息

https://github.com/nextcloud/server/issues文章来源地址https://www.toymoban.com/news/detail-780743.html

到了这里,关于私有云服务器搭建教程(保姆级)——台式电脑+ubuntu+docker+nextcloud+mysql+花生壳内网穿透的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从购买服务器到网站搭建成功保姆级教程~超详细

    相信很多前端的小伙伴都有一个这样的想法:自己写了个前端项目,本地玩腻了,想着配个服务器,然后把自己的项目发布到服务器上,搭建一个属于自己的网站。没错,我很早就有了这样一个想法,但苦于知识量匮乏,很多东西都不懂,一直到现在,才真正搭建了属于自己

    2024年02月03日
    浏览(33)
  • 幻兽帕鲁保姆级搭建服务器,开服教程(LINUX)

    一、购买与连接服务器 1.购买服务器 官方文档推荐的服务器要求CPU4核心内存8GB,所以我们要准备好一个4核8GB的服务器。(实测2核4GB的大概在5人左右就特别容易崩溃,CPU占用率在98%,内存占用很快就超过100%溢出,所以想要稳定最低最低也要2核6GB) 服务器这里采用莱卡云国内服

    2024年01月23日
    浏览(37)
  • 基于Ubuntu22.04的Samba服务器搭建教程(新手保姆级教程)

    Samba 是在 Linux 和 UNIX 系统上实现SMB 协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型

    2024年04月08日
    浏览(38)
  • 幻兽帕鲁服务器保姆级部署教程 一键配置搭建幻兽帕鲁服务器(建议收藏)

    幻兽帕鲁被很多玩家称之为缝合怪游戏,这款游戏也是成功的融合了宝可梦以及方舟生存。而一部分的玩家愿意自建服务器游玩,但是在这个过程当中却毫无头绪,那么接下来就带领大家一起来了解一下这款游戏多人服务器搭建的相关教程。幻兽帕鲁的目前服务器当中多人联

    2024年02月20日
    浏览(36)
  • 保姆级教程从零搭建云服务器(小彩蛋,请大家看烟花秀)

    笔者已从零搭建好云服务器,在文章开始笔者请大家看一场简单的烟花秀,该篇博文是写给小白的保姆级教程,不论是有基础还是没基础的,都可以根据本篇博文,轻松搭建个人云服务器。 烟花秀:浏览器直接输入ysw.world:666回车即可,由于个人域名没有备案,所以目前只能

    2024年02月03日
    浏览(30)
  • Win搭建PalWorld服务器,幻兽帕鲁开服联机教程,0基础保姆级教程

    Windows系统搭建幻兽帕鲁私服,PalWorld开服联机教程,零基础保姆级教程。 最近这游戏挺火,很多人想跟朋友联机,如果有专用服务器,就不需要房主一直开着电脑,稳定性也好得多。 视频教程:https://www.bilibili.com/video/BV1AC4y167Tm/ 幻兽帕鲁是Pocketpair开发的一款开放世界生存制

    2024年02月19日
    浏览(65)
  • Minecraft 1.20.1 Forge服务器保姆级搭建教程 (使用mcsm面板 | 两种启动方式)

    使用 Linux 云服务器部署 Minecraft 1.20.1 Forge 服务器 一台 Linux 服务器 :用来做 mc 服务器 一个用来连接服务器的终端工具(如 Xshell) :用来输入命令 Docker(可选,如果你不知道这是什么就不用管了~) 宝塔面板或 Xftp(可选,能可视化管理文件,推荐 xftp,跟 Xshell 搭配比较方

    2024年02月05日
    浏览(53)
  • 使用腾讯云服务器+Nonebot2+go-cqhttp搭建QQ聊天机器人【保姆级教程 2023最新版】

    下载go-cqhttp 这里有不同版本的cqhttp,并且对每个版本都有介绍。但是大家可以看到有 arm与adm 不同的版本,这两个啥关系呢? 严格来说, AMD和ARM没有任何关系 。AMD是桌面级处理器和桌面级GPU的生产厂商,而ARM是移动级处理器的生产厂商。AMD是目前业内唯一一个可以提供高性能

    2023年04月18日
    浏览(36)
  • Linux 中使用 verdaccio 搭建私有npm 服务器

    Linux中安装Node 安装完成 输入verdaccio,出现下面信息代表安装成功,同时输入verdaccio后verdaccio已经处于运行状态,当然这种启动时暂时的,我们需要通过pm2让verdaccio服务常驻 就可以通过http://xxx(ip地址)去访问了 若无法访问,查看下端口是否已打开 下面列一下几种使用场景

    2024年02月14日
    浏览(28)
  • Linux中使用verdaccio 搭建私有npm 服务器

    Linux中安装Node 安装完成 输入verdaccio,出现下面信息代表安装成功,同时输入verdaccio后verdaccio已经处于运行状态,当然这种启动时暂时的,我们需要通过pm2让verdaccio服务常驻 就可以通过http://xxx(ip地址)去访问了 若无法访问,查看下端口是否已打开 下面列一下几种使用场景

    2024年02月14日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包