Nextcloud 和 OpenMediaVault (OMV) 均为强大的开源免费软件。通过将两者结合使用,您可以借助直观的网页界面管理存储,从而构建并部署属于您自己的私有云存储和网络附加存储(NAS)。
在 OpenMediaVault 上安装 Nextcloud,您就可以随时随地存储、共享和访问所有内部/外部存储(包括 USB 驱动器)中的文件,同时完全掌控数据。
您可以选择直接在 Raspberry Pi 上通过 Docker 容器安装 Nextcloud,也可以直接在 Raspberry Pi 操作系统中安装。然而,通过 OpenMediaVault 安装 Nextcloud,可将安全的数据存储与类似云的功能相结合,从而便于访问和协作。
通过使用 OMV 在 Raspberry Pi 上托管 Nextcloud,您可以:
- 完全掌控自己的数据和隐私,因为您无需依赖第三方云服务商,从而获得更大的安心、数据隐私和所有权。
- OMV 还提供用户管理和权限控制功能,允许您控制谁可以访问共享存储。Nextcloud 进一步扩展了这些功能,以实现对文件、文件夹和共享资源进行精细的访问控制。
- 为 Nextcloud 数据实施和设置自动备份。这为您的文件增加了一层额外的数据保护。
- 快速添加/删除外部 USB 存储介质或驱动器,并将 Nextcloud 数据存储在外部驱动器的共享文件夹中。
为了在繁重的工作负载下保持稳定的性能,建议在 SSD 上安装 Raspberry Pi 操作系统。您还可以直接在 Raspberry Pi 操作系统上安装 Nextcloud,构建具有远程访问功能的个性化 DIY 云存储。
在开始 Nextcloud 的安装和设置之前,请确保为您的 OpenMediaVault 设备(即 Raspberry Pi)分配或配置静态 IP 地址。这非常重要,因为 Nextcloud 需要稳定的 IP 地址才能正常运行。
第一步:启用 SSH
按照以下步骤启用 SSH(安全外壳)以进行远程访问。
- 在 OpenMediaVault 上,转到“服务”并单击 “SSH”。
- 勾选“允许 root 登录”、“密码身份验证”和“公钥身份验证”,然后单击“保存”。
- 单击“应用”(黄色栏上的复选按钮)以应用更改。
- 使用 Windows 上的 PuTTY 应用程序或 Linux/macOS 上的终端,以 root 身份登录 OpenMediaVault。如果您不知道 root 密码,请以 sudo 用户身份登录,然后使用以下命令更改 root 密码:
passwd root
- 输入 su root 以 root 用户身份登录。
从另一台计算机通过 SSH 连接到 Raspberry Pi,并运行以下命令来安装 OMV 插件。
wget -O - https:
安装完成后,刷新或登录 OpenMediaVault 网页界面,然后转到插件。
查找并安装 openmediavault-compose xxx 插件。
第三步:安装 Docker 和 Portainer
在 OpenMediaVault 的“服务”部分下,您将看到一个名为“Compose”的新条目。 我们将使用它来安装 Nextcloud 安装所需的 Docker 和 portainer。
- 单击“Compose”>“设置”。
- 在“Compose 文件”下,从下拉列表中选择“共享文件夹”。如果您尚未创建共享文件夹,建议您使用“+”图标或通过“存储”>“共享文件夹”选项创建一个。
- 在“数据”部分下,选择您在内部存储或外部 USB 驱动器上创建的共享文件夹。 建议您使用外部硬盘来存储数据。
- 您还可以选择备份位置(可选)。为此,您可以在内部或外部驱动器上创建并选择另一个共享文件夹。
- 现在单击“重新安装 Docker”。
- 出现提示时单击“是”,然后等待安装完成。
安装过程中,您可能会收到连接丢失的错误提示。只需刷新页面然后重试即可。如果在“状态”部分看到“已安装并正在运行”,请打开 SSH 连接,然后运行以下命令来安装 portainer:
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
安装完成后,访问 https://IPAddressOfPi:9443。请务必更改用户名和密码。
第四步:创建 MariaDB 数据库
在 portainer 上,单击 “堆栈”>“添加堆栈”,然后将以下代码粘贴到 Web 编辑器中。
version: '2'services: db: image: mariadb:10.5 restart: always command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW volumes: - /var/lib/docker/volumes/Nextcloud_Database:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=password - MYSQL_PASSWORD=password - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud
请确保为堆栈指定正确的名称,例如 mariadb。另外,请更改密码和数据库名称。
单击“部署堆栈”。
这将安装并部署 Nextcloud 设置所需的 MariaDB 数据库。
或者,您也可以通过 SSH 手动安装 MariaDB 服务器并创建数据库和数据库用户。
默认情况下,OpenMediaVault 在端口 80 上运行。但是,建议您将 OpenMediaVault 的端口更改为其他端口,例如 8090。这将使端口 80 可用于 Nextcloud。为此,请按照以下步骤操作:
- 在 OpenMediaVault 中,转到“系统” > “工作台”。
- 将端口编辑为 8090,然后单击“保存”。
- 单击“应用”,然后等待更改生效。
- 您现在可以通过 http://IPAdressOfPi:8090 打开 OpenMediaVault。
按照以下步骤在 Raspberry Pi 上运行的 OpenMediaVault 上安装和设置 Nextcloud。
- 登录到 portainer,然后单击 “卷”>“添加卷”。创建两个卷:nextcloud_config 和 nextcloud_data。您只需输入卷名称并单击“创建卷”即可。
- 单击“容器” > “添加容器”。
- 将容器命名为 Nextcloud,并将以下内容粘贴到“镜像”字段中:
linuxserver/nextcloud
- 在“网络端口配置”中,单击“+发布新网络端口”。
- 在“主机”和“容器” (TCP) 中键入 8080 和 80。
- 在“卷”下,单击“+”映射附加卷两次。
- 键入 /config,然后选择 nextcloud_config 卷。同样,键入 /data 并选择 nextcloud_data 卷。
- 转到“网络”并选择“主机”。
- 在“重新启动策略”中,选择“除非已停止”。
- 单击“部署容器”。
- 在几秒钟或几分钟内(取决于您的互联网速度),Nextcloud 容器将被部署。
- 您现在可以访问 http://IPAddressOfPi 打开 Nextcloud 网页界面。
- 输入用户名和密码。
- 现在输入数据文件夹的位置。默认值为 /data。
- 单击“MySQL/MariaDB”。输入在步骤 4 中部署的 MariaDB 堆栈中的 MariaDB 数据库名称和密码。
- 如果您在数据库连接中遇到错误,请尝试在数据库主机中输入 MariaDB。
- 单击“安装”。这将安装 Nextcloud 实例。
现在,您可以通过 Pi 的本地 IP 地址访问并登录 Nextcloud。您可以使用家中的任何系统(包括 macOS、Windows 和 Linux)将文件上传和下载到 Nextcloud。 Nextcloud 应用程序也适用于 Android 和 iOS 设备,您可以使用它将照片、视频、文档和其他数据同步到移动设备或从移动设备同步。
要将 Nextcloud 暴露到互联网,您可以使用 Nginx 反向代理、Cloudflare Tunnel 或路由器(端口转发)。
释放自托管云的力量
在 Raspberry Pi 上运行的 OpenMediaVault NAS 上安装 Nextcloud,为您提供了一个经济实惠但功能强大且安全的私有云存储解决方案。借助 OpenMediaVault NAS 上的 Nextcloud,您可以掌控自己的数据,并在无需依赖第三方提供商的情况下享受云存储的便利。
通过执行上述步骤,您可以轻松地在 Raspberry Pi 上设置和配置 Nextcloud,以满足您的特定需求。请记住定期更新您的 Nextcloud 和 OpenMediaVault 安装、保护您的 Nextcloud 实例并备份数据,以确保流畅可靠的使用体验。