Não foi possível abrir o banco de dados de bloqueio - Configuração do Apache WebDAV

7

Eu configurei um servidor WebDAV usando o Apache. Aqui está minha configuração:

DAVLockDB /var/www/DAVLock.db

<Location /majid>
    AllowOverride None
    Options +Indexes
    DAV On
    AuthUserFile /var/www/users.db
    AuthName Authentication
    AuthType Basic
    <Limit GET PUT DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
        Require user majid
    </Limit>
</Location>

Alias /majid /var/www/dav/majid

/var/www/DAVLock.db é de propriedade de apache user e group. Eu posso acessar o compartilhamento WebDAV via navegador. Eu configurei um WebFolder no Windows XP SP3. Mas não consigo criar arquivos e pastas. error_log file diz:

[Tue Oct 11 17:05:12 2011] [error] [client 192.168.1.2] File does not exist: /var/www/dav/majid/New Folder
[Tue Oct 11 17:05:12 2011] [error] [client 192.168.1.2] The locks could not be queried for verification against a possible "If:" header.  [500, #0]
[Tue Oct 11 17:05:12 2011] [error] [client 192.168.1.2] Could not open the lock database.  [500, #400]
[Tue Oct 11 17:05:12 2011] [error] [client 192.168.1.2] (13)Permission denied: Could not open property database.  [500, #1]

Alguém pode ajudar? Outra pergunta é: Precisamos de Options +Indexes para clientes WebDAV para listar arquivos e pastas ou é apenas para acesso à web usando o navegador?

    
por Majid Azimi 11.10.2011 / 15:48

3 respostas

5
ls -ld /var/www/
drwxr-xr-x. 9 root root 4096 Oct 11 15:54 /var/www/

chown -R apache:apache /var/www/ , desfaça sua alteração e tente novamente.

    
por 11.10.2011 / 19:15
2

Esta foi uma pegadinha para mim, mas de acordo com a documentação para mod_dav :

"O diretório que contém o arquivo de banco de dados de bloqueio deve ser gravável pelo Usuário e Grupo sob o qual o Apache está sendo executado."

Você tem que ter certeza de que você tem permissões adequadas tanto no arquivo DAV como no arquivo DB e no diretório que o contém.

Na minha nova instalação, o diretório / var / www / não tinha permissões de gravação definidas para o grupo do apache. O diretório / var / lib / dav / tem essas permissões definidas por padrão, e é por isso que funcionou para o Majid. Sabendo disso, você faz um diretório em algum lugar de sua escolha com as devidas permissões.

(pergunta antiga, mas ainda surgiu na minha pesquisa. Eu não sou um fã de configuração voodo, então para mim ajuda a saber porque a alteração de configuração de Majid Azimi funcionou para ele.)

    
por 26.08.2015 / 01:36
1

Eu removi esta linha:

DAVLockDB /var/www/DAVLock.db

e use a configuração padrão do Apache:

<IfModule mod_dav_fs.c>
    # Location of the WebDAV lock database.
    DAVLockDB /var/lib/dav/lockdb
</IfModule>

Agora está funcionando perfeitamente. Mas eu não sei o motivo ainda.

    
por 11.10.2011 / 18:03