Guia de tecnologias

Configurar Virtual Host do WebDAV no Lighttpd

4 min read Infraestrutura Atualizado 21 Sep 2025
Configurar WebDAV no Lighttpd
Configurar WebDAV no Lighttpd

4 Configurar o Virtual Host para WebDAV

Primeiro, crie o ficheiro de senhas do WebDAV em /var/www/web1/passwd.dav com o utilizador test (o parâmetro -c cria o ficheiro se não existir):

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

Será pedido que escreva uma palavra-passe para o utilizador test.

Importante: não use o parâmetro -c se /var/www/web1/passwd.dav já existir, porque isso recriará o ficheiro do zero e fará perder todos os utilizadores nele.

Altere as permissões do ficheiro para que apenas root e os membros do grupo lighttpd possam aceder:

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

Agora edite o vhost em /etc/lighttpd/lighttpd.conf:

vi /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($|/)" { dir-listing.activate = "enable" webdav.activate = "enable" webdav.is-readonly = "disable" 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 com que, em conjunto com $HTTP[“url”] =~ “^/webdav($|/)”, quando chamar /webdav o WebDAV seja invocado, mas ainda possa aceder a toda a raiz de documentos do virtual host. Todos os outros URLs desse vhost permanecem como HTTP normal.

Reinicie o lighttpd de seguida:

/etc/init.d/lighttpd restart

5 Testando o WebDAV

Instale o cadaver, um cliente WebDAV em linha de comandos:

yum install cadaver

Para testar se o WebDAV funciona, execute:

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

Deverá ser solicitado um nome de utilizador. Escreva test e depois a palavra-passe. Se tudo correr bem, terá acesso e isso significa que o WebDAV está a funcionar. Digite quit para sair do shell do WebDAV:

[root@server1 ~]# 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 ~]#

6 Configurar um cliente Windows XP para conectar ao share WebDAV

As instruções detalhadas estão em https://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch-p2.

Especifique a porta na URL do WebDAV, por exemplo http://www.example.com:80/webdav. Por alguma razão, isso faz o Windows XP aceitar o nome de utilizador normal (ex.: test). Caso contrário, o Windows XP pode esperar nomes de utilizador NTLM com a forma www.example.com\test.

7 Configurar um cliente Linux (GNOME) para conectar ao share WebDAV

As instruções detalhadas estão em https://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch-p3.

Normalmente, no GNOME, utilize “Conectar ao servidor” e forneça a URL http://www.example.com/webdav/ e as credenciais configuradas.

8 Links úteis


Quando isto pode falhar

  • Permissões incorretas no ficheiro passwd.dav (verificar owner e modo).
  • O módulo WebDAV do lighttpd não estar compilado/ativado.
  • Firewall a bloquear a porta HTTP/80 ou a porta especificada.
  • Erros na expressão regular do $HTTP[“url”] que impedem o mapeamento /webdav.

Solução rápida: verifique logs do lighttpd (normalmente /var/log/lighttpd/error.log), teste com curl -v e confirme permissões e presença do ficheiro de senhas.

Alternativas e abordagens

  • Apache + mod_dav: solução mais comum em ambientes que já usam Apache.
  • NFS/SMB/CIFS: se o objetivo for partilha de ficheiros em LAN, estas alternativas podem oferecer melhor integração com Windows.
  • Serviços geridos/Cloud (WebDAV oferecido por terceiros): quando não quiser gerir servidor.

Escolha conforme requisitos de compatibilidade, autenticação e desempenho.

Checklist de implementação (servidor)

  • Criar /var/www/web1/passwd.dav com htpasswd sem sobrescrever ficheiros existentes.
  • Ajustar owner: chown root:lighttpd /var/www/web1/passwd.dav
  • Ajustar permissões: chmod 640 /var/www/web1/passwd.dav
  • Editar /etc/lighttpd/lighttpd.conf e adicionar bloco do vhost.
  • Reiniciar lighttpd e verificar logs.

Checklist de implementação (cliente)

  • Confirmar acesso HTTP à URL do WebDAV no navegador/cliente.
  • Testar com cadaver (linha de comandos).
  • Em Windows XP, tentar incluir a porta na URL se houver problemas de autenticação.

Mini-metodologia de implantação

  1. Preparar ambiente: garantir que lighttpd tem módulo WebDAV.
  2. Criar utilizadores e ficheiro de senhas.
  3. Configurar vhost com alias.url e bloco para /webdav.
  4. Testar localmente com cadaver/curl.
  5. Abrir portas no firewall e executar testes remotos.
  6. Documentar configuração e procedimentos de roolback (manter cópia do ficheiro de senhas).

Glossário (1 linha cada)

  • WebDAV: protocolo HTTP para edição e gestão remota de ficheiros.
  • htpasswd: utilitário para gerir ficheiros de senha usados por autenticação básica HTTP.
  • lighttpd: servidor web leve frequentemente usado em ambientes de baixo consumo.

Resumo final

Ativar WebDAV no Lighttpd exige criar e proteger o ficheiro de senhas, ajustar o virtual host para mapear /webdav e reiniciar o serviço. Teste com cadaver e verifique logs se houver problemas. Para clientes Windows XP, especifique a porta na URL se houver problemas de autenticação.

Importante: faça sempre backup do ficheiro de senhas antes de modificá-lo com -c.

Autor
Edição

Materiais semelhantes

Como adicionar portas USB ao seu computador
Hardware

Como adicionar portas USB ao seu computador

Corrigir o erro de programa no Photoshop
Tutoriais

Corrigir o erro de programa no Photoshop

Configurar WebDAV no Lighttpd
Infraestrutura

Configurar WebDAV no Lighttpd

Como apagar o histórico de buscas do YouTube
Privacidade

Como apagar o histórico de buscas do YouTube

Recuperar streak perdido no Snapchat
Tutoriais

Recuperar streak perdido no Snapchat

Clonar disco CentOS 7 com Clonezilla
Backup

Clonar disco CentOS 7 com Clonezilla