jump to navigation

Compartir ficheros por Internet (por WebDAV) 9 diciembre, 2009

Posted by ubanov in Informática-Linux.
Tags: , , , , ,
trackback

Imaginemos que tenemos la necesidad de acceder a un servidor de ficheros por Internet, todos aquellos avispados usuarios de Windows utilizando una VPN podrían conectarse a un servidor por SMB/CIFS. Cualquiera que lo haya usado sabrá que la velocidad de acceso a un servidor de ficheros de esta manera es pésima… es lento lento lento independientemente de la línea que tengas.

En estos últimos tiempos en los que todo está “conectado”, han surgido protocolos para solucionar esto. Para ello lo que se ha creado el protocolo WebDAV.

WebDAV es una ampliación del protocolo HTTP para permitir usar un servidor web como si fuese un servidor de ficheros, para ello añade nuevos métodos al protocolo HTTP (posibilidad de copiar ficheros, borrarlos, obtener información de los mismos…)

WebDAV es usado por nuevos servicios, como puede ser el iDisk de mobilme (Apple).

Para configurar WebDAV sobre una máquina Debian 5 o Ubuntu 9.10 con Apache2, la forma de hacerlo es la que se describe en la siguiente entrada.

Lo primero instalar el apache (el servidor web que recibirá las peticiones de los clientes)

sudo apt-get install apache2

Habilitar los módulos de webdav en el servidor web, para ello ejecutar las dos siguientes líneas:

sudo a2enmod dav_fs
sudo a2enmod dav

Configurar el servidor web para aceptar las entradas de webdav, para ello editar el fichero del sitio por defecto

sudo vi /etc/apache2/sites-enabled/000-default

Añadir al final del fichero (justo antes del “</VirtualHost>”):

Alias /webdav /datos
<Location /webdav>
DAV On
AuthType Basic
AuthName “webdav files”
AuthUserFile  /etc/apache2/passwd.dav
Require valid-user
</Location>

Creamos el (o los usuarios) con permisos de acceso al servidor:

sudo htpasswd /etc/apache2/passwd.dav usuario

Y por último reiniciamos el servidor apache

sudo /etc/init.d/apache2 restart

Con eso ya deberíamos tener nuestro servidor WebDAV funcionando. Una forma fácil y rápida de comprobarlo es instalar un cliente de WebDAV de línea de comando, como por ejemplo:

sudo apt-get install cadaver
cadaver http://localhost/webdav/

Si todo funciona bien perfecto, sino a “googlear” un poco😀

Si quieres acceder a tus discos desde Internet utiliza el protocolo HTTPS, no se te ocurra hacerlo por HTTP. Para crearte un certificado puedes usar la forma complicada (y elegante) que propongo en este artículo https://ubanov.wordpress.com/2009/12/02/como-crear-certificados-digitales-ser-un-ca/, o buscar por Internet otras posibilidades.

Desde una máquina con Ubuntu puedes conectarte a un servidor WebDAV desde “Lugares/Conectar con el servidor…”, la pantalla de configuración hay que rellenarla con algo parecido a lo del siguiente pantallazo:

Una vez hecho esto tendrás lo verás como si de un disco local se tratase (aunque un poco más lento, por la línea de comunicaciones).

A nivel de permisos se podrá leer y escribir en aquellos directorios en los que el usuario de apache tenga permisos (generalmente www-data).

Windows también tiene la posibilidad de conectarse a un disco WebDAV, pero aunque he probado todas las guías que he encontrado por Internet y no he conseguido hacerlo como debería. La única forma que consigo conectarme es comentando la línea “# Require valid-user”, pero entonces el servidor no tiene seguridad (se puede hacer guarrería de nombrar el directorio en lugar de como webdav, como webdav-1233972434987, por ejemplo, así lo que deberíamos adivinar es la URL🙂 Para configurar WebDAV en un Windows vas a Mi PC, pulsas con el botón derecho del ratón en cualquier sitio y eliges “Agregar ubicación de red”

Al hacer esto nos saldrá un asistente, ponemos todo por defecto hasta que nos salga la pantalla donde nos pregunta “Especifique la ubicación de su sitio web”

Desde el iPhone, utilizando la aplicación “Disks” (gratuita) también he podido acceder al servidor de mi casa, pero igual que me pasa en windows, sólo me deja si tengo los permisos quitados (sin validación). Lo malo de Disks es que me permite ver el contenido de los discos y visualizar ficheros, pero no me permite subir contenidos… Tengo pendiente probar más, actualizaré la entrada cuando lo haya hecho.

Comentarios»

1. Fede - 29 marzo, 2010

Añado tu log en espera de más actualizaciones de este post.

Felicidades.

2. Rick - 3 abril, 2010

hola, muy interesante tu post…sabes como configurarlo en windows 7? en vista funciona perfecto mas en win 7 no

ubanov - 6 abril, 2010

En win 7 no he probado… He traicionado a windwos y ahora utilizo snow leopard (mac os X), por lo que no lo he probado😦 sorry

3. alberto - 24 abril, 2012

Estoy en el mismo caso que tu, he montado el servicio webdav con la aplicación owncloud sobre un Ubuntu-Server, conecto desde ordenadores de fuera de la red, pero solo puedo visualizar y descargar, no puedo subir archivos, he trasteado con los puertos TCP/UDP pero nada, yo tambien estoy investigando, en cuanto sepa algo os lo comunico.

4. delldor - 22 diciembre, 2012

¡Saludos!
¿Hay alguna forma de guardar localmente mediante script de bash el resultado de ejecutar ls en el servidor?
Quiero implementar un script que compare el contenido de una carpeta local y una remota y suba a esta última solo lo que falte, y lo único que hago manual por el momento es obtener el listado de archivos de la remota…

Gracias por adelantado

delldor en gmail punto com

ubanov - 10 enero, 2013

y por que no pruebas algo estándar? hacer sincronización por medio de rsync?!?

No es un poco enrevesado eso?!?😀


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: