Ya que parece que estoy en racha, hoy he seguido puliendo la configuración de mi servidor web casero, una vez que el acceso via https con requerimiento de certificado parece funcionar bien (ver entrada al respecto: Apache SSL y acceso por certificado). Lo que hoy he intentado ha sido, ya que tenía la infraestructura de acceso seguro en marcha, poner un par de directorios compartidos usando WebDav. Si no conoceis WebDav, viene a ser más o menos una manera de hacer que los ficheros de un servidor aparezcan como almacenados en un directorio local. Es algo similar, podríamos decir, a FTP o SFTP, aunque más integrado en el propio sistema operativo. Es decir, el trabajo con los archivos se realiza con los gestores de archivos más usuales (Explorer o Total Commander en sistemas Microsoft Windows, y Nautilus, Dolphin, Konqueror o Krusader en sistemas GNU/Linux, por decir algunos).
Como primer paso, debemos activar los módulos dav y dav_fs. En Debian (y Ubuntu), esto se realiza con el comando: #a2enmod dav #a2enmod dav_fs Por cierto, ya que estamos, no nos vendría mal también cambiar la autenticación de usuarios. En mi caso tenía, desde tiempos inmemoriales, AuthType como Basic, si bien todas las referencias que he leido indican que es muy recomendable cambiar la autenticación al modo Digest (la transferencia de las contraseñas se realizada cifrada). Para más información, podeis visitar apache.org:Authentication, Authorization and Access Control o, en castellano, Toma2Tazas: Apache: Cómo usar “Digest Authentication” en lugar de “Basic Authentication”. En definitiva, la parte correspondiente a la configuración del directorio a exportar via WebDav quedaría sería algo similar a:
Alias /datos /home/datos_exportados<directory datos_exportados="" home="">
#--- activamos WebDav
DAV ON
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order Allow,Deny
Allow from all
#--- autenticacion de usuarios
AuthType Digest
AuthName "nombre de dominio"
AuthDigestProvider file
AuthUserFile /etc/apache2/passwords/httpd_usuarios
Require valid-user</directory>
Simplemente con esto, ya tendremos exportado el directorio via WebDav. Podemos comprobarlo desde cualquier navegador escribiendo: https://mi.host.org/datos_exportados, aunque lo verdaderamente divertido es hacerlo desde nuestro gestor de archivos favorito. Para el Total Commander, hay un plugin escrito por el propio autor del programa que nos soluciona muy bien la papeleta. La única pega es que es necesario tener correctamente instalado el certificado en nuestro sistema, ya que para el acceso nos pedirá el certificado. Para quitar, importar y exportar certificados digitales en Windows, hay que hacerlo desde el Panel de Control -> Opciones de Internet -> Pestaña Contenido -> Botón Certificados. Desde ahí podremos instalar nuestro certificado, sin el cual el acceso WebDav que hagamos a nuestra máquina será imposible. También es posible acceder a nuestra carpeta WebDav remota usando el Explorer. No hay más que ejecutarlo, ir a Mis sitios de red y hacer click en Agregar sitios de red. En ese momento se lanzará un asistente y, tras un par de Siguientes :), nos pedirá que tecleemos la URL de nuestra carpeta compartida, que en este caso sería algo así como https://mi.maquina.org/datos_exportados. Después, si todo ha ido bien, nos aparecerá una ventana para que podamos escoger el certificado que vamos a utilizar para esa conexión. Tras escogerlo, nos pedirá un nombre de usuario y una clave (si es que hemos configurado Apache con autenticación), para finalmente darnos la oportunidad de darle un nombre a esa conexión. A partir de ahora ya tendremos la conexión configurada, e incluso podremos poner un enlace a ella desde nuestro escritorio, para tenerla a mano y usarla cuando queramos. Chulo, ¿no? :-) Desgraciadamente, parece haber más de un problema con la implementación WebDav de Microsoft, así que si teneis algún problema, os recomiendo visitar la página WebDAV Mini-Redirector (MRXDAV.SYS) Versions and Issues List, porque hay versiones que dan algunos problemas. También teneis más información al respecto en las siguientes páginas:
y como siempre, si puedo seros de alguna ayuda, ya sabeis donde estoy :)