Friday, May 25, 2012

Red Hat / CentOS Linux: Apache Enable WebDAV

Q. Web-based Distributed Authoring and Versioning ( WebDAV) - is a set of extensions to the Hypertext Transfer Protocol (HTTP) that allows users to collaboratively edit and manage files on remote World Wide Web servers. How do I enable WebDAV under CentOS / RHEL 5 Linux server?

A. WebDAV can be easily created under httpd. All you have to do is add following directive alias.

httpd Dav on

Open httpd.conf file:
# vi httpd.conf
Append following directive:
Alias /webdav /home/httpd/webdav
Dav on
Save and close the file. Update: here is my sample /etc/httpd/conf.d/webdav.conf file. Instead of putting above two lines in httpd.conf, create /etc/httpd/conf.d/webdav.conf as follows:
 <IfModule mod_dav.c>
LimitXMLRequestBody 131072
 
Alias /webdav "/home/httpd/webdav"
<Directory /home/httpd/webdav>
Dav On
Options +Indexes
IndexOptions FancyIndexing
AddDefaultCharset UTF-8
AuthType Basic
AuthName "WebDAV Server"
AuthUserFile /etc/httpd/webdav.users.pwd
Require valid-user
Order allow,deny
Allow from all
</Directory>
</IfModule>
The configuration file will automatically be included. Run following to create user and password for user called tom:
# htpasswd -c /etc/httpd/webdav.users.pwd tom
You need to enter a password. The -c option creates the /etc/httpd/webdav.users.pwd. It can be left out when others users are added to the database. Now, create /home/httpd/webdav and set ownership:
# mkdir -p /home/httpd/webdav
# chown apache:apache /home/httpd/webdav

Finally, restart apache, enter:
# /etc/init.d/httpd restart

How do I access WebDAV in Windows / Linux / UNIX and Mac OS X?

Windows XP / 2003 server or higher have WebDAV client. Open My network places and click Add network place. Enter the WebDAV URL (e.g. http://yourdomain.com/webdav).

WebDAV in OS X

Click Finder > From the Finder menu, select Go > Connect to Server.
Type in the URL (e.g. http://yourdomain.com/webdav), and press the + button to save it as a favourite. Finally, provide username and password.

WebDAV in Linux / UNIX

Use GUI file manager.
KDE supports WebDAV by just using URLs that start with webdav:// or webdavs://. For e.g, open konqueror and type the url webdav://yourdomain.com/webdav
The Gnome file browser Nautilus also has WebDAV support in recent versions, using normal URLs with http://. Open Nautilus and type the url http://yourdomain.com/webdav.

Command-line WebDAV client for Unix / Linux

Use cadaver client, it supports file upload, download, on-screen display, namespace operations (move and copy), collection creation and deletion, and locking operations. Its operation is similar to the standard ftp client and the Samba Project’s smbclient. A user familiar with these tools should be quite comfortable with cadaver. cadaver supports automatically logging in to servers requiring authentication via a .netrc file (similar to ftp).
To onnect to webdav server, from a shell prompt enter:
$ cadaver http://your-server.com/webdav

No comments:

Post a Comment