Pesquisa de site

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. 1 Nota Preliminar
  2. 2 Instalando o WebDAV
  3. 3 Criando um host virtual
  4. 4 Configurar o host virtual para WebDAV
  5. 5 Testando o WebDAV
  6. 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/

Artigos relacionados: