Creative Commons License
Excepto donde se indique otra cosa, todo el contenido de este lugar está bajo una licencia de Creative Commons.
Taquiones > diario > 2008 > 02 > 7 > Windows XP y WebDAV

Windows XP y WebDAV

Se llega a sufrir mucho con estas cosas de la tecnología. Hoy teníamos necesidad de pasar datos desde un Windows XP a un servidor GNU/Linux, y elegimos hacerlo vía WebDAV, puesto que ya estaba configurado y funcionando con normalidad (como los transportes públicos de Madrid, según el parte diario).

Nada, que no había forma alguna, nos solicitaba contraseña y ni siquiera llegaba a enviar el nombre del usuario. Tras varias búsquedas y pruebas llegamos a la siguiente solución:

  1. En el servidor es necesario añadir algunos ajustes a la configuración, como indico más abajo.
  2. En el cliente es necesario incluir el puerto en el URL: http://myserver:80/mypath.

Configurando apache

En el servidor Apache se deben activar los siguientes módulos:

  • encoding
  • header
  • dav
  • auth

En Debian existe la herramienta apache-modconf, que puede emplearse para activar ó desactivar dichos complementos en varias configuraciones del servidor. La propia instalación de los paquetes, por supuesto, la emplea para ello, por lo que debe bastar con incorporarlos al sistema.

Y añadir las siguientes directivas en la configuración del servidor:

#
# Broken WebDAV for Windows XP
#
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "Microsoft-WebDAV-MiniRedir/5.1.2600" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS" redirect-carefully

<IfModule mod_headers.c>
    Header add MS-Author-Via "DAV"
</IfModule>

<IfModule mod_encoding.c>
    EncodingEngine on
    NormalizeUsername on
</IfModule>

y estos ajustes en la sección correspondiente de control de acceso a WebDAV:

DAVLockDB /path/to/lockfile/DAVLock
DAVMinTimeout 600

<Directory "directory">
    DAV On
    AuthType Basic
    AuthName test
    AuthUserFile  /path/to/passwd/file
    AuthGroupFile /dev/null
    Require user test
</Directory>

Eso sin olvidar la creación de usuarios y contraseñas correspondiente para que el ejemplo funcione.

Enlaces y referencias

  • Interesante hilo en los foros de Gentoo al respecto, con varias indicaciones sobre lo que puede ir mal y por qué.
  • En el Instituto Tecnológico de California existen notas también muy útiles.