使用 Linode NVMe 备份的块存储扩展您的 Nextcloud 实例

Expanding Your Nextcloud Instance Using Linode's NVMe-Backed Block Storage

Nextcloud 是一个非常受欢迎的自托管替代方案,可以替代 Dropbox、Google Drive 和其他云托管提供商。它不仅是个人用户的首选,Nextcloud 还有许多企业级部署。

鉴于以上情况,我们决定在 Linode 专用 CPU 上安装 Nextcloud,看看配置它以使用 Linode 新的 NVMe 备份的块存储需要什么。本文就是结果。

看看 Linode 是否适合您,并获得 100 美元信用额度

观看本文的视频版本

第一个挑战是设置 Nextcloud 实例。有很多方法可以做到这一点:可以手动安装和配置 Web 服务器和 PHP 环境。这样做的好处是开销低,但这意味着您需要加强您的 Linode 以防御常见的 Nextcloud 和 PHP 漏洞。此外,它还需要您自己应用任何优化,例如 Redis 或其他此类内存缓存。

或者,您可以从 Nextcloud 拉取预制的 Docker 镜像,它应该可以自行处理很多事情。但是 Docker 可能是一个相当麻烦的工具,并且仍然留有很多配置需要您使用反向代理来完成。

还有 Nextcloud snap 包,但是我不建议使用它。

最后,经过一番犹豫,我决定使用 Linode 的一键安装程序。Debian 10 的预制镜像,可自动配置运行 Nextcloud 实例所需的一切。甚至还进行了一些基本的安全加固,例如安装 Fail2Ban 以防止暴力攻击。

该过程再简单不过了。打开 Linode Cloud Manager,然后在屏幕左侧选择 Marketplace。然后从可用应用程序列表中选择 Nextcloud。填写您的信息,例如 Nextcloud 管理员用户名和密码,然后是数据库密码。选择一个数据中心,然后为您的操作系统选择一个密码。最后,单击“创建”,等待 Linode 完成配置,Nextcloud 安装脚本完成。

现在我们已经准备好 Nextcloud,我们确实可以通过导航到我们 Linode 的 IP 地址上的 /nextcloud 目录来确认它可以访问。例如:56.46.22.145/nextcloud

等等,虽然我们已经设置了 Linode 实例,但我们尚未将其配置为使用我们的块存储。

为此,我们需要首先创建一个卷。让我们通过单击“卷”,然后单击“选择卷”按钮来完成此操作。在此处填写表格,提供名称、卷大小、区域(必须与您的 Nextcloud 实例所在的区域相同),选择您的 Nextcloud 实例,并添加一个或两个可选标签以保持井井有条。

完成此操作后,单击“创建卷”按钮。它将立即连接到您的 Nextcloud 实例,Cloud Manager 将提示您一些您希望通过 SSH 运行的命令。

让我们这样做。在 Linux 或 macOS 上打开终端,或在 Windows 10/11 上打开 Powershell,然后键入 ssh root@<linodes ip address>。这将允许您登录。从这里,我们将执行第一个命令,为我们创建的卷创建文件系统。在本例中,我们使用 ext4。

接下来,我们将为我们的文件系统创建一个挂载点。为了本文的目的,我们假设是 /mnt/nextcloud-data,但您可以将其设置为任何位置。

接下来,我们将卷挂载到挂载点。最后,我们将最后的代码片段添加到我们 Linode 的 /etc/fstab 中,以便在每次启动后,此卷都挂载在我们文件系统中的相同位置。

我们几乎设置完成了。我们应该做的最后一件事是将 /var/www/nextcloud/data 中的文件移动到我们的块存储。这可以使用 mv -R /var/www/nextcloud/data/* /mnt/nextcloud-data 完成。我们还要确保 .htaccess.ocfiles 也从 /var/www/nextcloud/data 移动到 /mnt/nextcloud-data

```shell

mv /var/www/nextcloud/data/.ocfiles /mnt/nextcloud-data/

mv /var/www/nextcloud/data/.htaccess /mnt/nextcloud-data/

```

然后 chown www-data:www-data -R /mnt/nextcloud-data 将文件权限更改回 Web 服务器。

我们需要采取的最后一步是告诉我们的 Nextcloud 配置在哪里找到块存储。让我们运行 nano /var/www/nextcloud/config/config.php 并修改 datadirectory 条目以指向 /mnt/nextcloud-data

保存(使用 ctrl+s)并退出 nano(使用 ctrl+x)后,我们应该就可以开始了!

Gardiner Bryant 是 Heavy Element 的总裁

加载 Disqus 评论