martes, 28 de septiembre de 2010

WebDav y Apache2

Problema:

Quiero poder modificar mis archivos sin necesidad de de usar ftp, ssh, sftp, etc.. solamente desde la web.

Solución:

Utilizar WebDav [1] permite modificar ver/descargar/modificar archivos desde el mismo protocolo http (WebDav es una extension del protocolo http)

Advertencia

Se recomienda utilizar el http segugo (https) para que los datos de la autenticación no viajen en texto plano, cosa que no se tocará en esta receta. La referencia completa esta en [3]

Howto

Notas preliminares

Sistema: Debian GNU/Linux Lenny i386
Apache: Version 2.2

Instalacion

Instalamos el apache2
 aptitude install apache2

Habilitamos los modulos del apache

 a2enmond auth_digest
a2enmond dav
a2enmond dav_fs
a2enmond authn_file

Creamos el archivos de usuarios/clave

 htdigest -c /var/www/webdav_passwd webdav-ejemplo manolo

Configuramos el Default VirtualHost

Pueden ver las opciones completas de webdav en [2] y de autenticacion en [3].

Alias /webdav /var/www/

Dav On
AuthType Digest
AuthName "webdav-ejemplo"
AuthDigestProvider file
AuthUserFile /var/www/webdav_passwd
Require valid-user

Reiniciamos el apache

 /etec/init.d/apache2 restart

Prueba

Instalación del cliente

  aptitude install cadaver
Probar su funcionamiento
  cadaver http://localhost/webdav/
Si todo va bien verán algo como esto:
  server1:~# cadaver http://localhost/webdav/
Authentication required for test on server `localhost':
Username: test
Password:
dav:/webdav/> quit
Connection to `localhost' closed.
server1:~#

Referencias

[1] http://es.wikipedia.org/wiki/WebDAV
[2] http://httpd.apache.org/docs/2.2/mod/mod_dav.html
[3] http://httpd.apache.org/docs/2.2/mod/mod_auth_digest.html
[4] http://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch

No hay comentarios: