WebDAV Lighttpd · 3 min read · Dec 17, 2025

Como instalar WebDAV com Lighttpd no Debian 8 (Jessie)

Este guia explica como configurar o WebDAV com o Lighttpd em um servidor Debian 8 (Jessie). WebDAV significa Web-based Distributed Authoring and Versioning e é um conjunto de extensões ao protocolo HTTP que permite que os usuários editem arquivos diretamente no servidor Lighttpd, de modo que não precisem ser baixados/enviados via FTP. Claro, o WebDAV também pode ser usado para enviar e baixar arquivos.

1 Nota Preliminar

Estou usando um servidor Debian 8 com o endereço IP 192.168.1.100 aqui. Minha configuração é baseada no tutorial do servidor minimal Debian, mas qualquer sistema Debian que ainda não execute um servidor web deve estar bem.

2 Instalando o WebDAV

Você pode instalar o lighttpd (se ainda não estiver instalado), o módulo lighttpd WebDAV e o pacote apache2-utils (que contém a ferramenta htpasswd que precisaremos mais tarde para gerar um arquivo de senha para o compartilhamento WebDAV) da seguinte forma:

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

Depois, devemos garantir que o diretório /var/run/lighttpd seja de propriedade do usuário e grupo www-data. Este diretório conterá um banco de dados SQLite necessário pelo WebDAV:

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

Em seguida, habilitamos os módulos mod_auth e mod_webdav:

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

Recarregue o Lighttpd em seguida:

service lighttpd force-reload

3 Criando um Host Virtual

Agora vou criar um vhost Lighttpd ( www.example.com) no diretório /var/www/web1/web. Se você já tiver um vhost para o qual gostaria de habilitar o WebDAV, deve ajustar este tutorial à sua situação.

Primeiro, criamos o diretório /var/www/web1/web e tornamos o usuário lighttpd ( www-data) o proprietário desse diretório:

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

Em seguida, abrimos /etc/lighttpd/lighttpd.conf e adicionamos o seguinte vhost ao final do arquivo:

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

Depois, reiniciamos o lighttpd:

service lighttpd restart

4 Configurando o Host Virtual para WebDAV

Agora criamos o arquivo de senha do WebDAV /var/www/web1/passwd.dav com o usuário test (o switch -c cria o arquivo se ele não existir):

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

Você será solicitado a digitar uma senha para o usuário test.

(Por favor, não use o switch -c se /var/www/web1/passwd.dav já existir, pois isso recriará o arquivo do zero, o que significa que você perderá todos os usuários nesse arquivo!)

Agora mudamos as permissões do arquivo /var/www/web1/passwd.dav para que apenas o root e os membros do grupo www-data possam acessá-lo:

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

Agora modificamos nosso vhost em /etc/lighttpd/lighttpd.conf para que fique da seguinte forma:

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" ) )
  }
}

A diretiva alias.url faz (junto com $HTTP[“url”] =~ “^/webdav($|/)”) que, quando você chama /webdav, o WebDAV é invocado, mas você ainda pode acessar toda a raiz do documento do vhost. Todos os outros URLs desse vhost ainda são HTTP “normais”.

Reinicie o Lighttpd em seguida:

service lighttpd restart

5 Testando o WebDAV

Agora vamos instalar o cadaver, um cliente WebDAV de linha de comando:

apt-get -y install cadaver

Para testar se o WebDAV funciona, digite:

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

Você deve ser solicitado a inserir o nome de usuário. Digite test e depois a senha para o usuário test. Se tudo correr bem, você deve ter acesso, o que significa que o WebDAV está funcionando corretamente. Digite quit para sair do shell do 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 Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.