Acceder aos ficheiros de Nextcloud mediante WebDAV

Nextcloud admite totalmente o protocolo WebDAV e pode conectarse e sincronizar con Nextcloud Files a través de WebDAV. Neste capítulo, aprenderá a conectar Linux, macOS, Windows e dispositivos móbiles ao seu servidor Nextcloud.

WebDAV stands for Distributed Authoring and Versioning. It is an HTTP extension that makes it easy to create, read, and edit files hosted on remote Web servers. With a WebDAV client, you can access your Nextcloud Files (including shares) on Linux, macOS and Windows in a similar way as any remote network share, and stay synchronized.

Antes de comezar a configurar WebDAV, imos botar unha ollada rápida á forma recomendada de conectar os dispositivos cliente a Nextcloud.

Clientes oficiais de escritorio e móbiles de Nextcloud

A forma recomendada de sincronizar un PC de escritorio cun servidor de Nextcloud é empregando os clientes oficiais de sincronización Nextcloud. Pode configurar o cliente para gardar ficheiros en calquera directorio local e pode escoller con que directorios no servidor de Nextcloud se sincronizarán. O cliente amosa o estado de conexión actual e rexistra toda a actividade, polo que sempre sabe que ficheiros remotos foron descargados no seu PC e pode comprobar que os ficheiros creados e actualizados no seu PC local están correctamente sincronizados co servidor.

A forma recomendada de sincronizar o servidor Nextcloud con dispositivos Android e Apple iOS é empregando as aplicacións móbiles oficiais de Nextcloud.

Para conectar as aplicacións oficiais de Nextcloud a un servidor de Nextcloud, use o mesmo URL que usa para acceder a Nextcloud dende o seu navegador web; p. ex.:

https://cloud.example.com

https://example.com/nextcloud (if Nextcloud is installed in a subdirectory called "nextcloud")

Clientes WebDAV de terceiros

Se o prefire, tamén pode conectar o seu computador ao seu servidor Nextcloud mediante calquera cliente de terceiros que admita o protocolo WebDAV (incluíndo o que se poida integrar no seu sistema operativo).

Tamén pode usar aplicacións compatíbeis con WebDAV de terceiros para conectar o seu dispositivo móbil a Nextcloud.

Cando utilice clientes de terceiros, teña en conta que é posíbel que non estean optimizados para o seu uso con Nextcloud ou non dispoñan de funcións que considere importantes para o seu uso en particular.

Entre os clientes móbiles que os membros da comunidade de Nextcloud informaron usar inclúense:

O URL que se debe usar ao configurar aplicacións de terceiros para conectarse a Nextcloud é un pouco máis longo que o dos clientes oficiais:

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

https://example.com/nextcloud/remote.php/dav/files/USERNAME/ (if Nextcloud is installed in a subdirectory called "nextcloud")

Nota

When using a third-party WebDAV client (including your operating system’s built-in client), you should use an application password for login rather than your regular password. In addition improved security, this increases performance significantly. To configure an application password, log into the Nextcloud Web interface, click on the avatar in the top right and choose Personal settings. Then choose Security in the left sidebar and scroll to the very bottom. There you can create an app password (which can also be revoked in the future without changing your main user password).

Nota

Nos exemplos seguintes, debe substituír example.com/nextcloud polo URL do seu servidor de Nextcloud (omitir a parte do directorio se a instalación está na raíz do seu dominio) e «NOMEdeUSUARIO» co nome de usuario do usuario que se conecta.

Consulte o URL de WebDAV (abaixo á esquerda nos axustes) no seu Nextcloud.

Acceder aos ficheiros mediante Linux

Pode acceder a ficheiros en sistemas operativos Linux empregando os seguintes métodos.

Xestor de ficheiros Nautilus

Cando configure a súa conta de Nextcloud no Centro de control GNOME, os seus ficheiros serán montados automaticamente por Nautilus como compartición de WebDAV, a non ser que desmarque o acceso aos ficheiros.

Tamén pode montar os seus ficheiros en Nextcloud manualmente. Use o protocolo davs:// para conectar o xestor de ficheiros Nautilus ao seu compartido de Nextcloud:

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

Nota

Se a conexión do servidor non está protexida por HTTPS, use dav:// no canto de davs://:

Captura de pantalla da configuración do xestor de ficheiros Nautilus para usar WebDAV

Nota

O mesmo método funciona para outros xestores de ficheiros que usan GVFS, como Caja de MATE e Nemo de Cinnamon.

Acceder aos ficheiros con KDE e o xestor de ficheiros Dolphin

Para acceder aos seus ficheiros en Nextcloud usando o xestor de ficheiros Dolphin en KDE, use o protocolo webdav://:

webdav://example.com/nextcloud/remote.php/dav/files/USERNAME/
Captura de pantalla da configuración do xestor de ficheiros Dolphin para usar WebDAV

Pode crear unha ligazón permanente ao servidor de Nextcloud:

  1. Abra o Dolphin e prema en «Rede» na columna «Lugares» da esquerda.

  2. Prema na icona Engadir un cartafol en rede. O diálogo resultante debería aparecer con WebDAV xa seleccionado.

  3. Se non está seleccionado WebDAV, seleccióneo.

  4. Prema en Seguinte.

  5. Introduza os seguintes axustes:

    • Nome: O nome que quere ver no marcador Lugares, por exemplo, Nextcloud.

    • Usuario: o nome de usuario de Nextcloud que empregou para acceder, por exemplo, admin.

    • Servidor: o nome de dominio de Nextcloud, por exemplo, example.com (sen http:// antes nin os directorios após).

    • Cartafol: introduza a ruta nextcloud/remote.php/dav/files/NOMEdeUSUARIO/.

  6. (Opcional) Marque a caixa de selección «Crear icona» para que apareza un marcador na columna Lugares.

  7. (Opcional) Forneza calquera axuste especial ou un certificado SSL na caixa de selección «Porto e Usar cifrado».

Creación de montaxes WebDAV coa liña de ordes de Linux

Pode crear montaxes WebDAV a partir da liña de ordes Linux. Isto é útil se prefire acceder a Nextcloud do mesmo xeito que calquera outro sistema de ficheiros remoto. O seguinte exemplo amosa como crear un montaxe persoal e montalo automaticamente cada vez que inicie sesión no seu computador Linux.

  1. Instale o controlador de sistema de ficheiros WebDAV davfs2, que lle permite montar comparticións de WebDAV como calquera outro sistema de ficheiros remoto. Use esta orde para instalalo en Debian/Ubuntu:

    apt-get install davfs2
    
  2. Use esta orde para instalalo en CentOS, Fedora e openSUSE:

    yum install davfs2
    
  3. Engádase ao grupo davfs2:

    usermod -aG davfs2 <username>
    
  4. Deseguido, cree un directorio nextcloud no seu directorio persoal para o punto de montaxe e .davfs2/ para o seu ficheiro de configuración persoal:

    mkdir ~/nextcloud
    mkdir ~/.davfs2
    
  5. Copie /etc/davfs2/secrets en ~/.davfs2:

    cp  /etc/davfs2/secrets ~/.davfs2/secrets
    
  6. Póñase como propietario e faga que os permisos de lectura-escritura sexan só do propietario:

    chown <linux_username>:<linux_username> ~/.davfs2/secrets
    chmod 600 ~/.davfs2/secrets
    
  7. Engada as súas credenciais de acceso a Nextcloud ao final do ficheiro secrets, empregando o URL do servidor de Nextcloud e o seu nome de usuario e contrasinal de Nextcloud:

    https://example.com/nextcloud/remote.php/dav/files/USERNAME/ <username> <password>
    or
    $PathToMountPoint $USERNAME $PASSWORD
    for example
    /home/user/nextcloud john 1234
    
  8. Engada a información de montaxe a /etc/fstab:

    https://example.com/nextcloud/remote.php/dav/files/USERNAME/ /home/<linux_username>/nextcloud davfs user,rw,auto 0 0
    
  9. Deseguido, probe que se monta e autentica executando a seguinte orde. Se a estabeleceu correctamente, non necesitará permisos raíz (root):

    mount ~/nextcloud
    
  10. Tamén debería poder desmontalo:

    umount ~/nextcloud
    

Agora, cada vez que acceda ao seu sistema Linux, o seu recurso compartido de Nextcloud debería montarse automaticamente a través de WebDAV no seu directorio ~/nextcloud. Se prefire montalo manualmente, cambie auto a noauto en /etc/fstab.

Problemas coñecidos

Problema

Recurso non dispoñíbel temporalmente

Solución

Se ten problemas ao crear un ficheiro no directorio, edite /etc/davfs2/davfs2.conf e engada:

use_locks 0

Problema

Advertencias de certificados

Solución

Se usa un certificado autoasinado, recibirá un aviso. Para cambialo, cómpre configurar davfs2 para recoñecer o seu certificado. Copie omeucertificado.pem a /etc/davfs2/certs/. Deseguido, edite /etc/davfs2/davfs2.conf e descomente a liña servercert. Engada agora a ruta do seu certificado coma neste exemplo:

servercert /etc/davfs2/certs/mycertificate.pem

Acceder a ficheiros mediante macOS

Nota

O Finder de MacOS ten unha serie de problemas de implementación e só se debe usar se o servidor de Nextcloud funciona con Apache e mod_php, ou Nginx 1.3.8+. Entre os clientes alternativos compatíbeis con macOS, capaces de acceder ás accións de WebDAV, inclúense aplicacións de código aberto como Cyberduck (ver instrucións aquí) e Filezilla. Os clientes comerciais inclúen Mountain Duck, Forklift, Transmit, e Commander One.

Para acceder a ficheiros a través do Finder do macOS:

  1. Na barra de menú superior do Finder, escolla Ir → Conectar co servidor….

    Captura de pantalla de como introducir o enderezo do servidor Nextcloud en macOS
  2. Cando se abra a xanela Conectar co servidor…, introduza o enderezo WebDAV do servidor de Nextcloud no campo Enderezo do servidor:, é dicir:

    https://cloud.YOURDOMAIN.com/remote.php/dav/files/USERNAME/
    
    Captura de pantalla: introduza o enderezo do servidor Nextcloud no cadro de diálogo «Conectar co servidor…».
  3. Prema en Conectar. O servidor WebDAV debería aparecer no escritorio como unha unidade de disco compartida.

Acceder aos ficheiros mediante Windows de Microsoft

Se usa a implementación nativa de Windows de WebDAV, pode asignar Nextcloud a unha nova unidade mediante Windows Explorer. A asignación a unha unidade permítelle buscar ficheiros almacenados nun servidor Nextcloud do xeito que faría para buscar ficheiros almacenados nunha unidade de rede asignada.

O uso desta funcionalidade require conectividade en rede. Se quere almacenar os seus ficheiros sen conexión, use o cliente de escritorio para sincronizar todos os ficheiros de Nextcloud cun ou varios directorios do disco ríxido local.

Nota

Windows 10 agora permite a autenticación básica se HTTPS está activado antes de asignar a súa unidade.

Nas versións anteriores de Windows, debe permitir o uso da autenticación básica no Rexistro de Windows:

  • Inicie regedit e desprácese ata HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters.

  • Cree ou edite BasicAuthLevel (Windows Vista, 7 e 8) ou UseBasicAuth (Windows XP e Windows Server 2003), o valor DWORD e estabeleza os seus datos de valor en 1 para conexións SSL. Un valor de 0 significa que a autenticación básica está desactivada e un valor de 2 permite conexións SSL e non SSL (non recomendado).crear

  • A continuación, saia do Editor do Rexistro e reinicie o computador.

Asignar as unidades coa liña de ordes

O seguinte exemplo amosa como asignar unha unidade usando a liña de ordes . Para asignar a unidade:

  1. Abrir o símbolo do sistema (liña de ordes) en Windows.

  2. Introduza a seguinte liña no símbolo do sistema para asignar a unidade Z do computador:

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

    con <drive_path> como URL para o seu servidor Nextcloud. Por exemplo:

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

    O computador asigna os ficheiros da súa conta de Nextcloud coa unidade da letra Z.

Erro

If you get the following error System error 67 has occurred. The network name cannot be found., or frequent disconnections, open the Services app and make sure that the WebClient service is running and started automatically at startup.

Nota

Aínda que non se recomenda, tamén pode montar o servidor Nextcloud usando HTTP, deixando a conexión sen cifrar.

Se ten previsto usar conexións HTTP en dispositivos mentres está nun lugar público, recomendámoslle encarecidamente que utilice un túnel VPN para fornecer a seguranza necesaria.

Unha sintaxe de orde alternativa é:

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

Asignar as unidades con Windows Explorer

Para asignar unha unidade mediante Windows Explorer de Microsoft:

  1. Open Windows Explorer on your MS Windows computer.

  2. Prema co botón dereito do rato sobre a entrada Computador e seleccione Asignar unidade en rede… no menú despregábel.

  3. Escolla unha unidade na rede local na que quere asignar Nextcloud.

  4. Especifique o enderezo da súa instancia de Nextcloud, seguida de /remote.php/dav/files/NOMEdeUSUARIO/.

    Por exemplo:

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

    Nota

    No caso de servidores protexidos por SSL, verifique Reconectar no acceso para asegurarse de que a asignación é persistente nos reinicios posteriores. Se quere conectarse ao servidor de Nextcloud como usuario diferente, verifique Conectar usando credenciais diferentes.

    Captura de pantalla da asignación de WebDAV no Windows Explorer
  1. Prema no botón Finalizar.

O Windows Explorer asigna a unidade en rede, facendo que a súa instancia de Nextcloud estea dispoñíbel.

Acceder aos ficheiros mediante Cyberduck

Cyberduck é un navegador FTP, SFTP, WebDAV, OpenStack Swift e Amazon S3 de código aberto, deseñado para a transferencia de ficheiros en macOS e Windows.

Nota

Este exemplo usa a versión 4.2.1 de Cyberduck.

Para usar Cyberduck:

  1. Especifique un servidor sen ningunha información de protocolo principal.

    Por exemplo: example.com

  2. Indique o porto axeitado.

    O porto que escolla depende de se o seu servidor de Nextcloud admite ou non SSL. Cyberduck precisa que seleccione un tipo de conexión diferente se pretende usar SSL.

    Por exemplo:
    • 80 para WebDAV sen cifrar

    • 443 para WebDAV seguro (HTTPS/SSL)

  3. Use o menú despregábel «Máis opcións» para engadir o resto do seu URL de WebDAV no campo «Ruta».

    Por exemplo: remote.php/dav/files/USERNAME/

Agora Cyberduck activa o acceso dos ficheiros ao servidor de Nextcloud.

Acceder a comparticións públicas mediante WebDAV

Nextcloud fornece a posibilidade de acceder a comparticións públicas mediante WebDAV.

Para acceder á compartición pública, abra:

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

nun cliente WebDAV, use o testemuño de compartir como nome de usuario e o contrasinal de compartir (opcional) como contrasinal. Por exemplo, cunha ligazón para compartir https://example.com/s/kFy9Lek5sm928xP, kFy9Lek5sm928xP será o nome de usuario.

Nota

AxustesAdministraciónCompartirPermitirlle aos usuarios deste servidor enviar comparticións a outros servidores. Esta opción tamén permite o acceso de WebDAV a comparticións públicas e cómpre activala para que esta funcionalidade funcione, agás se se está a usar cURL (vexa embaixo).

Problemas coñecidos

Problema

Windows non se conecta usando HTTPS.

Solución 1

O cliente WebDAV de Windows podería non admitir a «indicación de nome de servidor» (SNI) nas conexións cifradas. Se atopa un erro ao montar unha instancia de Nextcloud cifrada con SSL, póñase en contacto co seu provedor para que lle asigne un enderezo IP dedicado ao seu servidor baseado en SSL.

Solución 2

O cliente WebDAV de Windows podería non admitir conexións TLSv1.1 e TLSv1.2. Se restrinxiu a configuración do servidor para que só forneza TLSv1.1 e superior a conexión ao servidor pode fallar. Para obter máis información, consulte a documentación WinHTTP.

Problema

Recibe a seguinte mensaxe de erro: Erro 0x800700DF: o tamaño do ficheiro supera o límite permitido e non é posíbel gardalo.

Solución

Windows limita o tamaño máximo que pode ter un ficheiro transferido de ou a unha compartición de WebDAV. Pode aumentar o valor FileSizeLimitInBytes en HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters premendo en Modificar.

Para aumentar o límite ao valor máximo de 4GB, seleccione Decimal, introduza un valor de 4294967295 e reinicie Windows ou reinicie o servizo WebClient.

Problema

Engadir unha unidade WebDAV en Windows a través dos pasos descritos anteriormente non amosa o tamaño correcto do espazo dispoñíbel en Nextcloud e, no seu lugar, amosa o tamaño da unidade C: co seu espazo dispoñíbel

Resposta

Desafortunadamente, esta é unha limitación do propio WebDAV, porque non fornece un xeito para que o cliente obteña o espazo libre dispoñíbel do servidor. Windows retrocede automaticamente para amosar o tamaño da unidade C: co seu espazo dispoñíbel. Desafortunadamente, non hai unha solución real a este problema.

Problema

O acceso aos seus ficheiros dende o Office de Microsoft a través de WebDAV falla.

Solución

Os problemas coñecidos e as súas solucións están documentados no artigo KB2123563.

Problema

Non é posíbel asignar o Nextcloud como unidade WebDAV en Windows mediante certificado autoasinado.

Solución

  1. Acceda á súa instancia de Nextcloud a través do seu navegador web favorito.

  2. Prema ata chegar ao erro do certificado na liña de estado do navegador.

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

  4. Garde o ficheiro no seu escritorio cun nome arbitrario, por exemplo omeuNextcloud.pem.

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

  6. Vaia a Ficheiro, Engadir/retirar complemento.

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

  8. Baixe ata Entidades de certificación raíz de confianza, Certificados

  9. Prema co botón dereito do rato no certificado, seleccione Todas as tarefas e Importar.

  10. Seleccione o certificado gardado no escritorio.

  11. Seleccione Colocar todos os certificados no seguinte almacén e prema en Examinar,

  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. Comprobe a lista para asegurarse de que aparece o certificado. Probabelmente necesite Actualizar antes de velo.

  14. Saia de MMC

Para usuarios de Firefox:

  1. Inicie o seu navegador, vaia ao menú de Aplicacións → Historial → Borrar o historial recente…

  2. Seleccione «Todo» no menú despregábel «Intervalo de tempo para borrar».

  3. Seleccione a caixa de verificación «Accesos activos».

  4. Prema no botón «Borrar agora».

  5. Peche o navegador, volva abrilo e probe.

Para usuarios de navegadores baseados en Chrome (Chrome, Chromium, Microsoft Edge):

  1. Abra o Panel de control de Windows, despracese ata Opcións de Internet

  2. Na lapela Contido, prema no botón Borrar estado SSL.

  3. Peche o navegador, volva abrilo e probe.

Acceder a ficheiros mediante cURL

Dado que WebDAV é unha extensión de HTTP, pódese usar cURL para scripts de operacións de ficheiros.

Nota

AxustesAdministraciónCompartirPermitir que os usuarios deste servidor envíen recursos compartidos a outros servidores. Se esta opción está desactivada, a opción --header "X-Requested-With: XMLHttpRequest" debe pasarse a cURL.

Para crear un cartafol coa data actual como nome:

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

Para enviar un ficheiro error.log cara a ese directorio:

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

Para mover un ficheiro:

$ 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

Para obter as propiedades dos ficheiros no cartafol raíz:

    $ 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>

Acceder a ficheiros usando WinSCP

WinSCP é un cliente SFTP, FTP, WebDAV, S3 e SCP libre e de balde para Windows. A súa función principal é a transferencia de ficheiros entre un computador local e un remoto. Ademais, WinSCP ofrece scripts e funcionalidades básicas de xestión de ficheiros.

Pode descargar a versión portátil de WinSCP e executala en Linux mediante Wine.

Para executar WinSCP en Linux, descargue wine a través do xestor de paquetes da súa distribución e, a continuación, execute a orde: wine WinSCP.exe.

Para conectar con Nextcloud:

  • Inicie WinSCP

  • Prema «Sesión» no menú

  • Prema na opción de menú «Nova sesión».

  • No menú despregábel, estabeleza «Protocolo de ficheiros» como WebDAV

  • No menú despregábel, estabeleza «Cifrado» como Cifrado implícito TLS/SSL

  • Encha o campo do nome do servidor: example.com

  • Encha o campo do nome de usuario: NOMEdeUSUARIOdeNEXTCLOUD

  • Encha o campo do contrasinal: CONTRASINALdeNEXTCLOUD

  • Prema o botón «Avanzado…».

  • Desprácese a «Contorno», «Directorios» no lado esquerdo

  • Encha o campo «Directorio remoto» co seguinte: /nextcloud/remote.php/dav/files/NOMEdeUSUARIOdeNEXTCLOUD/

  • Prema o botón «Aceptar».

  • Prema o botón «Gardar».

  • Seleccione as opcións desexadas e prema o botón «Aceptar».

  • Premeao botón «Acceso» para conectar con Nextcloud

Nota

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