Grupos de investigación
Grupos de investigación
El presente documento describe como configurar el servidor web Apache 2 para compartir recursos mediante las especificaciones WebDAV.
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
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" <Directory /opt/webdav> Options Indexes MultiViews AllowOverride None Order allow,deny allow from all </Directory>
al archivo /etc/apache2/sites-available/default, tras lo cual mostrará el siguiente aspecto:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> 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/" <Directory "/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 </Directory> Alias /webdav "/opt/webdav" <Directory /opt/webdav> Options Indexes MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost>
Tras la edición del archivo es necesario recargar la configuración de Apache:
/etc/init.d/apache2 reload
<note tip> 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. </note>
<note warning> 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. </note>
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 <nombre_host>/webdav si el navegador está en una máquina distinta a la del servidor.
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:
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 <code> Crear fichero de contraseñas: <code> htdigest -c /etc/apache2/digest-password webdav-example usuario
<note alert> 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. </note>
Volver a editar el archivo /etc/apache2/sites-available/default añadiendo el siguiente fragmento antes de la etiqueta de cierre </virtualhost>:
<Location /webdav> DAV On AuthType Digest AuthName "webdav-example" AuthUserFile /etc/apache2/digest-password Require valid-user </Location>
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 <nombre_host>/webdav según proceda. Antes de cargar la página, el navegador solicitará el nombre y contraseña de un usuario válido.