Configurar Virtual Host do 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
- WebDAV: http://www.webdav.org
- Lighttpd: http://www.lighttpd.net
- Fedora: http://fedoraproject.org
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
- Preparar ambiente: garantir que lighttpd tem módulo WebDAV.
- Criar utilizadores e ficheiro de senhas.
- Configurar vhost com alias.url e bloco para /webdav.
- Testar localmente com cadaver/curl.
- Abrir portas no firewall e executar testes remotos.
- 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.