Toegang tot Nextcloud bestanden met behulp van 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.

Notitie

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.

Zie de WebDAV URL (linksonder in de instellingen) op je Nextcloud.

Notitie

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

Nextcloud Desktop en mobiele clients

De aanbevolen manier om een desktop PC te synchroniseren met een Nextcloud server is door gebruik te maken van Nextcloud/ownCloud sync clients. Je kan de client configureren om bestanden op te slaan in een lokale directory en je kan kiezen met welke mappen op de Nextcloud server gesynchroniseerd moet worden. De client geeft de huidige verbindingsstatus weer en logt alle activiteiten, zodat je altijd weet welke bestanden naar jouw PC zijn gedownload en je kan controleren of de bestanden die op jouw lokale PC zijn aangemaakt en bijgewerkt, goed zijn gesynchroniseerd met de server.

De aanbevolen manier om de Nextcloud server te synchroniseren met Android en Apple iOS apparaten is door gebruik te maken van de mobiele apps.

Om jouw mobiele app aan te sluiten op een Nextcloud-server gebruik je alleen de basis-URL en de map:

example.com/nextcloud

Naast de mobiele apps van Nextcloud of ownCloud kan je ook andere apps gebruiken om vanaf uw mobiele apparaat verbinding te maken met Nextcloud via WebDAV. WebDAV Navigator`_ is een goede (eigen) app voor Android apparaten en iPhones. De URL die je hierop kan gebruiken is:

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

WebDAV configuratie

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.

Toegang tot bestanden met behulp van Linux

Je kan toegang krijgen tot bestanden in Linux-besturingssystemen met behulp van de volgende methoden.

Nautilus bestandsbeheerder

When you configure your Nextcloud account in the GNOME Control Center, your files will automatically be mounted by Nautilus as a WebDAV share, unless you deselect file access.

Je kan jouw Nextcloud bestanden ook handmatig koppelen. Gebruik het davs:// protocol om de Nautilus bestandsbeheerder te koppelen met jouw Nextcloud share:

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

Notitie

Als je serververbinding niet HTTPS-beveiligd is, gebruik dan dav://` in plaats van davs://`:

Screenshot of configuring Nautilus file manager to use WebDAV

Notitie

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

Toegang tot bestanden met KDE en Dolphin bestandbeheerder

Om toegang te krijgen tot jouw Nextcloud bestanden met behulp van de Dolphin file manager in KDE, gebruik je het webdav:// protocol:

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

Je kan een permanente link naar jouw Nextcloud-server maken:

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

  2. Klik op het pictogram Toevoegen van een netwerk map. Het resulterende dialoogvenster zou moeten verschijnen met WebDAV al geselecteerd.

  3. Selecteer WebDAV indien dit nog niet het geval is.

  4. Klik op Volgende.

  5. Voer de volgende instellingen in:

    • 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).

    • Map – Voer het pad nextcloud/remote.php/dav/bestanden/USERNAME/ in.

  6. (Optional) Check the “Create icon” checkbox for a bookmark to appear in the Places column.

  7. (Optioneel) Geef eventuele speciale instellingen of een SSL-certificaat aan in het selectievakje “Port & Encrypted”.

Het maken van WebDAV mounts op de Linux commandoregel

Je kan WebDAV mounts maken vanaf de Linux commandoregel. Dit is handig als je de voorkeur geeft aan Nextcloud op dezelfde manier als elke andere mount voor een bestandssysteem op afstand. Het volgende voorbeeld laat zien hoe je een persoonlijke mount kan maken en deze automatisch kan laten mounten elke keer dat je inlogt op je Linux-computer.

  1. Installeer de davfs2 WebDAV bestandssysteem driver, waarmee je WebDAV shares kan mounten net als elk ander bestandssysteem op afstand. Gebruik dit commando om het te installeren op Debian/Ubuntu:

    apt-get install davfs2
    
  2. Gebruik dit commando om het te installeren op CentOS, Fedora en openSUSE:

    yum install davfs2
    
  3. Voeg jezelf toe aan de davfs2 groep:

    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. Kopieer /etc/davfs2/secrets naar ~/.davfs2:

    cp  /etc/davfs2/secrets ~/.davfs2/secrets
    
  6. Stel jezelf in als eigenaar en maak de rechten alleen lees-schrijf-eigenaar:

    chown <linux_username>:<linux_username> ~/.davfs2/secrets
    chmod 600 ~/.davfs2/secrets
    
  7. Voeg je Nextcloud logingegevens toe aan het einde van het secrets bestand, met behulp van jouw Nextcloud server URL en jouw Nextcloud gebruikersnaam en wachtwoord:

    https://example.com/nextcloud/remote.php/dav/files/USERNAME/ <username> <password>
    or
    $PathToMountPoint $USERNAME $PASSWORD
    for example
    /home/user/nextcloud john 1234
    
  8. Voeg de mount informatie toe aan /etc/fstab:

    https://example.com/nextcloud/remote.php/dav/files/USERNAME/ /home/<linux_username>/nextcloud davfs user,rw,auto 0 0
    
  9. Test dan dat het mount en authenticeert door het volgende commando uit te voeren. Als je het correct instelt heb je geen root permissies nodig:

    mount ~/nextcloud
    
  10. Je zou het ook moeten kunnen ontkoppelen:

    umount ~/nextcloud
    

Elke keer dat je inlogt op je Linux systeem zou jouw Nextcloud share automatisch moeten mounten via WebDAV in jouw ~/nextcloud directory. Als je liever handmatig wil mounten, verander dan auto naar noauto in /etc/fstab`.

Bekende problemen

Probleem

Hulpbron tijdelijk niet beschikbaar

Oplossing

Als je problemen ondervindt bij het maken van een bestand in de map, bewerk dan /etc/davfs2/davfs2.conf en voeg toe:

use_locks 0

Probleem

Certificaatwaarschuwingen

Oplossing

Als je een zelf ondertekend certificaat gebruikt, krijg je een waarschuwing. Om dit te veranderen, moet je davfs2` configureren om jouw certificaat te herkennen. Kopieer ``mycertificate.pem naar /etc/davfs2/certs/`. Bewerk vervolgens /etc/davfs2/davfs2.conf en uncommentarieer de regel servercert. Voeg nu het pad van uw certificaat toe zoals in dit voorbeeld:

servercert /etc/davfs2/certs/mycertificate.pem

Toegang tot bestanden met behulp van macOS

Notitie

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.

Om toegang te krijgen tot bestanden via de 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. Klik op Connect. Jouw WebDAV-server zou op het bureaublad moeten verschijnen als een gedeelde schijf.

Toegang tot bestanden met behulp van 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.

Voor het gebruik van deze functie is een netwerkverbinding nodig. Als je jouw bestanden offline wilt opslaan, gebruik je de Desktop Client om alle bestanden op jouw Nextcloud te synchroniseren met een of meer mappen van jouw lokale harde schijf.

Notitie

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.

Stations toewijzen met de opdrachtregel

Het volgende voorbeeld toont hoe je een netwerkstation toewijst met behulp van de opdrachtregel. Om het station toe te wijzen:

  1. Open een opdrachtregel in Windows.

  2. Voer de volgende lijn in op de opdrachtregel om het station toe te wijzen aan het Z-station van de computer:

    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
    

    De computer wijst de bestanden van jouw Nextcloud-account toe aan de stationsletter Z.

    Notitie

    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.

    Een alternatieve commando syntax is:

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

Stations toewijzen met Windows Verkenner

To map a drive using Microsoft Windows Explorer:

  1. Open Windows Explorer on your MS Windows computer.

  2. Klik met de rechtermuisknop op Computer en selecteer Map netwerkstation… in het uitklapmenu.

  3. Kies het lokale netwerkstation waaraan je Nextcloud wil toewijzen.

  4. Geef het adres van jouw Nextcloud instantie op, gevolgd door /remote.php/dav/files/USERNAME/.

    Bijvoorbeeld:

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

    Notitie

    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. Klik op de knop Beëindigen.

Windows Verkenner wijst het netwerkstation toet, waardoor jouw Nextcloud instantie beschikbaar wordt.

Toegang tot bestanden met behulp van Cyberduck

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

Notitie

In dit voorbeeld wordt Cyberduck versie 4.2.1 gebruikt.

Om Cyberduck te gebruiken:

  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/

Nu maakt Cyberduck bestandstoegang tot de Nextcloud-server mogelijk.

Toegang tot publieke shares via WebDAV

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

Om toegang te krijgen tot de publieke share, open:

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.

Notitie

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).

Bekende problemen

Probleem

Windows maakt geen verbinding met HTTPS.

Oplossing 1

De Windows WebDAV-client ondersteunt mogelijk geen Server Name Indication (SNI) bij gecodeerde verbindingen. Als je een foutmelding krijgt bij het koppelen van een SSL-gecodeerde Nextcloud instantie, neem dan contact op met je leverancier voor het toewijzen van een dedicated IP-adres voor jouw SSL-gebaseerde server.

Oplossing 2

De Windows WebDAV-client ondersteunt mogelijk geen TLSv1.1- en TLSv1.2-verbindingen. Als de configuratie van je server is beperkt tot het aanbieden van TLSv1.1 en hoger, kan de verbinding met je server mislukken. Raadpleeg de WinHTTP documentatie voor meer informatie.

Probleem

Je ontvangt de volgende foutmelding: Fout 0x800700DF: De bestandsgrootte overschrijdt de toegestane limiet en kan niet worden opgeslagen.

Oplossing

Windows limits the maximum size a file transferred from or to a WebDAV share may have. You can increase the value FileSizeLimitInBytes in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters by clicking on Modify.

Om de limiet te verhogen tot de maximale waarde van 4GB, selecteer je Decimaal, voer je een waarde in van 4294967295 en start je Windows opnieuw op of start je de dienst WebClient opnieuw op.

Probleem

Toegang tot je bestanden vanuit Microsoft Office via WebDAV mislukt.

Oplossing

Bekende problemen en hun oplossingen zijn gedocumenteerd in het KB2123563 artikel.

Probleem

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

Oplossing

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

  2. Klik door tot je bij de certificaatfout in de statusregel van de browser komt.

  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. Ga naar Trust Root Certification Authorities, Certificaten.

  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.

Toegang tot bestanden met behulp van cURL

Since WebDAV is an extension of HTTP, cURL can be used to script file operations.

Notitie

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.

Om een map aan te maken met de huidige datum als naam:

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

Om een bestand error.log te uploaden naar die map:

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

Om een bestand te verplaatsen:

$ 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

Om de eigenschappen van bestanden in de hoofdmap te krijgen:

    $ 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

Notitie

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).