RainySummer's Blog

Hexo site of RainySummer

0%

树莓派4B部署NextCloud

简介

NextCloud是一款自由及开放源代码(FOSS)的网盘应用,其功能类似于目前各大公司提供的网盘,但我们可以将其部署于本地的电脑上作为我们自己的私人网盘。
本文将简单介绍在树莓派(树莓派4B)上部署NextCloud的方法。为了简洁操作并且尽可能地避免部署过程中的问题,我们选择NextCloudPi作为我们的部署方式。

NextCloudPi is a Nextcloud instance that is preinstalled and preconfigured, and includes a management interface with all the tools you need to self host your private data in a single package.

NextCloudPi是NextCloud的预部署镜像,我们可以直接将这个镜像安装到树莓派上,就能享用到现成的NextCloud服务。

下载及安装

官方的下载地址是:https://ownyourbits.com/downloads/
我们将要下载的镜像在以NextCloudPi_RPi开头的目录(文件夹)中,可以选择直接下载压缩包或者以torrent的方式下载。
下载完成后,我们解压压缩包以得到.img的镜像文件,之后便可以用balenaEtcher将系统镜像写入到准备好的SD卡中,这款工具是树莓派官网所推荐使用的。

balenaEtcher

①选择镜像文件,②选择SD卡,就可以③开始写入镜像了。
等待写入完成后,如果没有显示屏或者需要在初次启动时使用SSH:请在boot分区下新建一个名为ssh的空白文件。
在此之后便可以将SD卡插入树莓派并通电启动了,切记记得给树莓派插上网线。

初次启动的配置

我们建议第一次配置时使用网页端,会更便捷。等树莓派正常启动后,使用处于同一局域网下的电脑访问网址https://nextcloudpi或者https://nextcloudpi.local。(根据官网的信息,如果是使用Windows,我们可能需要安装Bonjour Services才能正常访问这个网址。
如果上述的网址不能正常访问,则使用https://【树莓派IP】:4443的网址,其中树莓派IP是树莓派所在的IP地址。我们可以在路由器的管理界面或者使用fingAngry IP Scanner等局域网管理工具查看树莓派的IP地址。

Web Warning

访问时浏览器可能会显示类似于如图所示的安全警示,这是因为我们部署的NextCloud服务目前使用的是自签名的证书,不被浏览器所认可。我们需要选择高级/Advanced,并选择继续前往。 接下来我们应该能看到如下的界面。

Config

复制并保存其中的密码以留作以后使用,在我们登录之后可以在nc-adminnc-passwd中重置密码。

换源

🔗 请参考USTC的Raspbian源使用帮助

文件共享

Samba挂载外接硬盘

Samba is an important component to seamlessly integrate Linux/Unix Servers and Desktops into Active Directory environments. It can function both as a domain controller or as a regular domain member.

Samba是一款十分著名并且常用的文件共享工具,尤其适用于Linux设备以及Linux与Windows设备之间的文件共享。
我们使用的NextCloudPi安装后自带了Samba服务,我们在网页设置中将Samba服务开启后即可使用。

NextCloudPi默认的Samba服务只挂载了NextCloud的数据文件夹,即/var/www/nextcloud/data/ncp/files,在Samba中显示的文件夹名称为ncp-ncp(在笔者处如此)。如果我们需要便捷地访问我们的外接硬盘,则需要修改Samba服务的配置文件。

我们可以先用fdisk -l命令查看SD卡和其他储存设备的路径。

fdisk

如上图所示,容量接近SD卡的/dev/mmcblk0p2是SD卡的路径,最后的Device下所列的则是外接储存设备的路径。
我们需要创建一个目录,例如/media/RainySummer/,并将外接硬盘挂载到这个目录:mount /dev/sda1 /media/RainySummer。 如果需要开机自动挂载硬盘,则可以编辑/etc/fstab文件,在文件末尾添加:/dev/sda1 /media/RainySummer fuseblk ro,defaults 0 0

这里的fuseblk根据树莓派实验室据查为只读的模式。但实测在树莓派4B(Raspbian 10 buster)上可以r/w,即读和写。

之后我们需要编辑sudo nano /etc/samba/smb.conf文件,并在最后添加类似如下的内容:

[external]
  comment = share all
  path = /media/RainySummer/
  browseable = yes
  public = yes
  writeable = yes

保存后我们用sudo systemctl restart smbd.service重启Samba服务。

测速

hdparm

hdparm是一款测试硬盘读性能的工具。
使用hdparm -Tt 【路径】命令来测试相应储存设备的性能。

SD

SSD

我想我们可以只关注速度的数值,其中的报错信息可能只是因为hdparm无法读取到储存设备的信息。

CrystalDiskMark

CrystalDiskMark是一款小巧实用的储存设备测速工具。
我们可以通过NextCloudPi的samba功能分享相应的目录,并在Windows中映射为盘符。

映射盘符

之后我们就可以在CrystalDiskMark中选择相应的盘符并测试。

CrystalDiskMark

iperf3

iperf3是一款网络性能测试工具,它可以测试最大TCP和UDP带宽性能。我们用它来测试我们内网中树莓派其他设备之间的网络情况。
首先我们使用sudo apt install iperf3在树莓派端进行安装,并在官网下载Windows的程序。
首先我们在树莓派运行iperf3 -s来运行服务端,之后我们在Windows解压后的程序所在路径运行cmd,并执行iperf3 -c [ip],其中[ip]是树莓派的IP地址。
在这之后,我们稍加等待便能在树莓派端和Windows上看见测试的结果。

iperf3 树莓派

iperf3 CMD

PS: 通过上述的测试,我们可以发现树莓派4的千兆网络和USB3货真价实,而且确实对性能的提升很大。

官方文档及参考

参考资料