![通过 SMB/CIFS 访问 Nextcloud 文件](https://linux22.com/image/1542341/%E9%80%9A%E8%BF%87%20SMB%2FCIFS%20%E8%AE%BF%E9%97%AE%20Nextcloud%20%E6%96%87%E4%BB%B6.png)
我想将 Nextcloud 设置为安全的私有云。它应该将我的数据提供给不同类型的设备:一方面是笔记本电脑和智能手机,我只想使用 Nextcloud 客户端进行同步。但我的局域网中还有一台台式电脑。这里不需要本地副本。我甚至想避免它,因为这台电脑只有一个 SSD,而我的 Nextcloud 大约有 120GB 大。
过去我使用 DSM 而不是 Xpenology,它提供 SMB/CIFS 共享。这在我的桌面上运行良好且稳定:我只需安装共享,一切就都运行良好。遗憾的是,Nextcloud 似乎仅能使用 SMB/CIFS 作为服务器端的外部存储。
所以我的问题是:如何在没有云同步的情况下在本地访问我的 Nextcloud 文件?
关于解决方案的想法
WebDAV 有什么特点?
基本上,这似乎是 SMB 的替代品。但从我过去的经验来看,WebDAV 似乎很慢,而且不如 SMB 稳定。我认为对于较大的文件,WebDAV 会更慢,因为它需要先下载整个文件,然后才能打开它们(WebDAV 似乎基于 HTTP 协议)。
更新:我在 Nextcloud 上尝试了 WebDAV。由于它是内置的,因此配置起来很容易。但正如我所想的那样,我遇到了问题:例如,电影无法通过 WebDAV 播放。我在 Nextcloud 中收到错误“文件描述符错误”。似乎使用 WebDAV 无法做到这一点。我必须先将文件下载到本地,这需要更多工作,并且当我观看后忘记删除本地副本时,会导致客户端上出现垃圾数据。SMB 可以做得更好。
跑桑巴舞吗?
我最初的想法是运行自己的 Samba 服务器。通过使用 LDAP 实现 Nextcloud 和 Samba,这两个服务的冗余账户就不会出现混乱。但是,我遇到了另一个问题:Samba 绕过了 Nextcloud 逻辑。这不仅会导致缺少版本历史记录。我还注意到 Nextcloud 只跟踪 Nextcloud 客户端上传的文件。将文件放入 Nextcloud 的文件系统中不会使它们出现在 Nextcloud Web UI 中。
因此,使用自定义 SMB 客户端逃避 Nextcloud 似乎会造成比它要解决的更多的问题。
答案1
如何在没有云同步的情况下在本地访问我的 Nextcloud 文件?
你不需要。这根本不是该服务的工作原理。正如你已经发现的那样,你确实可以访问底层存储。然而,这会绕过 Nextcloud 的一切,你最好完全停止使用它。
由于 ownCloud、Nextcloud 或 Pydio 等服务的设计与文件系统无关,因此它们不会过多依赖 ACL 和元数据存储等文件系统功能,而是自行实现这些功能。如果文件系统与元数据存储不同步,必然会发生奇怪的事情。
根据您的实际需求(主要是:通过浏览器查看或甚至通过浏览器管理),您可以改用仅同步的解决方案,如 syncthing。它也适用于 Samba。
然后还有其他 WebDAV 客户端,它们可能更不差劲,也可能更差劲。快速搜索后,出现了 ExpanDrive,这是一款商业软件。
Seafile(与 Nextcloud 类似)提供了“Seafile Drive 客户端”,它在 Windows 上显示为驱动器:https://blogs.seafile.com/2016/09/02/announcing-seafile-drive-client-a-new-way-to-map-seafile-storage-as-virtual-drive/
免费社区版支持驱动器客户端。但是,我发现 Seafile 很难设置。与 Nextcloud 相比,它要复杂得多。有一个有点工作Docker 工具可用。
答案2
实际上,@Daniel B 之前的回答和 @Insanemal 的评论都是错误的。您绝对可以拥有 NextCloud 服务器并使用 Samba/CFIS 连接到它。
为此,请按照 NextCloud 官方说明安装 NextCloud。我更喜欢使用 NextCloud AIO。NextCloud AIO 是 Dockerized,如果需要,可以轻松移动到另一台机器,等等。一旦您启动并运行 NextCloud,您需要安装 iNotifyScan。它将扫描您的驱动器,并且对您的服务器占用的空间非常小。这样,当您使用 Samba 添加、删除、更新、移动、复制等时,iNotifyScan 将更新 NextCloud 数据库以显示更改。iNotifyScan 非常容易安装。我花了不到五分钟就安装和配置了。
这是我找到的一篇文章,其中有关于如何安装 iNotifyScan 的详细说明。只需不到 10 分钟即可完成安装和配置。 https://www.bitproof.co.uk/post/setting-up-inotifyscan-for-your-nextcloud-server