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://
:
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/
Usted puede crear un enlace permanente a su servidor Nextcloud:
Abra Dolphin y seleccione «Red» en «Ubicaciones», en la columna de la izquierda.
Haga clic en el icono llamado Añadir una Carpeta de Red. El diálogo resultante debería aparecer con WebDAV preseleccionado.
Si WebDAV no está seleccionado, selecciónelo.
Haga clic en Siguiente.
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/
.
(Opcional) Marque la casilla «Crear icono» para que aparezca un marcador en la columna Ubicaciones
(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.
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
Utilice este comando para instalarlo en CentOS, Fedora y openSUSE:
yum install davfs2
Añádase al grupo
davfs2
:usermod -aG davfs2 <username>
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
Copie
/etc/davfs2/secrets
a~/.davfs2
:cp /etc/davfs2/secrets ~/.davfs2/secrets
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
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
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
Y entonces compruebe que se monta y autentica, ejecutando el siguiente comando. Si lo ha configurado correctamente, no necesitará permisos de administrador:
mount ~/nextcloud
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:
Desde la barra de menú de Finder, elija Ir > Conectarse a un servidor…:
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/
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 aHKEY_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 a1
para conexiones SSL. Un valor de0
significa que la Autenticación Básica está deshabilitada, y, un valor de2
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:
Abra la línea de comandos o Símbolo del Sistema en Windows.
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:
Abra el Explorador de Windows en su ordenador Microsoft Windows.
Haga clic derecho en la entrada Este equipo y seleccione Conectar a unidad de red… en el menú desplegable.
Seleccione una unidad de red local a la que quiera asignar Nextcloud.
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.
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:
Especifique un servidor sin el prefijo que indica el protocolo.
Por ejemplo:
example.com
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 cifrado443
para WebDAV seguro (HTTPS/SSL)
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.
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
Acceda a su instancia de Nextcloud a través de su navegador web favorito.
Entre hasta el error de certificado en la barra de estado del navegador.
View the certificate, then from the Details tab, select “Copy to File”.
Guárdelo al escritorio con un nombre arbitrario, por ejemplo
myNextcloud.pem
.Go to Start menu > Run, type MMC, and click “OK” to open Microsoft Management Console.
Vaya a Archivo > Añadir/Quitar complemento.
Select Certificates, Click “Add”, choose “My User Account”, then “Finish”, and finally “OK”.
Baje a Entidades de certificación raíz de confianza, Certificados.
Haga clic derecho en Certificado, Seleccionar todas las tareas, e Importar.
Seleccione el certificado guardado desde el Escritorio.
Seleccione Colocar todos los certificados en el siguiente almacén, y haga clic en Examinar.
Check the Box that says Show Physical Stores, expand out Trusted Root Certification Authorities, select Local Computer there, click “OK”, and Complete the Import.
Compruebe la lista para asegurarse de que el certificado aparece. Probablemente tendrá que refrescar antes de verlo.
Salir de MMC.
Para usuarios de Firefox:
Lance el navegador, vaya al menú de Aplicación > Historial > Limpiar el historial reciente…
Seleccione “Todo” en el menú desplegable “Rango de tiempo a limpiar”
Seleccione la casilla “Inicios de sesión activos”
Haga clic en el botón “Limpiar ahora”
Cierre el navegador, luego vuelva a abrirlo y pruebe.
Para los usuarios que usan navegadores basados en Chrome (Chrome, Chromium, Microsoft Edge):
Abra el Panel de Control de Windows, navegue hasta Opciones de Internet
En la pestaña de contenido, haga clic en el botón Limpiar Estado SSL.
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ón → Administración → Compartir → Permitir 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).