linux , 联网 , nextcloud , 树莓

访问Nextcloud文件的不同方法

因此,您可能已启动并运行Nextcloud实例 下一个 CloudPi .

现在,您可以控制自己的隐私,并且可以通过Web界面访问文件。

在本文中,我们将探索其他选项来访问文件,以充分利用我们的设置。

WebDAV

WebDAV 是对HTTP / 1.1的扩展,并在RFC 4918中进行了定义。它扩展了HTTP原语,以便进行文件操作和协同创作。

其中一些原语包括(来自 维基百科 )

  • COPY将资源从一个URI复制到另一个
  • LOCK锁定资源。 WebDAV 支持共享锁和排他锁。
  • MKCOL创建集合(也称为目录)
  • MOVE将资源从一个URI移到另一个
  • PROPFIND从Web资源中检索以XML存储的属性。它也过载,以允许它检索远程系统的集合结构(也称为目录层次结构)。
  • PROPPATCH在单个原子行为中更改和删除资源上的多个属性
  • UNLOCK从资源中删除锁

You might recall that we had to specifically 所有ow some of these primitives in 下一个 CloudPi when we were hardening the webserver with modsecurity WAF .

这是NextCloud提供的与共享文件进行交互的主要方式,也是一种方式 桌面 安卓 同步客户端工作。

开放标准的优点在于,您还可以通过任何其他客户端访问文件。例如,您可以直接从Nemo文件管理器和许多其他文件访问。

在Nemo中,文件> connect to server …
您可以在喜欢的文件管理器中保存NextCloud文件

我们已经解释了WebDAV是HTTP的扩展。这意味着所有操作都需要通过Web服务器进行,​​这实际上效率很低。

这意味着

  • 只要使用HTTPS,它便已通过身份验证,并且是安全的。
  • 它非常缓慢且效率低下
  • 大文件不切实际
  • 所有操作都通过NextCloud堆栈进行

最重要的好处是最后一个。 下一个 Cloud将知道任何操作,并将其记录下来,并且数据文件夹的实际内容与NextCloud显示的内容之间将保持一致。

NFS

在以下内容中更详细地介绍了NFS 这个帖子 ,因此我们仅重点介绍一些功能。

  • 通常建议Linux客户端使用。
  • 这是不安全的。通信未加密,也没有身份验证。
  • 它非常轻巧高效。
  • 尽管也可以进行TCP操作,但它可以通过UDP运行。
$ sudo mount mycloud.no-ip.org:/media/USBdrive/ncdata/admin/files /mnt/mycloud

桑巴

桑巴 在以下内容中有更详细的介绍 这个帖子 。我们用例的主要功能是

  • 它受多种平台(Windows,Mac,Linux,Android)支持…)
  • 其流量未加密
  • 它提供了经过身份验证的访问。
$ sudo mount -t cifs //mycloud.no-ip.org/NextCloudPi /mnt -o credentials=/home/pi/.smbfile

SSH文件

SSH文件 是基于 保险丝 作为...的包装 SFTP 。它允许安全地安装远程文件夹,并通过SSH进行加密和身份验证,并使用传统的系统工具(与SFTP命令相反)与之交互。

它基于SSH,因此不需要额外的配置:有了SSH访问权限后,我们可以在本地安装远程文件夹。

简而言之

  • 安全:加密和认证
  • 简单
  • 仅Linux
  • 您可以从屋外远程安装
$  sshfs  pi@mycloud.no-ip.org:/media/USBdrive/ncdata/admin/files /mnt

达夫

davfs2 文件系统使我们能够通过WebDAV挂载文件夹。

上面提到的有关WebDAV的所有内容均适用。

sudo mount -t davfs //mycloud.no-ip.org/remote.php/webdav /mnt                                                                                                                                              0.49 L  ✓ 
Please enter the username to authenticate with server
//mycloud.no-ip.org/remote.php/webdav  要么  hit enter for none.
  Username: admin
Please enter the password to authenticate user admin with server
//mycloud.no-ip.org/remote.php/webdav  要么  hit enter for none.
  Password:

与往常一样,Arch Wiki是这方面的一个很好的资源( 链接 )。

包起来

如果你是一个 下一个 CloudPi 用户,我的建议如下

  • 使用SSHfs从屋外挂载文件夹
  • 如果您具有简单的设置(例如单用户),请使用NFS将文件夹安装在仅Linux本地局域网中。
  • 如果需要更好地控制访问权限,或者与Linux / Windows / Mac混合使用网络,请使用SAMBA将文件夹安装在本地LAN中。
  • 除非您要处理一些小文件,否则请避免使用webDAV和同步客户端。

另外,请注意,基于非WebDAV的选项允许我们上传大文件。这样,与尝试通过WebDAV上传文件相比,我们可以通过Web界面或WebDAV下载更大的文件。

SSH文件 ,NFS,SAMBA等的优势也是它们的问题。它们工作得更好,因为避免使用WebDAV,因此避免使用完整的HTTP + PHP +数据库堆栈。

这意味着,每当您上载或删除文件时,NextCloud都不会意识到它。不久前,Owncloud允许一种检测,扫描外部修改文件并将其引入系统的模式。由于性能原因,此选项已被删除。

第三方提出了一些解决方案,例如 files_inotify ,但同样,它们将极大地影响性能,特别是如果我们要托管许多文件时。

为了应对这种情况,NextCloudPi提供了两种选择

数控扫描

如果您不经常在外部修改文件,则可以手动重新扫描文件

sudo   nextcloud pi -config           # select  数控扫描 

,或从命令行

sudo ncp-scan

这只是包装 occ Â命令

cd /var/www/nextcloud
sudo -u www-data php  occ  files:scan --all

输出示例

$ sudo ncp-scan
Starting scan for user 1 out of 1 (admin)

+---------+-------+--------------+
| Folders | Files | Elapsed time |
+---------+-------+--------------+
| 148     | 343   | 00:00:18     |
+---------+-------+--------------+
数控扫描自动

如果我们打算更频繁地在外部修改文件,我们可以安排定期扫描 数控扫描自动

额外:pushpi

我还想分享这个可以包含在其中的小shell函数 .bashrc 要么 .zshrc .

function pushpi()
{ 
  local URL=mycloud.no-ip.org
  local PORT=2234
  local USER=pi
  local FOLDER=/media/USBdrive/ncdata/admin/files/
  local OPTS=( -aui --progress --stats --inplace --partial )
   同步  ${OPTS[@]} -e "ssh -p $PORT" $@ $USER@$URL:$FOLDER
}

修改变量以反映您的设置,然后

pushpi this_file_or_folder file2 file3

将使用 同步 仅当它们已更改时,才能同步远程文件夹上的那些文件和文件夹(我在NextCloudPi中使用它们)。

如果您通过公钥使用SSH进行无密码登录,那么使用起来非常方便,而且无需离开终端即可快速将文件快速推送到您的文件夹。

作者: 纳乔帕克

谦虚地分享我认为有用的东西 [ 的github 码头工人 hub ]

13 评论 s

  1. U / 纳乔帕克 将nextcloud用于Mac OS X&iOS客户端可以使用nextcloudPi吗?
    我可以在我的nextcloudpi盒子上设置一个nextcloud帐户,让几个朋友通过Internet共享10mb至4gb的文件吗?
    I’我只购买了nextcloud / wd实验室包装盒& a raspberry Pi 3. Setting it 所有 up today.
    谢谢!

  2. 我们主要在这里使用Mac(OS X)计算机来日常使用–在我们的服务器上使用Linux(Debian | Ubuntu | CentOs)–因此,我们在通过Mac计算机访问基于* nix的文件系统方面拥有丰富的经验。

    我只是想在上述文章中的sshFs部分添加一些内容– namely it’s very easy to access sshFs-based file systems via a Mac (i.e. not just a Linux trick, 和你一样r article implies).
    因为您显然是经验丰富的* nix用户,所以我赢了’让您无聊的细节– but do ask if you’d像下面这样的任何澄清,好吗?

    在Mac计算机上,您需要Fuse层和sshfs样式才能在其上运行–所以在Mac上跳到这里:

    //osxfuse.github.io/

    并同时获取适用于macOS 3.5.8的FUSE(我键入此文件时的当前版本)和SSHFS 2.5.0(仍为当前版本)。

    安装保险丝,然后安装sshfs层– then use sshfs 和你一样 would on Linux, an example command line I use might be:

    sshfs 根@10.11.12.13:/ var / vhost〜/公共/ MNT / SSHFS -o IdentityFile =〜/ .ssh / my_sshid -o解决方法= all -o follow_symlinks

    和你一样’我们会认识到,这使其在〜/ Public / MNT / SSHFS上可用,因此Mac上的所有用户都可以查看/使用文件,其他选项只是确保Mac知道如何使用sshfs,例如确保内置Mac Finder .app [文件资源管理器]很高兴。
    例如,这可以在从Mavericks(OS X v10.9)到绝对最新的MacOs Sierra(v10.12)的所有OS X版本上运行,当然也可以在所有这些之间进行。

    虽然我不’t use “root”通常,但是在这里使用它来显示它也可以正常工作–有些网络文章出错了!

    无论如何,希望这对我有帮助’d只是讨厌Mac用户,以为他们无法通过闪亮的Mac计算机轻松使用精彩的NextCloud– it’与使用Linux🙙一样简单,在某些方面甚至更简单

    亲切的问候。

  3. 是我还是使用SSHFS上传文件需要Nextcloud重新索引’使用正确的命令存储文件:sudo -u http php occ files:scan–all

  4. 无论出于什么原因’m无法通过sshfs访问存储。它确实安装得很好,但是我’我每次尝试写/更改文件时都会遇到问题–获得操作不允许的错误。
    这表明pi是’这些目录的所有者无法更改它们?

  5. @nachoparker,您好,我已经在Raspberry Pi 3B +上使用docker设置了NextcloudPi,如果连接到我的WiFi,我可以在本地访问它,并且我想通过屋外的Internet访问它,但我仍然找不到解决方法。您对我该怎么做有什么建议吗?会很有帮助。我搜索的所有线程都在使用端口转发,我可以’这样做是因为ISP没有’不允许。我也使用portmap.io,ngrok,ZeroTier One搜索,但仍然失败。也许缺少一些步骤,因为我可以找到从A到Z的指导。那么还有其他选择吗?

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *