Přístup k souborům v Nextcloud prostřednictvím protokolu WebDAV

Nextcloud fully supports the WebDAV protocol, and you can connect and synchronize with Nextcloud Files over WebDAV. In this chapter, you will learn how to connect Linux, macOS, Windows, and mobile devices to your Nextcloud server via WebDAV. Before we get into configuring WebDAV, let’s take a quick look at the recommended way of connecting client devices to your Nextcloud servers.

Poznámka

In the following examples, you should replace example.com/nextcloud with the URL of your Nextcloud server (omit the directory part if the installation is in the root of your domain), and USERNAME with the username of the connecting user.

Viz URL pro WebDAV (vlevo dole v nastavení) ve vámi využívaném Nextcloud.

Poznámka

In the following examples, you must use an application password for login, which you can generate in your security settings.

Nextcloud klienti pro desktopové a mobilní platformy

Doporučeným způsobem synchronizace osobního počítače s Nextcloud serverem je pomocí Nextcloud/ownCloud synchronizačních klientů. Klienta je možné nastavit, aby ukládal soubory v libovolném adresáři v počítači a můžete zvolit, se kterými adresáři na Nextcloud serveru synchronizovat. Klient zobrazuje stav stávajícího spojení a zaznamenává veškerou aktivitu, takže vždy víte, které soubory z protějšku byly staženy na počítač a můžete si ověřit, že soubory vytvořené/aktualizované na počítači jsou správně synchronizovány na server.

Doporučený způsob, jak synchronizovat Nextcloud server s Android a Apple iOS zařízeními je pomocí mobilních aplikací.

Pro připojení mobilní aplikace k Nextcloud serveru použijte pouze základ URL a složku:

example.com/nextcloud

Kromě mobilních aplikací, poskytovaných Nextcloud nebo ownCloud, je pro připojení se k Nexcloud z mobilního zařízení pomocí WebDAV možné použít i ostatní aplikace. WebDAV Navigator je dobrá (ale proprietární) aplikace pro Android zařízení a iPhony. URL adresa, kterou takto použít je:

example.com/nextcloud/remote.php/dav/files/USERNAME/

Nastavení pro WebDAV

If you prefer, you may also connect your desktop PC to your Nextcloud server by using the WebDAV protocol rather than using a special client application. Web Distributed Authoring and Versioning (WebDAV) is a Hypertext Transfer Protocol (HTTP) extension that makes it easy to create, read, and edit files on Web servers. With WebDAV, you can access your Nextcloud shares on Linux, macOS and Windows in the same way as any remote network share, and stay synchronized.

Přístup k souborům ze systému Linux

Z linuxových systémů můžete k souborům přistupovat následujícími způsoby.

Správce souborů Nautilus

Když zadáte svůj Nextcloud účet do Ovládacích panelů GNOME, budou vaše soubory automaticky připojeny správcem souborů Nautilus jako WebDAV sdílení (pokud nezrušíte zaškrtnutí přístupu k souborům).

Soubory z Nextcloud je možné také připojit (mount) ručně. Pro připojení správce souborů k svému Nextcloud sdílení použijte protokol davs://:

davs://example.com/nextcloud/remote.php/dav/files/USERNAME/

Poznámka

Pokud připojení k vámi využívanému serveru není zabezpečené pomocí HTTPS, použitje dav:// namísto davs://.

Screenshot of configuring Nautilus file manager to use WebDAV

Poznámka

The same method works for other file managers that use GVFS, such as MATE’s Caja and Cinnamon’s Nepomuk.

Přístup k souborům z desktopového prostředí KDE (prostřednictvím správce souborů Dolphin)

Pro přístup k vašim souborům v Nextcloud pomocí správce souborů Dolphin z desktopového prostředí KDE, použijte protokol webdav://:

webdav://example.com/nextcloud/remote.php/dav/files/USERNAME/
Screenshot of configuring Dolphin file manager to use WebDAV

Můžete vytvořit trvalý odkaz na vámi využívaný Nextcloud server:

  1. Open Dolphin and click „Network“ in the left-hand „Places“ column.

  2. Klikněte na ikonu označenou jako Přidat síťovou složku. Výsledný dialog by se měl objevit s už předvybraným WebDAV.

  3. Pokud WebDAV není vybraný, vyberte ho.

  4. Klikněte na Další.

  5. Zadejte následující nastavení:

    • Name: the name you want to see in the Places bookmark, for example, Nextcloud.

    • User: the Nextcloud username you used to log in, for example, admin.

    • Server: the Nextcloud domain name, for example, example.com (without http:// before or directories afterwards).

    • Složka – Zadejte popis umístění nextcloud/remote.php/dav/files/UZIVATELSKEJMENO/.

  6. (Volitelné) aby se ve sloupci Místa objevila záložka, zaškrtněte „Vytvořit ikonu“.

  7. (Volitelné) v zaškrtávací kolonce „Port a šifrováno“ zadejte případná speciální nastavení nebo SSL certifikát.

Vytváření WebDAV připojení z linuxového příkazového řádku

WebDAV připojení (mount) je možné vytvářet z příkazového řádku. Toto se hodí, pokud chcete k Nexcloud přistupovat stejným způsobem, jako k jakémukoli na dálku připojenému souborovému systému. Následující příklad ukazuje jak vytvořit osobní připojení a zařídit to tak, aby bylo automaticky připojené pokaždé, když se přihlásíte do systému.

  1. Nainstalujte ovladač WebDAV souborového systému davfs2, což vám umožní připojit WebDAV sdílení jako kterýkoli jiný vzdálený souborový systém. Pro instalaci na Debian/Ubuntu:

    apt-get install davfs2
    
  2. Pro instalaci na CentOS, Fedora a openSUSE použijte tento příkaz:

    yum install davfs2
    
  3. Přidejte se do skupiny davfs2:

    usermod -aG davfs2 <username>
    
  4. Then create a nextcloud directory in your home directory for the mount point, and .davfs2/ for your personal configuration file:

    mkdir ~/nextcloud
    mkdir ~/.davfs2
    
  5. Zkopírujte /etc/davfs2/secrets do ~/.davfs2:

    cp  /etc/davfs2/secrets ~/.davfs2/secrets
    
  6. Nastavte sami sebe jako vlastníka a oprávnění pro čtení-zápis nastavte pouze na vlastníka:

    chown <linux_username>:<linux_username> ~/.davfs2/secrets
    chmod 600 ~/.davfs2/secrets
    
  7. Své přihlašovací údaje do Nexcloud přidejte na konec souboru secrets s použitím URL adresy Nexcloud serveru a svého Nexcloud uživatelského jména a hesla:

    https://example.com/nextcloud/remote.php/dav/files/USERNAME/ <username> <password>
    or
    $PathToMountPoint $USERNAME $PASSWORD
    for example
    /home/user/nextcloud john 1234
    
  8. Přidejte údaje o připojení (mount) do souboru /etc/fstab:

    https://example.com/nextcloud/remote.php/dav/files/USERNAME/ /home/<linux_username>/nextcloud davfs user,rw,auto 0 0
    
  9. Poté vyzkoušejte, že se připojuje (mount) a ověřuje spuštěním následujícího příkazu. Pokud jste vše nastavili správně, nebude zapotřebí oprávnění správce systému:

    mount ~/nextcloud
    
  10. Měli byste také být schopní ho odpojit (unmount):

    umount ~/nextcloud
    

Nyní pokaždé, když se přihlásíte do svého linuxového systému, vaše Nextcloud sdílení by mělo být automaticky připojeno (mount) prostřednictvím WebDAV do adresáře ~/nextcloud. Pokud chcete připojovat ručně, změňte v souboru s nastaveními /etc/fstab na příslušném řádku hodnotu auto na noauto.

Známé problémy

Problém

Prostředek dočasně nedostupný

Řešení

Pokud narážíte na problémy při vytváření souboru v adresáři, přidejte do souboru /etc/davfs2/davfs2.conf toto:

use_locks 0

Problém

Varování ohledně certifikátu

Řešení

Pokud používáte sám sebou podepsaný certifikát, obdržíte varování. To je možné změnit, nastavením davfs2 tak, aby uznávalo váš certifikát. Zkopírujte mujcertifikat.pem do /etc/davfs2/certs/. Poté upravte /etc/davfs2/davfs2.conf a odkomentujte řádek servercert. Nyní přidejte popis umístění vašeho certifikátu, jako v této ukázce:

servercert /etc/davfs2/certs/mycertificate.pem

Přístup k souborům ze systému macOS

Poznámka

The macOS Finder suffers from a series of implementation problems and should only be used if the Nextcloud server runs on Apache and mod_php, or Nginx 1.3.8+. Alternative macOS-compatible clients capable of accessing WebDAV shares include open source apps like Cyberduck (see instructions here) and Filezilla. Commercial clients include Mountain Duck, Forklift, Transmit, and Commander One.

Pro přístup k souborům z macOS Finder:

  1. From the Finder’s top menu bar, choose Go > Connect to Server…:

    Screenshot of entering your Nextcloud server address on macOS
  2. When the Connect to Server… window opens, enter your Nextcloud server’s WebDAV address in the Server Address: field, i.e.:

    https://cloud.YOURDOMAIN.com/remote.php/dav/files/USERNAME/
    
    Screenshot: Enter Nextcloud server address in "Connect to Server…" dialog box
  3. Klikněte na Připojit. Vámi používaný WebDAV server by se měl objevit na Ploše jako sdílená jednotka.

Přistupování k souborům ze systému Microsoft Windows

If you use the native Windows implementation of WebDAV, you can map Nextcloud to a new drive using Windows Explorer. Mapping to a drive enables you to browse files stored on a Nextcloud server the way you would browse files stored in a mapped network drive.

Použití této funkce vyžaduje připojení k síti. Pokud chcete ukládat své soubory offline, použijte desktopového klienta pro synchronizování všech souborů na vámi využívané instanci Nexcloud na úložiště ve vašem počítači.

Poznámka

Windows 10 now defaults to allow Basic Authentication if HTTPS is enabled before mapping your drive.

On older versions of Windows, you must permit the use of Basic Authentication in the Windows Registry:

  • launch regedit and navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters.

  • Create or edit the BasicAuthLevel (Windows Vista, 7 and 8), or UseBasicAuth (Windows XP and Windows Server 2003), DWORD value and set its value data to 1 for SSL connections. A value of 0 means that Basic Authentication is disabled, and a value of 2 allows both SSL and non-SSL connections (not recommended).

  • Then exit Registry Editor, and restart the computer.

Mapování jednotek z příkazového řádku

Následující příklad zobrazuje jak namapovat jednotku z příkazového řádku. Pro namapování jednotky:

  1. Ve Windows otevřete příkazový řádek.

  2. Pro namapování jednotky Z v počítači zadejte do příkazového řádku následující:

    net use Z: https://<drive_path>/remote.php/dav/files/USERNAME/ /user:youruser yourpassword
    

    with <drive_path> as the URL to your Nextcloud server. For example:

    net use Z: https://example.com/nextcloud/remote.php/dav/files/USERNAME/ /user:youruser yourpassword
    

    Počítač namapuje soubory z vašeho Nextcloud účtu na jednotku s písmenkem Z.

    Poznámka

    Though not recommended, you can also mount the Nextcloud server using HTTP, leaving the connection unencrypted.

    If you plan to use HTTP connections on devices while in a public place, we strongly recommend using a VPN tunnel to provide the necessary security.

    Alternativní forma zápisu příkazu je:

    net use Z: \\example.com@ssl\nextcloud\remote.php\dav /user:youruser
    yourpassword
    

Mapování disků pomocí Průzkumníka Windows

To map a drive using Microsoft Windows Explorer:

  1. Otevřete Průzkumníka na svém počítači s MS Windows.

  2. Klikněte pravým tlačítkem na položku Počítač a z rozbalovací nabídky vyberte Namapovat síťovou jednotku….

  3. Zvolte písmenko pro nový místní síťový disk, na který chcete Nextcloud namapovat.

  4. Zadejte adresu vámi používané instance Nextloud, následovanou /remote.php/dav/files/UZIVATELSKEJMENO/.

    Například:

    https://example.com/nextcloud/remote.php/dav/files/USERNAME/
    

    Poznámka

    For SSL-protected servers, check Reconnect at sign-in to ensure that the mapping is persistent upon subsequent reboots. If you want to connect to the Nextcloud server as a different user, check Connect using different credentials.

    Screenshot of mapping WebDAV on Windows Explorer
  1. Klikněte na Dokončit.

Průzkumník Windows namapuje síťovou jednotku, čímž zpřístupní vámi využívanou instanci Nexcloud.

Přístup k souborům pomocí nástroje Cyberduck

Cyberduck is an open source FTP, SFTP, WebDAV, OpenStack Swift, and Amazon S3 browser designed for file transfers on macOS and Windows.

Poznámka

V tomto příkladu je použito Cyberduck verze 4.2.1.

Pro použití Cyberduck:

  1. Specify a server without any leading protocol information.

    For example: example.com

  2. Specify the appropriate port.

    The port you choose depends on whether or not your Nextcloud server supports SSL. Cyberduck requires that you select a different connection type if you plan to use SSL.

    For example:
    • 80 for unencrypted WebDAV

    • 443 for secure WebDAV (HTTPS/SSL)

  3. Use the ‚More Options‘ drop-down menu to add the rest of your WebDAV URL into the ‚Path‘ field.

    For example: remote.php/dav/files/USERNAME/

Nyní Cyberduck umožní přístup k souborům na Nextcloud serveru.

Přístup k veřejným sdílením prostřednictvím WebDAV

Nextcloud provides the possibility to access public shares anonymously over WebDAV.

Pro přístup k veřejnému sdílení, otevřete:

https://example.com/nextcloud/public.php/webdav

in a WebDAV client, use the share token as username and the (optional) share password as the password. For example, with a share link https://example.com/s/kFy9Lek5sm928xP, kFy9Lek5sm928xP will be the username.

Poznámka

SettingsAdministrationSharingAllow users on this server to send shares to other servers. This option also allows WebDAV access to public shares and needs to be enabled to make this feature work, except if cURL is being used (see below).

Známé problémy

Problém

Windows se při použití HTTPS nepřipojují.

Řešení

WebDAV klient, obsažený v systému Windows, nemusí u šifrovaných spojení podporovat Server Name Indication (SNI). Pokud se setkáte s chybou při SSL šifrovaném připojování k instance Nexcloud, obraťte se na svého poskytovatele se žádostí o přidělení vyhrazené IP adresy pro váš na SSL založený server.

Jiné řešení

Může být, že WebDAV klient ve Windows nepodporuje TSLv1.1 a TSLv1.2 spojení. Pokud je v nastavení vámi využívaného serveru omezeno poskytování pouze na TLSv1.1 a novější, spojení se serverem se může nezdařit. Další informace naleznete v dokumentaci k WinHTTP.

Problém

Obdržíte následující chybové hlášení: Chyba 0x800700DF: Velikost souboru překračuje umožněný limit a není proto možné ho uložit.

Řešení

Systém Windows omezuje maximální velikost, jakou může mít soubor přenášený z nebo na WebDAV sdílení. Tuto hodnotu je možné zvýšit a to úpravou v registrech, konkrétně klíče FileSizeLimitInBytes v HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters, kliknutím na Změnit.

Pro zvýšení limitu na maximální hodnotu 4GB, vyberte Desítková, zadejte hodnotu 4294967295 a restartujte počítač nebo jen systémovou službu WebClient.

Problém

Přístup k vašim souborům z Microsoft Office prostřednictvím WebDAV se nedaří.

Řešení

Známé problémy a jejich řešení jsou popsány ve článku KB2123563 .

Problém

Cannot map Nextcloud as a WebDAV drive in Windows using a self-signed certificate.

Řešení

  1. Access to your Nextcloud instance via your favorite Web browser.

  2. Proklikejte se až obdržíte chybu certifikátu ve stavovém řádku prohlížeče.

  3. View the certificate, then from the Details tab, select Copy to File.

  4. Save the file to your desktop with an arbitrary name, for example myNextcloud.pem.

  5. Go to Start menu > Run, type MMC, and click OK to open Microsoft Management Console.

  6. Go to File > Add/Remove Snap-In.

  7. Select Certificates, Click Add, choose My User Account, then Finish, and finally OK.

  8. Jděte až do Důvěryhodné kořenové certifikační autority, Certifikáty.

  9. Right-Click Certificate, Select All Tasks, and Import.

  10. Select the saved certificate from the Desktop.

  11. Select Place all Certificates in the following Store, and click Browse.

  12. Check the Box that says Show Physical Stores, expand out Trusted Root Certification Authorities, select Local Computer there, click OK, and Complete the Import.

  13. Check the list to make sure the certificate shows up. You will probably need to Refresh before you see it.

  14. Exit MMC.

For Firefox users:

  1. Launch your browser, go to Application menu > History > Clear recent history…

  2. Select ‚Everything‘ in the ‚Time range to clear‘ dropdown menu

  3. Select the ‚Active Logins‘ check box

  4. Click the ‚Clear now‘ button

  5. Close the browser, then re-open and test.

For Chrome-based browsers (Chrome, Chromium, Microsoft Edge) users:

  1. Open Windows Control Panel, navigate down to Internet Options

  2. In the Content tab, click the Clear SSL State button.

  3. Close the browser, then re-open and test.

Přistupování k souborů pomocí cURL

Protože WebDAV je rozšířením HTTP protokolu, lze pro naskriptování operací se soubory použít cURL.

Poznámka

SettingsAdministrationSharingAllow users on this server to send shares to other servers. If this option is disabled, the option --header "X-Requested-With: XMLHttpRequest" needs to be passed to cURL.

Pro vytvoření složky, nazvanou podle stávajícího data:

$ curl -u user:pass -X MKCOL "https://example.com/nextcloud/remote.php/dav/files/USERNAME/$(date '+%d-%b-%Y')"

Pro nahrání souboru error.log do tohoto adresáře:

$ curl -u user:pass -T error.log "https://example.com/nextcloud/remote.php/dav/files/USERNAME/$(date '+%d-%b-%Y')/error.log"

Pro přesunutí souboru:

$ curl -u user:pass -X MOVE --header 'Destination: https://example.com/nextcloud/remote.php/dav/files/USERNAME/target.jpg' https://example.com/nextcloud/remote.php/dav/files/USERNAME/source.jpg

Pro získání vlastností souborů v kořenové složce:

    $ curl -X PROPFIND -H "Depth: 1" -u user:pass https://example.com/nextcloud/remote.php/dav/files/USERNAME/ | xml_pp
    <?xml version="1.0" encoding="utf-8"?>
<d:multistatus xmlns:d="DAV:" xmlns:oc="http://nextcloud.org/ns" xmlns:s="http://sabredav.org/ns">
  <d:response>
    <d:href>/nextcloud/remote.php/dav/files/USERNAME/</d:href>
    <d:propstat>
      <d:prop>
        <d:getlastmodified>Tue, 13 Oct 2015 17:07:45 GMT</d:getlastmodified>
        <d:resourcetype>
          <d:collection/>
        </d:resourcetype>
        <d:quota-used-bytes>163</d:quota-used-bytes>
        <d:quota-available-bytes>11802275840</d:quota-available-bytes>
        <d:getetag>"561d3a6139d05"</d:getetag>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
  </d:response>
  <d:response>
    <d:href>/nextcloud/remote.php/dav/files/USERNAME/welcome.txt</d:href>
    <d:propstat>
      <d:prop>
        <d:getlastmodified>Tue, 13 Oct 2015 17:07:35 GMT</d:getlastmodified>
        <d:getcontentlength>163</d:getcontentlength>
        <d:resourcetype/>
        <d:getetag>"47465fae667b2d0fee154f5e17d1f0f1"</d:getetag>
        <d:getcontenttype>text/plain</d:getcontenttype>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
  </d:response>
</d:multistatus>

Accessing files using WinSCP

WinSCP is an open source free SFTP, FTP, WebDAV, S3, and SCP client for Windows. Its main function is file transfer between a local and a remote computer. Beyond this, WinSCP offers scripting and basic file management functionality.

You can download the portable version of WinSCP and run it on Linux through Wine.

To run WinSCP on Linux, download wine through your distribution’s package manager, then run it with the command: wine WinSCP.exe.

To connect to Nextcloud:

  • Start WinSCP

  • Press ‚Session‘ in the menu

  • Press the ‚New Session‘ menu option

  • Set the ‚File protocol‘ dropdown to WebDAV

  • Set the ‚Encryption‘ dropdown to TSL/SSL Implicit encryption

  • Fill in the hostname field: example.com

  • Fill in the username field: NEXTCLOUDUSERNAME

  • Fill in the password field: NEXTCLOUDPASSWORD

  • Press the ‚Advanced…‘ button

  • Navigate to ‚Environment‘, ‚Directories‘ on the left side

  • Fill in the ‚Remote directory‘ field with the following: /nextcloud/remote.php/dav/files/NEXTCLOUDUSERNAME/

  • Press the ‚OK‘ button

  • Press the ‚Save‘ button

  • Select the desired options and press the ‚OK‘ button

  • Press the ‚Login‘ button to connect to Nextcloud

Poznámka

it is recommended to use an app password for the password if you use TOTP as WinSCP does not understand TOTP with Nextcloud at the time of writing (2022-11-07).