Herramientas de usuario

Herramientas del sitio


Barra lateral

webdav

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"
    <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.

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
<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.

Enlaces

webdav.txt · Última modificación: 2009/10/05 12:47 (editor externo)