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

Nextcloud soporta completamente el protocolo WebDAV, y usted puede conectar y sincronizar sus 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 vía WebDAV. Antes de empezar la configuración de WebDAV, veamos la forma recomendada de conectar dispositivos clientes a su servidor Nextcloud.

Nota

En los siguientes ejemplos, debe reemplazar example.com/nextcloud por 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.

Nota

En los siguientes ejemplos, debe utilizar una contraseña de aplicación para iniciar sesión, que puede generar en sus ajustes de seguridad.

Clientes de escritorio y móvil Nextcloud

El modo recomendado de sincronizar un PC de escritorio con un servidor Nextcloud es usando clientes de sincronización de Nextcloud/ownCloud. 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 un servidor Nextcloud con un dispositivo Android o Apple iOS es utilizando las aplicaciones móviles.

Para conectar su aplicación móvil a un servidor Nextcloud utilice la URL base y la carpeta solamente:

example.com/nextcloud

Además de las aplicaciones móviles proporcionadas por Nextcloud u ownCloud, puede utilizar otras aplicaciones para conectarse a Nextcloud desde su dispositivo móvil, utilizando WebDAV. WebDAV Navigator es una buena aplicación (propietaria) para dispositivos Android y iPhones. La URL que debe usar en estas es:

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

Configuración WebDAV

Si lo prefiere, también puede conectar su ordenador de escritorio a su servidor Nextcloud utilizando el protocolo WebDAV, en lugar de una aplicación dedicada. Web Distributed Authoring and Versioning (WebDAV) es una extensión del protocolo de transferencia de hipertexto (HTTP) que facilita la creación, lectura y edición de archivos en servidores web. Con WebDAV, puede acceder a sus archivos compartidos en Nextcloud desde Linux, macOS y Windows del mismo modo que cualquier otro recurso compartido en la red, y mantenerse sincronizado.

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://:

Nota

El mismo método funciona para otros gestores de archivos que utilizan GVfs, como por ejemplo Caja en el entorno MATE y Nepomuk 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/

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 administrador.
    • Servidor: El nombre de dominio de Nextcloud, por ejemplo example.com (sin el prefijo http:// o directorios detrás).
    • 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>
    
  1. 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
    
  2. Copie /etc/davfs2/secrets a ~/.davfs2:

    cp  /etc/davfs2/secrets ~/.davfs2/secrets
    
  3. 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
    
  4. 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
    
  5. 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
    
  6. Y entonces compruebe que se monta y autentica, ejecutando el siguiente comando. Si lo ha configurado correctamente, no necesitará permisos de administrador:

    mount ~/nextcloud
    
  7. 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...:
  1. Cuando la ventana Conectarse a un servidor... se abra, introduzca su dirección WebDAV del servidor Nextcloud en el campo Dirección del servidor, por ejemplo:

    https://cloud.YOURDOMAIN.com/remote.php/dav/files/USERNAME/
    
  1. 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 de Windows, puede asignar Nextcloud a una nueva unidad. Esto le permite 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

En Windows 10 se utiliza la Autenticación Básica (Basic Authentication) por defecto si tiene habilitado HTTPS antes de montar su unidad. En versiones anteriores de Windows, debe permitir el uso de la Autenticación Básica en el Registro de Windows: ejecute “regedit“ y navegue a HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebClientParameters. Cree o edite el valor DWORD “BasicAuthLevel“ (Windows Vista, 7 and 8) o “UseBasicAuth“ (Windows XP y Windows Server 2003) y asigne el valor 1 para conexiones SSL. El valor 0 equivale a deshabilitar la Autenticación Básica, y el valor 2 permite conexiones SSL y no SSL (no recomendado). A continuación salga del Editor del Registro y reinicie el ordenador.

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
    
donde <drive_path> es la URL de su servidor Nextcloud.

Por ejemplo: net use Z: https://example.com/nextcloud/remote.php/dav/files/USUARIO/ /usuario:suusuario sucontraseña

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

Nota

Aunque no está recomendado, también puede montar el servidor Nextcloud a través de HTTP, dejando la conexión sin encriptar. Si planea utilizar conexiones HTTP en dispositivos en lugares públicos, le recomendamos que utilice un túnel VPN para proveerse de la seguridad que necesita.

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. Vaya a Este equipo en el Explorador de archivos de 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 por 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 con otras credenciales.

  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 and SFTP, WebDAV, OpenStack Swift y Amazon S3 de código abierto, diseñado para transferir 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
  1. 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 va a utilizar SSL. Por ejemplo:

80 (para WebDAV)

443 (para WebDAV (HTTPS/SSL))

  1. 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 identificador del recurso compartido como nombre de usuario y la contraseña del recurso compartido (opcional) como contraseña.

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.

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

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. Vea el certificado, y desde la pestaña Detalles, seleccione Copiar en archivo...
  4. Guárdelo al escritorio con un nombre arbitrario, por ejemplo myNextcloud.pem.
  5. Menú Inicio, Ejecutar, MMC.
  6. Archivo, Agregar o quitar complemento...
  7. Seleccione Certificados, Haga clic en Agregar, Mi cuenta de usuario, Finalizar y Aceptar.
  8. Baje a Entidades de certificación raíz de confianza, Certificados.
  9. Haga clic derecho en Certificado, Seleccione Todas las tareas, Importar.
  10. Seleccione el certificado guardado del Escritorio.
  11. Seleccione Colocar todos los certificados en el siguiente almacén, y haga clic en Examinar.
  12. Seleccione la casilla Ver almacenes físicos y ahí seleccione Equipo local, haga clic en Aceptar, Complete la importación.
  13. Compruebe la lista para asegurarse de que aparece. Probablemente tendrá que refrescar para poder verlo. Salga de MMC.
  14. Abra el navegador, seleccione Herramientas, Borrar Historial de Navegación.
  15. Seleccione todos los campos excepto Datos de Filtrado In Private y complete el borrado.
  16. Vaya a Opciones de Internet, pestaña Contenido, Borrar estado SSL.
  17. Cierre el navegador, ábralo de nuevo y pruebe.

Problema

No puede descargar más de 50 MB o subir grandes ficheros cuando la subida tarda más de 30 minutos utilizando el Cliente Web en Windows 7.

Solución

Los métodos alternativos están documentados en el artículo KB2668751.

Acceder a archivos desde cURL.

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

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>