Como instalar WebDAV com Lighttpd no Debian 8 (Jessie)
Este tutorial existe para estas versões do sistema operacional
- Debian 8 (Jessie)
- Debian 5 (Lenny)
Nesta página
- 1 Nota Preliminar
- 2 Instalando o WebDAV
- 3 Criando um host virtual
- 4 Configurar o host virtual para WebDAV
- 5 Testando o WebDAV
- 6 links
Este guia explica como configurar o WebDAV com Lighttpd em um servidor Debian 8 (Jessie). WebDAV significa Web-based Distributed Authoring and Versioning e é um conjunto de extensões para o protocolo HTTP que permite aos usuários editar arquivos diretamente no servidor Lighttpdd para que não precisem ser baixados/carregados via FTP . Obviamente, o WebDAV também pode ser usado para carregar 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 mínimo do servidor Debian, mas qualquer sistema Debian que ainda não execute um servidor web deve funcionar bem.
2 Instalação do 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 posteriormente para gerar um arquivo de senha para o compartilhamento WebDAV) da seguinte maneira:
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 para o 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 depois:
service lighttpd force-reload
3 Criando um host virtual
Agora vou criar um Lighttpd vhost (www.example.com) no diretório /var/www/web1/web. Se você já possui 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 Configure o host virtual para WebDAV
Agora criamos o arquivo de senha WebDAV /var/www/web1/passwd.dav com o teste do usuário (a opção -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 teste de usuário.
(Não use a opção -c se /var/www/web1/passwd.dav já existir porque isso recriará o arquivo do zero, o que significa que você perderá todos os usuários desse arquivo!)
Agora alteramos as permissões do arquivo /var/www/web1/passwd.dav para que somente 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 assim:
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 (juntamente com $HTTP[\url\] =~ \^/webdav($|/)\) que quando você chama /webdav, WebDAV é invocado, mas você ainda pode acessar o toda a raiz do documento do vhost. Todas as outras URLs desse vhost ainda são HTTP \normais\.
Reinicie Lighttpd depois:
service lighttpd restart
5 Testando o WebDAV
Agora vamos instalar 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 fornecer o nome de usuário. Digite teste e depois a senha para o teste do usuário. Se tudo correr bem, você deve ter acesso, o que significa que o WebDAV está funcionando bem. Digite quit para sair do shell WebDAV:
:/home/administrator#
6 Ligações
- WebDAV: http://www.webdav.org/
- Lighttpd: http://www.lighttpd.net/
- Debian: http://www.debian.org/