Cookie

Enable WebDAV on Linux

Published by TheJoe on

Estimated reading time: 3 minutes

Caution


This article was published more than a year ago, there may have been developments.
Please take this into account.

WebDAV (acronym for Web Distributed Authoring and Inersioning) is an HTTP protocol extension that enables clients to perform operations on the remote server.

WebDAV is nothing new, it was first introduced in 1996 and it has been the standard ever since de facto of many web applications.

WebDAV is directly dependent on and connected to Apache2. However, by installing the webserver we will not automatically enable WebDAV as well. By the end of this article you will know how to activate WebDAV on a Linux computer. We assume that on the PC in question there is already an active and functioning LAMP installation. I'll use Ubuntu for the occasion 20.04 LTS.

Enable modules

First we enable the modules necessary for the functioning of WebDAV. We open a terminal and type:

~$ sudo a2enmod dav
~$ sudo a2enmod dav_fs

We restart the web server with the command:

~$ sudo /etc/init.d/apache2 restart

Virtual host configuration

In the next step you will create the necessary environment for the host to operate: specific directories, related permissions, changes to the file .conf in Apache.

We will now create the root directory. For simplicity we will call it webdav.

~$ sudo mkdir -p /var/www/webdav

It is important that the owner of the directory and all content is Apache:

~$ sudo chown www-data.www-data /var/www/webdav

In the next step we will create a file .conf which will contain instructions for Apache for it to “notice” of the virtual host:

~$ sudo nano /etc/apache2/sites-available/webdav.conf

The contents of the file:

NameVirtualHost *
<VirtualHost *:80>
   ServerAdmin webmaster@domain
   DocumentRoot /var/www/webdav/
   <Directory /var/www/webdav/>
      Options Indexes MultiViews
      AllowOverride None
      Order allow,deny
      allow from all
   </Directory>
</VirtualHost>
Alias /webdav /var/www/webdav
<Location /webdav>
   DAV On
   AuthType Basic
   AuthName "webdav"
   AuthUserFile /var/www/webdav/passwd.dav
   Require valid-user
</Location>

Note the local address “webmaster@domain“. You will need to enter the real address of the site administrator. Now let's save and close the file with ctrl + o and ctrl + c.

Let's copy the webdav.conf file from “sites available” to “enabled sites” with this command:

~$ sudo a2ensite webdav.conf

Before restarting Apache we need to create a password to access the WebDAV shares (USER must be a user of the system):

~$ sudo htpasswd -c /var/www/webdav/passwd.dav USER

Now that the passwd.dav containing the password we must make it accessible and visible only to the system administrator root and group members www-data:

~$ sudo chown root:www-data /var/www/webdav/passwd.dav
~$ sudo chmod 640 /var/www/webdav/passwd.dav

We restart Apache with the previous command:

~$ sudo /etc/init.d/apache2 restart

If everything went as planned, the system should be active.

Look here:  HTML Purifier per "purify" l'HTML

Test

Testing a WebDAV installation is very simple. There is a simple tool to install and use for this purpose: Cadaver.

~$ sudo apt install cadaver

Once installed, launching it is even easier:

~$ cadaver http://IP_DEL_SERVER/webdav

The system should now ask for user and password. We enter the configured user name and the relative password. If all went well, a prompt like this will be shown:

dav:/webdav/>

Now that the installation has gone smoothly, we can connect WebDAV to any tool that supports it as desired. As already mentioned WebDAV is a not new project that has become a standard over the years and is natively supported by all operating systems (without installing third-party drivers or software). Just write the WebDAV server address in the address bar of any file manager that the operating system is Windows, Mac, Linux, or mobile devices. After prompting for credentials, in all cases a position will be mounted on which we can operate as if it were a local resource (like a USB stick).

Conclusions

WebDAV can be used as a collaborative suite (this was originally the purpose of the project), but most of its application today is as remote storage. WebDAV is a service that can be activated on most NAS and even some hosts have a service running on it (for example cPanel has a module called Web Disk… guess what it is). It is a very tested software, open source and reliable and if I were to start a project that involves linking multiple collaborators into a single project it would be my first preference.


TheJoe

I keep this blog as a hobby by 2009. I am passionate about graphic, technology, software Open Source. Among my articles will be easy to find music, and some personal thoughts, but I prefer the direct line of the blog mainly to technology. For more information contact me.

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.