Acceder a los archivos de Nextcloud a través de WebDAV

Nextcloud soporta completamente el protocolo WebDAV, y usted puede conectar y sincronizar con Archivos de Nextcloud a través de WebDAV. En este capítulo, aprenderá cómo conectar dispositivos Linux, macOS, Windows y móviles a su 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 configurar WebDAV, démosle una mirada rápida a la forma recomendada de conectar dispositivos cliente a Nextcloud.

Clientes oficiales Nextcloud para escritorio y móviles

El modo recomendado de sincronizar un PC de escritorio con un servidor Nextcloud es usando clientes oficiales de sincronización de Nextcloud. Puede configurar los clientes para guardar archivos en cualquier directorio local y puede elegir qué directorios sincronizar del servidor Nextcloud. El cliente muestra el estado de la conexión actual y registra toda la actividad, de modo que usted siempre pueda verificar que los archivos creados y actualizados en su ordenador estén adecuadamente sincronizados con el servidor.

El modo recomendado de sincronizar dispositivos Android o Apple iOS es utilizando las aplicaciones oficiales móviles Nextcloud.

Para conectar las aplicaciones oficiales Nextcloud a un servidor Nextcloud utilice el mismo URL que utiliza para acceder a Nextcloud desde su navegador web / p.ej.:

https://cloud.example.com

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

Clientes WebDAV de terceros

Si lo prefiere, puede conectar su computador a su servidor Nextcloud utilizando cualquier cliente de terceros que soporte el protocolo WebDAV (incluyendo aquellos que podrían estar ya incluidos en su sistema operativo)

Puede utilizar clientes compatibles con WebDAV de terceros para conectar su dispositivo móvil a Nextcloud.

Cuando utilice clientes de terceros, tenga en cuenta que podrían no estar optimizados para su uso con Nextcloud o implementar funcionalidades que Ud. considere importantes para su caso de uso.

Los clientes móviles que los miembros de la comunidad de Nextcloud han reportado estar usando incluyen:

La URL que debe utilizar cuando configure aplicaciones de terceros para conectarse a Nextcloud es un poco más larga que la que se usa para los clientes oficiales:

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

En los siguientes ejemplos, debe reemplazar example.com/nextcloud con la URL de su servidor Nextcloud (omita el directorio si su instalación está en la raíz de su dominio), y USUARIO con el nombre de usuario con el que se va a conectar.

Vea la URL WebDAV (abajo a la izquierda en ajustes) en su Nextcloud.

Acceder a archivos desde Linux

Usted puede acceder a sus archivos desde sistemas operativos Linux utilizando los siguientes métodos.

Gestor de archivos Nautilus

Cuando configure su cuenta Nextcloud en el Centro de Control GNOME, Nautilus montará sus archivos automáticamente como una unidad compartida WebDAV, a menos que deseleccione acceso a archivos.

También puede montar sus archivos de Nextcloud manualmente. Utilice el protocolo davs:// para conectar el gestor de archivos Nautilus a su carpeta compartida en Nextcloud:

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

Nota

Si conexión al servidor no está protegida por HTTPS, utilice dav:// en lugar de davs://:

Captura de pantalla de la configuración del gestor de archivos Nautilus para utilizar WebDAV

Nota

El mismo método funciona para otros gestores de archivos que utilizan GVFS, como por ejemplo Caja en el entorno MATE y Nemo en Cinnamon.

Acceder a archivos con KDE y el gestor de archivos Dolphin

Para acceder a sus archivos de Nextcloud utilizando el gestor de archivos Dolphin en KDE, utilice el protocolo webdav://:

webdav://example.com/nextcloud/remote.php/dav/files/USERNAME/
Captura de pantalla de la configuración del gestor de archivos Dolphin para utilizar WebDAV

Usted puede crear un enlace permanente a su servidor Nextcloud:

  1. Abra Dolphin y seleccione «Red» en «Ubicaciones», en la columna de la izquierda.

  2. Haga clic en el icono llamado Añadir una Carpeta de Red. El diálogo resultante debería aparecer con WebDAV preseleccionado.

  3. Si WebDAV no está seleccionado, selecciónelo.

  4. Haga clic en Siguiente.

  5. Introduzca los siguientes ajustes:

    • Nombre: El nombre que quiere ver en el marcador de Ubicaciones, por ejemplo, Nextcloud.

    • Usuario: El nombre de usuario Nextcloud que utiliza para iniciar sesión, por ejemplo admin.

    • Servidor: El nombre de dominio de Nextcloud, por ejemplo example.com (sin el prefijo http:// antes o los directorios luego).

    • Carpeta – Introduzca la ruta nextcloud/remote.php/dav/files/USUARIO/.

  6. (Opcional) Marque la casilla «Crear icono» para que aparezca un marcador en la columna Ubicaciones

  7. (Opcional) Proporcione cualquier ajuste especial o un certificado SSL en la casilla «Puerto y encriptado».

Crear una unidad WebDAV en la consola de Linux

Usted puede crear una unidad WebDAV desde la consola de Linux. Esto es útil si prefiere acceder a Nextcloud del mismo modo que cualquier otra unidad del sistema de archivos. El siguiente ejemplo muestra cómo crear una unidad personal y configurarla para que se monte automáticamente cada vez que inicie sesión en su ordenador Linux.

  1. Instale el driver davfs2 para el sistema de archivos WebDAV, que le permite montar unidades WebDAV como cualquier otro sistema de archivos remoto. Utilice este comando para instalarlo en Debian/Ubuntu:

    apt-get install davfs2
    
  2. Utilice este comando para instalarlo en CentOS, Fedora y openSUSE:

    yum install davfs2
    
  3. Añádase al grupo davfs2:

    usermod -aG davfs2 <username>
    
  4. A continuación, cree un directorio nextcloud en su directorio de usuario para el punto de montaje y .davfs2/ para su archivo de configuración personal:

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

    cp  /etc/davfs2/secrets ~/.davfs2/secrets
    
  6. Establézcase como el propietario y seleccione permisos de lectura y escritura para el propietario exclusivamente:

    chown <linux_username>:<linux_username> ~/.davfs2/secrets
    chmod 600 ~/.davfs2/secrets
    
  7. Añada sus credenciales de acceso a Nextcloud al final del archivo secrets, utilizando su URL del servidor Nextcloud y su nombre de usuario y contraseña 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. Añada la información de la unidad a /etc/fstab:

    https://example.com/nextcloud/remote.php/dav/files/USERNAME/ /home/<linux_username>/nextcloud davfs user,rw,auto 0 0
    
  9. Y entonces compruebe que se monta y autentica, ejecutando el siguiente comando. Si lo ha configurado correctamente, no necesitará permisos de administrador:

    mount ~/nextcloud
    
  10. También debería ser capaz de desmontarla:

    umount ~/nextcloud
    

Ahora cada vez que inicie sesión en su sistema Linux, su unidad Nextcloud debería montarse automáticamente vía WebDAV en su directorio ~/nextcloud. Si prefiere montarlo manualmente, cambie auto por noauto en /etc/fstab.

Problemas conocidos

Problema

Recurso temporalmente no disponible

Solución

Si tiene problemas al crear un archivo en el directorio, edite /etc/davfs2/davfs2.conf y añada:

use_locks 0

Problema

Avisos de certificados

Solución

Si utiliza un certificado auto-firmado, recibirá un aviso. Para evitarlo, configure davfs2 para que reconozca su certificado. Copie mycertificate.pem a /etc/davfs2/certs/, edite /etc/davfs2/davfs2.conf y descomente la línea servercert. Entonces puede añadir la ruta del su certificado, como en este ejemplo:

servercert /etc/davfs2/certs/mycertificate.pem

Acceder a archivos desde macOS

Nota

Finder de macOS sufre una serie de problemas de implementación y solo debe ser usado si el servidor Nextcloud funciona con Apache y mod_php, o Nginx 1.3.8+. Existen otros clientes compatibles con macOS capaces de acceder a unidades WebDAV, como las aplicaciones de código abierto Cyberduck (ver instrucciones aquí) y Filezilla. También existen clientes comerciales como Mountain Duck, Forklift, Transmit, y Commander One.

Para acceder archivos a través de Finder en macOS:

  1. Desde la barra de menú de Finder, elija Ir > Conectarse a un servidor…:

    Captura de pantalla al ingresar la dirección de su servidor Nexcloud en macOS
  2. Cuando la ventana Conectarse a un servidor… se abra, introduzca la dirección WebDAV del servidor Nextcloud en el campo Dirección del servidor, p. ej.:

    https://cloud.YOURDOMAIN.com/remote.php/dav/files/USERNAME/
    
    Captura de pantalla: Ingrese la dirección del servidor Nextcloud en el cuadro de diálogo "Conectarse al servidor..."
  3. Haga clic en Conectar. Su servidor WebDAV debería aparecer en el Escritorio como una unidad de disco compartido.

Acceder a ficheros desde Microsoft Windows

Si utiliza la implementación nativa WebDAV de Windows, puede asignar Nextcloud a una nueva unidad utilizando el explorador de Windows. Asignar una unidad le permitirá explorar los archivos guardados en un servidor Nextcloud del mismo modo que lo haría con archivos guardados en una unidad de red.

Esta herramienta requiere conectividad a la red. Si quiere acceder a sus archivos sin conexión, utilice el Cliente de Escritorio para sincronizar todos sus archivos de Nextcloud en uno o más carpetas de su disco duro local.

Nota

Windows 10 permitirá la Autenticación Básica por defecto si se habilita HTTPS antes de asignar su unidad.

En versiones más antiguas de Windows, debe permitir el uso de la Autenticación Básica en el registro de Windows:

  • Lance regedit y navegue a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters.

  • Cree o edite el renglón DWORD BasicAuthLevel (Windows Vista, 7 y 8), ó UseBasicAuth (Windows XP y Windows Server 2003), y establezca su valor de datos a 1 para conexiones SSL. Un valor de 0 significa que la Autenticación Básica está deshabilitada, y, un valor de 2 permite tanto conexiones SSL como conexiones no-SSL (no se recomienda).

  • A continuación, cierre el editor del registro y reinicie el computador.

Asignar unidades desde la línea de comandos

El siguiente ejemplo muestra cómo asignar una unidad utilizando la línea de comandos. Para asignar la unidad:

  1. Abra la línea de comandos o Símbolo del Sistema en Windows.

  2. Introduzca la siguiente línea en la línea de comandos para asignar a la unidad Z de su ordenador:

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

    con <drive_path> como la URL de su servidor Nextcloud. Por ejemplo:

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

    El ordenador asigna a la unidad Z los archivos de su cuenta de Nextcloud.

Error

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

Aunque no se recomienda, también puede montar el servidor Nextcloud utilizando HTTP, dejando la conexión sin encriptar.

Si planea utilizar conexiones HTTP en cualquier dispositivo mientras está en un lugar público, le recomendamos con ahínco que utilice un túnel VPN para que este le provea la seguridad necesaria.

Una sintaxis alternativa del comando es:

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

Asignar unidades desde el Explorador de Archivos de Windows

Para asignar una unidad usando el Explorador de Archivos de Microsoft Windows:

  1. Abra el Explorador de Windows en su ordenador Microsoft Windows.

  2. Haga clic derecho en la entrada Este equipo y seleccione Conectar a unidad de red… en el menú desplegable.

  3. Seleccione una unidad de red local a la que quiera asignar Nextcloud.

  4. Especifique la dirección de su instancia de Nextcloud, seguida por /remote.php/dav/files/USUARIO/.

    Por ejemplo:

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

    Nota

    Para servidores protegidos con SSL, seleccione Conectar de nuevo al iniciar sesión para garantizar que la asignación persiste en los siguientes arranques del sistema. Si quiere conectarse al servidor Nextcloud con otro usuario, marque Conectar utilizando credenciales diferentes.

    Captura de pantalla de la asignación de WebDAV en el explorador de Windows
  1. Haga clic en el botón Finalizar.

El Explorador de archivos de Windows asigna la unidad de red, dándole acceso a su instancia de Nextcloud.

Acceder a archivos desde Cyberduck

Cyberduck es un explorador de FTP, SFTP, WebDAV, OpenStack Swift y de Amazon S3 de código abierto, diseñado para la transferencia de archivos en macOS y Windows.

Nota

Este ejemplo utiliza Cyberduck versión 4.2.1.

Para utilizar Cyberduck:

  1. Especifique un servidor sin el prefijo que indica el protocolo.

    Por ejemplo: example.com

  2. Especifique el puerto apropiado.

    El puerto a elegir depende de si su servidor Nextcloud soporta SSL o no. Cyberduck requiere que seleccione un tipo de conexión distinto si planea utilizar SSL.

    Por ejemplo:
    • 80 para WebDAV no cifrado

    • 443 para WebDAV seguro (HTTPS/SSL)

  3. Utilice el menú desplegable “Más Opciones” para añadir el resto de su URL WebDAV en el campo “Ruta”.

    Por ejemplo: remote.php/dav/files/USUARIO/

Ahora Cyberduck le permite el acceso a ficheros de su servidor Nextcloud.

Acceder a archivos compartidos públicamente a través de WebDAV

Nextcloud ofrece la posibilidad de acceder a archivos compartidos públicamente a través de WebDAV.

Para acceder a un archivo compartido públicamente, abra:

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

En un cliente WebDAV, utilice el token del recurso compartido como el nombre de usuario y la contraseña del recurso compartido (opcional) como contraseña. Por ejemplo, en un enlace compartido https://example.com/s/kFy9Lek5sm928xP, kFy9Lek5sm928xP será el nombre de usuario.

Nota

ConfiguraciónAdministraciónCompartirPermitir a los usuarios de este servidor compartir con usuarios de otros servidores. Esta opción también habilita el acceso a recursos compartidos públicamente a través de WebDAV, y debe estar habilitada para que esta característica funcione, excepto si cURL está en uso (ver abajo).

Problemas conocidos

Problema

Windows no se conecta usando HTTPS.

Solución 1

Puede que el cliente WebDAV de Windows no soporte la indicación del nombre de servidor (Server Name Indication o SNI) en conexiones encriptadas. Si se encuentra con un error al asignar a una instancia encriptada por SSL de Nextcloud, contacte con su proveedor para que le asigne una dirección IP dedicada para su servidor con SSL.

Solución 2

Puede que el cliente de WebDAV de Windows no soporte conexiones TLSv1.1 y TLSv1.2. Si la configuración de su servidor está restringida a las versiones TLSv1.1 y superior, la conexión a su servidor puede fallar. Por favor, consulte la documentación de WinHTTP para obtener más información.

Problema

Recibe el siguiente mensaje: Error 0x800700DF: El tamaño del archivo excede el límite permitido y no puede ser guardado.

Solución

Windows limita el tamaño máximo que puede tener un archivo transferido desde o a una unidad compartida WebDAV. Puede incrementar el valor FileSizeLimitInBytes en HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters haciendo clic en Modificar.

Para incrementar el valor máximo a 4GB, seleccione Decimal, introduzca el valor 4294967295, y reinicie Windows o el servicio WebClient.

Problema

Añadir una unidad WebDAV en Windows usando los pasos descritos anteriormente no mostrará el tamaño disponible correcto en Nextcloud y en vez de eso, mostrará el tamaño de la unidad C: con su espacio disponible.

Respuesta

Desafortunadamente, esta es una limitación del mismo WebDAV, ya que no provee formas en las que el cliente obtenga el espacio disponible desde el servidor. Windows, en cambio, se revierte automáticamente a mostrar el tamaño de la unidad C: con su espacio disponible. Así que, desafortunadamente, no hay solución real a este problema.

Problema

El acceso a sus archivos desde Microsoft Office a través de WebDAV falla.

Solución

Los problemas conocidos y sus soluciones están documentados en el artículo KB2123563.

Problema

No se puede asignar Nextcloud a una unidad WebDAV en Windows utilizando un certificado auto-firmado.

Solución

  1. Acceda a su instancia de Nextcloud a través de su navegador web favorito.

  2. Entre hasta el error de certificado en la barra de estado del navegador.

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

  4. Guárdelo al escritorio con un nombre arbitrario, por ejemplo myNextcloud.pem.

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

  6. Vaya a Archivo > Añadir/Quitar complemento.

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

  8. Baje a Entidades de certificación raíz de confianza, Certificados.

  9. Haga clic derecho en Certificado, Seleccionar todas las tareas, e Importar.

  10. Seleccione el certificado guardado desde el Escritorio.

  11. Seleccione Colocar todos los certificados en el siguiente almacén, y haga clic 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. Compruebe la lista para asegurarse de que el certificado aparece. Probablemente tendrá que refrescar antes de verlo.

  14. Salir de MMC.

Para usuarios de Firefox:

  1. Lance el navegador, vaya al menú de Aplicación > Historial > Limpiar el historial reciente…

  2. Seleccione “Todo” en el menú desplegable “Rango de tiempo a limpiar”

  3. Seleccione la casilla “Inicios de sesión activos”

  4. Haga clic en el botón “Limpiar ahora”

  5. Cierre el navegador, luego vuelva a abrirlo y pruebe.

Para los usuarios que usan navegadores basados en Chrome (Chrome, Chromium, Microsoft Edge):

  1. Abra el Panel de Control de Windows, navegue hasta Opciones de Internet

  2. En la pestaña de contenido, haga clic en el botón Limpiar Estado SSL.

  3. Cierre el navegador, luego vuelva a abrirlo y pruebe.

Acceder a archivos desde cURL.

Como WebDAV es una extensión de HTTP, se puede utilizar cURL para programar o automatizar operaciones sobre archivos.

Nota

ConfiguraciónAdministraciónCompartirPermitir a los usuarios de este servidor compartir con usuarios de otros servidores. Si esta opción está deshabilitada, la se debe añadir la siguiente opción a cURL: --header "X-Requested-With: XMLHttpRequest".

Para crear una carpeta con la fecha actual como nombre:

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

Para subir el archivo error.log a esa carpeta:

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

$ 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 obtener las propiedades de los archivos de la carpeta 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 archivos utilizando WinSCP

WinSCP es un cliente SFTP, FTP, WebDAV, S3 y SCP de código abierto para Windows. Su función principal es transferir archivos entre un computador local y uno remoto. Más allá de esto, WinSCP ofrece características de scripting y características básicas para administración de archivos.

Puede descargar la versión portatil de WinSCP y ejecutarla en Linux usando Wine.

Para ejecutar WinSCP en Linux, descargue wine a través de la herramienta de gestión de paquetes de su distribución y entonces ejecútela usando el comando: wine WinSCP.exe.

Para conectarse a Nextcloud:

  • Iniciar WinSCP

  • Pulse “Sesión” en el menú

  • Pulse la opción del menú “Nueva Sesión”

  • Establecer el desplegable para “Protocolo de archivo” a WebDAV

  • Establezca el desplegable de “Cifrado” a Cifrado implícito TLS/SSL

  • Rellene el campo de nombre de host: example.com

  • Rellene el campo de nombre de usuario: USUARIONEXTCLOUD

  • Rellene el campo de contraseña: CONTRASEÑANEXTCLOUD

  • Pulse el botón “Advanced…”

  • Navegue a “Environment”, “Directories” en su lado izquierdo

  • Rellene el campo “Directorio Remoto” con lo siguiente: /nextcloud/remote.php/dav/files/USUARIONEXTCLOUD/

  • Pulse el botón “OK”

  • Pulse el botón “Save”

  • Seleccione las opciones deseadas y pulse el botón “OK”

  • Pulse el botón “Login” para conectarse a 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).