Estou tentando configurar o WebDAV no meu servidor CentOS 6.5, que possui o Apache 2.2, e estou tendo problemas.
Estou seguindo este guia aqui: link
Eu verifiquei que os módulos mod_dav.so e mod_dav_fs.so necessários estão habilitados.
Eu criei minha entrada de host virtual, assim:
<VirtualHost 11.22.33.44:80>
SuexecUserGroup "#500" "#500"
ServerName dav.naijastories.com
DocumentRoot /home/myuser/public_html/
ScriptAlias /cgi-bin /home/myuser/public_html/cgi-bin
DirectoryIndex index.html index.htm index.php index.php4 index.php5
<Directory /home/myuser/public_html/>
Options -Indexes +IncludesNOEXEC +SymLinksIfOwnerMatch +ExecCGI
allow from all
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
AddHandler fcgid-script .php
AddHandler fcgid-script .php5
FCGIWrapper /home/myuser/fcgi-bin/php5.fcgi .php
FCGIWrapper /home/myuser/fcgi-bin/php5.fcgi .php5
</Directory>
Alias /webdav /home/myuser/public_html
<Location /webdav>
DAV On
AuthType Basic
AuthName "myuser"
AuthUserFile /home/myuser/.myuserpassfile
Require valid-user
</Location>
FcgidIOTimeout 600
</VirtualHost>
Eu assegurei que .myuserpassfile contém os credenciais corretos para myuser.
Eu reiniciei o serviço Apache depois de fazer essas alterações.
Mas quando navego para o dav.naijastories.com, não vejo nada que se pareça com uma estrutura de diretórios.
O que estou fazendo de errado aqui?
EDITAR:
Eu progredi nisso.
Para tornar isso mais claro, eu estava realmente tentando acessar os arquivos na máquina CentOS facilmente do meu PC com Windows; Eu pensei que teria que fazer isso através do meu navegador, mas acontece que é mais fácil fazer isso através do Windows Explorer.
Primeiro de tudo, eu mudei a seção do host virtual para ser assim:
<VirtualHost 11.22.33.44:80>
ServerName dav.mysite.com
DocumentRoot /home/myuser/public_html
<Directory /home/myuser/public_html>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
allow from all
DAV On
AuthType Digest
AuthName "dav"
AuthDigestDomain http://dav.mysite.com
AuthUserFile /home/myuser/.htdigest
Require valid-user
</Directory>
</VirtualHost>
Onde:
htdigest
para conter as credenciais de um usuário que terá autorização para acessar os arquivos compartilhados pelo WebDAV; Depois que adicionei isso ao arquivo httpd.conf
e reiniciei o apache, no meu PC com Windows, fiz o seguinte:
Consegui fazer login e ver meus arquivos assim que fiz isso.
No entanto, não consigo escrever nas pastas que vejo no explorador.
Sempre que faço isso, recebo esta mensagem:
"Um erro inesperado está impedindo a criação do arquivo. Se você continuar recebendo este erro, poderá usar o código de erro para procurar ajuda com esse problema. Erro 0x80070780: O arquivo não pode ser acessado pelo sistema."
Olhando para os logs do apache, vejo erros como estes:
[Sun Nov 09 16:40:55 2014] [error] [client 11.22.33.44] client denied by server configuration: /home/myuser/public_html/.htaccess
[Sun Nov 09 16:40:55 2014] [error] [client 11.22.33.44] (13)Permission denied: access to /webdav/index.html denied
[Sun Nov 09 16:40:55 2014] [error] [client 11.22.33.44] (13)Permission denied: access to /webdav/index.html.var denied
[Sun Nov 09 16:40:56 2014] [error] [client 11.22.33.44] Unable to PUT new contents for /wptest/New Text Document.txt. [403, #0]
[Sun Nov 09 16:40:56 2014] [error] [client 11.22.33.44] (13)Permission denied: An error occurred while opening a resource. [500, #0]
Estou confuso com isso. Não há nada no meu arquivo .htaccess restringindo o acesso (nem estou copiando o arquivo lá), e não tenho um diretório webdav em minha máquina.
Alguma idéia?
Tags webdav apache-2.2 centos6.5