WebDAV Lighttpd · 3 min read · Dec 17, 2025

Cómo instalar WebDAV con Lighttpd en Debian 8 (Jessie)

Esta guía explica cómo configurar WebDAV con Lighttpd en un servidor Debian 8 (Jessie). WebDAV significa Autorización y Versionado Distribuido Basado en la Web y es un conjunto de extensiones al protocolo HTTP que permite a los usuarios editar archivos directamente en el servidor Lighttpd, de modo que no necesitan ser descargados/subidos a través de FTP. Por supuesto, WebDAV también se puede utilizar para subir y descargar archivos.

1 Nota Preliminar

Estoy usando un servidor Debian 8 con la dirección IP 192.168.1.100 aquí. Mi configuración se basa en el tutorial del servidor minimal de Debian, pero cualquier sistema Debian que aún no ejecute un servidor web debería estar bien.

2 Instalando WebDAV

Puedes instalar lighttpd (si no está ya instalado), el módulo WebDAV de lighttpd y el paquete apache2-utils (que contiene la herramienta htpasswd que necesitaremos más adelante para generar un archivo de contraseñas para el recurso compartido de WebDAV) de la siguiente manera:

apt-get -y install lighttpd lighttpd-mod-webdav apache2-utils

Después, debemos asegurarnos de que el directorio /var/run/lighttpd sea propiedad del usuario y grupo www-data. Este directorio contendrá una base de datos SQLite necesaria para WebDAV:

chown www-data:www-data /var/run/lighttpd/

A continuación, habilitamos los módulos mod_auth y mod_webdav:

lighty-enable-mod auth  
lighty-enable-mod webdav

Recarga Lighttpd después:

service lighttpd force-reload

3 Creando un Host Virtual

Ahora crearé un vhost de Lighttpd ( www.example.com) en el directorio /var/www/web1/web. Si ya tienes un vhost para el cual te gustaría habilitar WebDAV, debes ajustar este tutorial a tu situación.

Primero, creamos el directorio /var/www/web1/web y hacemos que el usuario lighttpd ( www-data) sea el propietario de ese directorio:

mkdir -p /var/www/web1/web  
chown www-data:www-data /var/www/web1/web

Luego abrimos /etc/lighttpd/lighttpd.conf y añadimos el siguiente vhost al final del archivo:

nano /etc/lighttpd/lighttpd.conf
[...]  
$HTTP["host"] == "www.example.com" {
  server.document-root = "/var/www/web1/web"
}

Después reiniciamos lighttpd:

service lighttpd restart

4 Configurar el Host Virtual para WebDAV

Ahora creamos el archivo de contraseñas de WebDAV /var/www/web1/passwd.dav con el usuario test (el interruptor -c crea el archivo si no existe):

htpasswd -c /var/www/web1/passwd.dav test

Se te pedirá que escribas una contraseña para el usuario test.

(¡Por favor, no uses el interruptor -c si /var/www/web1/passwd.dav ya existe porque esto recreará el archivo desde cero, lo que significa que perderás todos los usuarios en ese archivo!)

Ahora cambiamos los permisos del archivo /var/www/web1/passwd.dav para que solo root y los miembros del grupo www-data puedan acceder a él:

chown root:www-data /var/www/web1/passwd.dav  
chmod 640 /var/www/web1/passwd.dav

Ahora modificamos nuestro vhost en /etc/lighttpd/lighttpd.conf para que se vea como sigue:

nano /etc/lighttpd/lighttpd.conf
$HTTP["host"] == "www.example.com" {
  server.document-root = "/var/www/web1/web"
  alias.url = ( "/webdav" => "/var/www/web1/web" )
  $HTTP["url"] =~ "^/webdav($|/)" {
    webdav.activate = "enable"
    webdav.is-readonly = "disable"  
    dir-listing.activate = "enable"
    webdav.sqlite-db-name = "/var/run/lighttpd/lighttpd.webdav_lock.db"
    auth.backend = "htpasswd"
    auth.backend.htpasswd.userfile = "/var/www/web1/passwd.dav"
    auth.require = ( "" => ( "method" => "basic",
                             "realm" => "webdav",
                             "require" => "valid-user" ) )
  }
}

La directiva alias.url hace (junto con $HTTP[“url”] =~ “^/webdav($|/)”) que cuando llames a /webdav, WebDAV se invoque, pero aún puedes acceder a toda la raíz del documento del vhost. Todas las demás URL de ese vhost siguen siendo HTTP “normal”.

Reinicia Lighttpd después:

service lighttpd restart

5 Probando WebDAV

Ahora instalaremos cadaver, un cliente WebDAV de línea de comandos:

apt-get -y install cadaver

Para probar si WebDAV funciona, escribe:

cadaver http://www.example.com/webdav/

Se te pedirá el nombre de usuario. Escribe test y luego la contraseña para el usuario test. Si todo va bien, deberías obtener acceso, lo que significa que WebDAV está funcionando correctamente. Escribe quit para salir de la shell de WebDAV:

root@server1:/home/administrator# cadaver http://www.example.com/webdav/  
Authentication required for webdav on server `www.example.com':  
Username: test  
Password:  
dav:/webdav/> quit  
Connection to `www.example.com' closed.  
root@server1:/home/administrator#

6 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.