目录

充电学习中...

X

树莓派4B搭建NextCloud网盘实践

树莓派4B搭建NextCloud网盘实践

前言

这两天入手了一块树莓派4B的板子,准备外接一块硬盘,然后通过NextCloud进行管理,最终打算实现这样的效果:在家时,手机、电脑、投影仪等设备可以直接通过局域网地址访问这些资源。在外面时通过内网穿透,挂一个域名去访问这些资源。

准备工作

需要软硬件:

  • 树莓派4B
  • 硬盘(我用的是西数 2T 的移动硬盘)
  • TF 卡 烧录系统用
  • PC一台
  • 公网IP服务器一台 用于内网穿透
  • 域名 可选
  • 树莓派 Ubuntu镜像

安装树莓派

  1. 下载镜像,我用的是Ubuntu 20.04
  2. 烧录镜像,用官方的工具Raspberry Pi Imager
  3. 将TF插入卡槽,注意金手指那一面对着主板,连接网线,上电
  4. 在路由器管理后台上找到树莓派设备,查看IP
  5. 使用ssh工具连接树莓派,默认的用户名密码都是ubuntu

部署NextCloud

  1. 安装Docker教程
  2. Docker安装Redis(如果不配缓存可以不需要)
  3. Docker 安装Mysql 由于Mysql官方不支持ARM架构,采用以下镜像: biarms/mysql
  4. Docker 安装NextCloud,下面详细介绍。

建议搭个网桥,将这三者都放在同一网络下,这样后续就可以使用容器名称进行访问.

NextCloud启动命令:

docker run -d --name nextcloud -p 8004:80 -v /data/nextcloud/config:/var/www/html/config -v /data/nextcloud/data:/var/www/html/data  nextcloud

挂载了两个目录 分别是配置文件目录及数据存储目录

启动之后,配置管理员账户和数据库,如果Mysql在同一个网桥下,可以数据库地址可以直接填容器名:端口号

配置Redis缓存:

进入配置文件目录下,编辑config.php文件,加上Redis相关的配置,如下图:

image.png

注意 如果不在同一网桥下,host字段需要设置具体的地址。

重启NextCloud容器 使配置生效

配置域名解析

服务器端

需要公网IP,将域名指向公网IP服务器,并且在服务器上部署nps

docker run -d --name nps --net=host -v <本机conf目录>:/conf ffdfgdfg/nps

官方示例用的是host模式,如果不想用hos模式的,可以指定端口,nps需要用到8024和8080端口,启动8024端口用于和客户端通信,8080端口为后台管理界面。

进入后台管理界面,新建客户端。

image.png

点击新建的客户端左边的+号,会展开客户端的启动命令,如下图:

image.png

接下来配置域名解析

image.png

新增域名解析,客户端id填上面新建的客户端id,域名可以根据自己喜欢设置一个二级域名,目标填Nexcloud的地址,例如127.0.0.1:8001 如果后续的npc客户端使用host模式,直接用127.0.0.1即可,否则要找到具体的docker容器ip。

客户端

在树莓派上docker部署npc客户端

启动命令如下

docker run -d --name npc --net=host --restart=always ffdfgdfg/npc:latest -server=nps地址:8024 -vkey=客户端密钥 -type=tcp

启动成功后,在服务端管理后台可以看到客户端状态,如下图

image.png

完成

用配置的子域名访问NextCloud

image.png

可以愉快的玩耍啦~~~~


标题:树莓派4B搭建NextCloud网盘实践
作者:Cubeeeee
地址:http://blog.nps.fuguicun.com/articles/2020/10/15/1602734722246.html