Could not open the lock database - Apache WebDAV setup
I configured a WebDAV server using Apache. Here is my configuration:
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
is owned by apache
user and group. I can access WebDAV share via browser. I have configured a WebFolder
in Windows XP SP3. But I can't create file and folders. error_log
file says:
[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]
Can anyone help?
Another question is: Do we need Options +Indexes
for WebDAV clients to list files and folders or it is only for web access using browser?
ls -ld /var/www/
drwxr-xr-x. 9 root root 4096 Oct 11 15:54 /var/www/
chown -R apache:apache /var/www/
, undo your change and try again.
This was a gotcha for me, but according to the documentation for mod_dav:
"The directory containing the lock database file must be writable by the User and Group under which Apache is running."
You have to make sure you have proper permissions on both the DAV lock DB file and the directory containing it.
In my fresh installation, the /var/www/ directory did not have write permissions set for the apache group. The /var/lib/dav/ directory has these permissions set by default, which is why it worked for Majid. Knowing this, you make a directory somewhere of your choosing with the proper permissions.
(Old question, but it still came up in my search. I'm not a fan of configuration voodo, so for me it helps to know why Majid Azimi's config change worked for him.)
I removed this line:
DAVLockDB /var/www/DAVLock.db
and use the default configuration of Apache:
<IfModule mod_dav_fs.c>
# Location of the WebDAV lock database.
DAVLockDB /var/lib/dav/lockdb
</IfModule>
It is now working perfectly. But I don't know the reason yet.