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-utilsDespué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 webdavRecarga Lighttpd después:
service lighttpd force-reload3 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/webLuego 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 restart4 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 testSe 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.davAhora 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 restart5 Probando WebDAV
Ahora instalaremos cadaver, un cliente WebDAV de línea de comandos:
apt-get -y install cadaverPara 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
- WebDAV: http://www.webdav.org/
- Lighttpd: http://www.lighttpd.net/
- Debian: http://www.debian.org/
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.