Gestión y publicación de documentos Web con WebDAV
Gestión y publicación de documentos Web con WebDAV
Un método tradicional para subir archivos a un servidor web es usar FTP. No obstante, esto tiene las siguientes desventajas:
- Requiere abrir puertos adicionales en el firewall, lo que puede dar pie a ataques. Abrir puertos incrementa la susceptibilidad de un servidor de ser atacado, por lo que debe ser evitado siempre que sea posible.
- FTP no tiene un mecanismo de bloqueo de archivos, lo cual permite que dos usuarios puedan subir versiones distintas del mismo archivo al mismo tiempo y que una de ellas sea sobrescrita. Esto podría causar problemas graves de coherencia en los archivos de una web.
- Usar FTP obliga a editar el contenido de forma local, en la máquina cliente, y luego hacer la transferencia de los contenidos modificados al servidor. Si quisiésemos editar un archivo del servidor tendríamos que descargarlo del mismo, editarlo en nuestra máquina local y subir posteriormente el archivo modificado de nuevo, lo cual es un proceso lento. No obstante, existen editores que se integran con un servidor FTP de manera que permiten abrir ficheros de un servidor FTP y subir los cambios a medida que los vamos haciendo en el cliente, haciendo la descarga y subida de los archivos editados transparente al usuario y creando la ilusión de estar editando directamente un archivo situado en un FTP (WinScp, http://winscp.net/eng/docs/lang:es).
La solución a estos problemas es usar Web-based Distributed Authoring and Versioning (WebDAV), un protocolo usado para publicación y gestión de contenido en servidores remotos, y también servidores web. WebDAV es una extensión del protocolo HTTP/1.1 y está descrito en los RFC 2518 y 3253. Esta extensión permite a los usuarios editar contenidos de forma colaborativa y administrar archivos en servidores web remotos, de manera que podamos crear, modificar o eliminar documentos en un servidor remoto o en una “carpeta compartida web”. El uso principal que se le puede dar a WebDAV aplicado a los servidores web es permitir editar los contenidos de una web desde un cliente remoto, sin necesidad de acceder directamente al servidor, permitiendo así la actualización sencilla de los contenidos de una web en tiempo real desde cualquier sitio por parte de usuarios autorizados para ello. A efectos de uso, WebDAV funciona como un almacenamiento remoto de archivos accesible vía web desde cualquier parte. Además, WebDAV usa el puerto 80 (el mismo puerto que usa HTTP para las peticiones web) por lo que normalmente no necesita modificar la configuración del firewall o abrir puertos adicionales.
La mayoría de sistemas operativos modernos proporcionan soporte nativo para WebDAV. Con un cliente y red adecuados, el manejo puede ser tan sencillo como manejar archivos en directorios locales. IIS 6 proporciona soporte para WebDAV y, como ya hemos dicho, podemos usarlo para editar el contenido de nuestras web de forma remota. Concretamente, cuando se integra con IIS, WebDAV permite a los clientes hacer las siguientes operaciones:
- Manipular recursos en un directorio especial WebDAV del servidor, destinado a publicar contenidos. Por ejemplo, usuarios con los permisos correctos podrán copiar o mover archivos dentro de dicho directorio WebDAV. La gran ventaja sobre FTP es que las modificaciones y otras operaciones se pueden hacer directamente sobre el propio servidor.
- Modificar propiedades asociadas a diversos recursos. Por ejemplo, un usuario puede leer y cambiar las propiedades de un archivo fácilmente.
- Bloquear y desbloquear recursos, de forma que múltiples usuarios puedan leer un fichero de forma concurrente pero sólo uno pueda modificarlo al mismo tiempo.
- Buscar entre el contenido y las propiedades de los archivos en un directorio WebDAV.
Habilitar un directorio WebDAV para publicar contenidos en un servidor es muy similar a crear un directorio virtual a través del IISManager. Una vez creado este directorio, los usuarios que tengan los permisos adecuados podrán publicar documentos en el servidor y manipular archivos en el mismo. Para crear un directorio WebDAV debe usarse un operativo Windows XP o bien Windows Server 200X.
| NOTA: Como ya hemos dicho, para minimizar el nº de puntos por el que un servidor puede ser atacado IIS 6 no se instala por defecto con Windows Server 2003. Si lo instalamos posteriormente, debemos recordar que se instala en modo “bloqueado”, de forma que sólo admite servir páginas web “estáticas”, no estando habilitadas muchas de las extensiones que permiten al servidor soportar características adicionales. WebDAV es una de las extensiones que no están activas cuando un servidor se instala, por lo que un intento de usarla sin activarla antes derivará en un error 404. |
Clientes WebDAV
Se puede acceder y publicar en un directorio WebDAV usando los siguientes productos de Microsoft o bien usando un cliente que soporte el estándar WebDAV:
- Clientes Windows (Windows 200X y XP): Se puede establecer una conexión a un directorio WebDAV añadiendo el directorio a la lista de “Sitios de Red” y mostrando los contenidos como si fuese parte del sistema de archivos del ordenador local. Una vez conectados al directorio WebDAV, los clientes Windows pueden hacer Drag and Drop de archivos, obtenerlos, modificar sus propiedades y otras operaciones típicas. Existe además un cliente en línea de comandos con el mismo propósito (WebDAV Redirector). Para saber más detalles podemos consultar la información existente en Microsoft Technet, buscando la cadena “WebDAV Redirector IIS 6.0” en Google.
- Este tipo de cliente permite que aplicaciones existentes usen recursos de un directorio WebDAV y compartir archivos incluso a través de cortafuegos y servidores proxy, siempre que su configuración lo permita (no bloquee el puerto 80).
- Internet Explorer (versiones 5.0 o superior): Este cliente permite conectarse a un directorio WebDAV, abriendo dicho directorio como una carpeta Web. Funcionalmente permite hacer las mismas operaciones que el cliente anterior.
- Productosde la familia Microsoft Office (Office 2000 o superior): Estos programas permiten crear, publicar y editar documentos directamente de un directorio WebDAV. Para un servidor web esto es una característica muy útil si está usando documentos generados por estas aplicaciones, ya que podríamos lograr la actualización inmediata de los mismos según los estamos editando.
La siguiente actividad práctica muestra cómo gestionar WebDAV.