====== WebDAV ====== El presente documento describe como configurar el servidor web Apache 2 para compartir recursos mediante las especificaciones WebDAV. ===== Configuración de módulos Apache ====== En Debian el paquete //apache2// incluye de serie los módulos necesarios para el manejo de WebDAV. Los módulos se activan con los siguientes comandos: a2enmod dav_fs a2enmod dav ===== Configuración de Apache ===== En el siguiente ejemplo se dispone de un servidor //apache2// con la configuración inicial por defecto. Se describirá la configuración básica para que a través de la url //**localhost/webdav**// se acceda a un directorio del servidor publicado a través de WebDAV. Añadir las siguientes líneas de configuración: Alias /webdav "/opt/webdav" Options Indexes MultiViews AllowOverride None Order allow,deny allow from all al archivo //**/etc/apache2/sites-available/default**//, tras lo cual mostrará el siguiente aspecto: ServerAdmin webmaster@localhost DocumentRoot /var/www/ Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined Alias /doc/ "/usr/share/doc/" Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 Alias /webdav "/opt/webdav" Options Indexes MultiViews AllowOverride None Order allow,deny allow from all Tras la edición del archivo es necesario recargar la configuración de Apache: /etc/init.d/apache2 reload El comando /etc/init.d/apache2 //**reload**// recarga la configuración del servidor Apache, aplicando los cambios realizados, sin detener el funcinoamiento del mismo, al contrario que la opción //**restart**// la cual detiene y vuelve a arrancar el servidor. Prestar especial atención a los alias definidos en los archivos de configuración de Apache. Si el alias se define con una barra **/** al final, deberá aparecer también en la url para poder acceder, de lo contrario, el servidor devolverá un error de página no encontrada. Mediante un navegador web acceder a la url //**localhost/webdav**// si se ejecuta el navegador en la mísma máquina que alberga al servidor Apache, o bien //**/webdav**// si el navegador está en una máquina distinta a la del servidor. ===== Creación del recurso y permisos de ficheros ===== El recurso compartido será un directorio del sistema de archivos ubicado en **/opt/**, para que el servidor Apache pueda acceder y manejar estos ficheros, el usuario //**www-data**// deberá tener privilegios de lectura y escritura sobre los mismos. En el presente ejemplo se procederá a asignar al usuario //www-data// como propietario de los archivos contenidos en el recurso compartido. mkdir -p /opt/webdav chown -Rf www-data:www-data /opt/webdav Probando servidor Apache con Cadaver: ===== Configuración del esquema de autenticación ===== Para el proceso de autenticación será necesario activar el módulo de Apache //**auth-digest**// y reiniciar con la opción **restart** el servidor: a2enmod auth_digest /etc/init.d/apache2 restart Crear fichero de contraseñas: htdigest -c /etc/apache2/digest-password webdav-example usuario El anterior comando pedirá por consola la contraseña del nuevo usuario. El parámetro **-c** fuerza la creación de un nuevo archivo de contraseñas. En sucesivas ocasiones, para añadir un usuario al archivo de contraseñas se omitirá el parámetro **-c**, de lo contrario, el fichero será sobreescrito y todos los usuarios y claves previamente registrados se perderán. Volver a editar el archivo **/etc/apache2/sites-available/default** añadiendo el siguiente fragmento antes de la etiqueta de cierre : DAV On AuthType Digest AuthName "webdav-example" AuthUserFile /etc/apache2/digest-password Require valid-user Tras realizar el último cambio, reiniciar el servidor Apache: /etc/init.d/apache2 restart Acceder mediante un navegador web a la url **localhost/webdav** o **/webdav** según proceda. Antes de cargar la página, el navegador solicitará el nombre y contraseña de un usuario válido. ===== Enlaces ===== [[http://www.debian-administration.org/articles/285|WebDAV on Apache]] [[http://httpd.apache.org/docs/2.2/mod/mod_auth_digest.html|Manual mod_auth]] [[http://www.webdav.org/mod_dav/install.html#apache]]