Web-based Distributed Authoring and Versioning (WebDAV)
O Web-DAV é possibilidade que o administrator tem de integrar extensões para o Hypertext Transfer Protocol e possibilitar que os usuários editem e gerenciem arquivos em servidores remotos sem a necessidade de fazer upload com ftp.
O webDAV pode ser facilmente integrado ao servidor HTTPD como apache2 e o lighttpd, basta ativar sua diretiva.
a) Como habilitar o webdav em lighttpd no Debian ou Ubuntu:
#apt-get install lighttpd lighttpd-mod-webdav apache2-utils
b) Aṕos a instalação é só criar o diretorio/var/run/lighttpd e alterar com o chown o usuario dono e o grupo dono para do apache pois este diretório irá conter um banco de dados SQLite necessários pelo WebDAV.
#mkdir /var/run/lighttpd
#chown www-data:www-data /var/run/lighttpd
c) O proximo passo é o mais importante, pois é necessario habilitar o módulo ”mod_alias” e ”mod_webdav” no lighttpd em /etc/lighttpd/lighttpd.conf.
#vi /etc/lighttpd/lighttpd.conf
E HABILITE EM server.modules como esta abaixo (vale lembrar que por falta de espaço aqui no blog eu coloquei um ao lado do outro, pois o arquivo é concatenado com uma diretiva abaixo da outra em linha).
server.modules (“mod_access”, ”mod_alias”, ”mod_accesslog”, “mod_webdav”)
Após a inclusão dos módulos vc ja pode reinciar o daemon.
#/etc/init.d/lighttpd restart ( ou utilize o invoke-rc.d ou o comando service desde que vc tenha o pacote sysvconfig instalado).
d) Os módulos ativados sem problemas vc agora pode disponibilizar a sua integração aos seus virtualhosts. Vamos imaginar um dos acessos utilizando o cliente.com.br como exemplo abaixo E como configurar agora o webdav em seu virtualhost ativando a utiilização de senhas pelo htpasswd.
#mkdir -p /var/www/cliente.com.br/web/
#chown www-data:www-data /var/www/cliente.com.br/web
NOTA: Não esqueça de entrar em /etc/lighttpd/lighttpd.conf e habilitar o dominio do seu cliente para responder neste diretorio, como vc sempre fez e reinicie o daemon do lighttpd.
[...]
$HTTP["host"] == “www.cliente.com.br” {
server.document-root = “/var/www/cliente.com.br/web”
}
[...]
#/etc/init.d/lighttpd restart
NOTA: Abaixo estarei criando acesso para o virtualhost pelo htpasswd e alterando o usuario dono para o mesmo do apache e servidores web e alterando a permissão retirando toda leitura de outros, o que seria muito serio se vc deixasse.
#htpasswd -c /var/www/cliente.com.br/passwd.dav user
#chown root:www-data /var/www/cliente.com.br/passwd.dav
#chmod 640 /var/www/cliente.com.br/passwd.dav
-
PARA CONCLUIR O PROCEDIMENTO BASTA ATIVAR O WEBDAV PARA O SEU VIRTUALHOST E UTLIZAR QUALQUER UTILITARIO CLIENTE COMO O cadaver PARA ACESSO A LINHA DE COMANDO DO WEBDAV E TESTAR ;)
-
#vi /etc/lighttpd/lighttpd.conf
$HTTP["host"] == “www.example.com” {
server.document-root = “/var/www/cliente.com.br/web”
alias.url = ( “/webdav” => “/var/www/cliente.com.br/web” )
$HTTP["url"] =~ “^/webdav($|/)” {
webdav.activate = “enable”
webdav.is-readonly = “disable”
webdav.sqlite-db-name = “/var/run/lighttpd/lighttpd.webdav_lock.db”
auth.backend = “htpasswd”
auth.backend.htpasswd.userfile = “/var/www/cliente.com.br/passwd.dav”
auth.require = ( “” => ( “method” => “basic”,
“realm” => “webdav”,
“require” => “valid-user” ) )
}
-
e) NO APACHE2 é mais fácil ainda é só habilitar os seguintes módulos com o a2enmod (nojentinho isso né?):
#a2enmod dav_fs
#a2enmod dav
-
E editar o arquivo de virtualhost para o apache2 do Debian e Ubuntu que esta em /etc/apache2/sites-available/.
(exemplo)#vi /etc/apache2/sites-available/cliente.com.br
-
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@cliente.com.br
DocumentRoot /var/www/cliente.com.br/web/
<Directory /var/www/cliente.com.br/web/>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
-
#/etc/init.d/apache2 restart
-
ATENCAO EM ‘ webdav.activate = “enable” ‘, pq se isso nao estiver habilitado, foi foi foi pra vc, pois nao via funcionar ;)
#apt-get install cadaver
#cadaver http://www.cliente.com.br/webdav/
-
(ubuntu):~# cadaver http://www.cliente.com.br/webdav/
Authentication required for webdav on server `www.cliente.com.br’:
Username: user
Password:
dav:/webdav/> quit
Connection to `www.cliente.com.br’ closed.
(ubuntu):~#
É possível testar o serviço de webdav no GNOME também utilizando o gerenciador de de servidores do gnome:

é o poder ;)


