Guide to using WebDAV under Virtualmin

I recently had a user of our Virtualmin server ask me about using WebDAV. I failed to find any instructions for using WebDAV under Virtualmin online so I thought I’d share my notes on getting WebDAV with virtualmin working on this forum, as I did for integrating ZFS with vmin.

WebDAV could be described as being an alternative to (S)FTP but unlike those protocols it uses the standard HTTP(S) ports and may be a better fit for transferring files in some situations such as exporting data from a calendar or groupware program. In addition, most modern file managers support accessing WebDAV shares.

First make sure the DAV login plugin is enabled under Virtualmin -> System Settings -> Features and Plugins

Next enable DAV login for your domain / user under Virtualmin -> Edit Users -> Other User Permissions

Under Virtualmin -> Services -> Dav Authentication, set Auth type to ‘Basic’ and DAV username mode to ‘POP3/FTP’ (these are the defaults)

Go to Virtualmin -> Services -> Configure Website and click on ‘Location /dav’ under Per-Directory options then choose ‘Access Control’. Click on ‘Edit Users’ (next to ‘User text file’) then click on the user you wish to set the DAV password for. Now, click on the ‘Plain text’ option and enter your password before clicking ‘Save’.

You should now be able to access your DAV share from a Linux/UNIX terminal with a command such as:

cadaver http://my.site.com/dav

If you’d prefer to use a GUI under Linux, the Nautilus and Caja file managers can connect to DAV shares via File -> Connect to server. Windows Explorer and MacOS finder also support opening WebDAV shares.

1 Like

i tried using WebDAV for a time, but it did not seem very reliable. instead i started using iDrive idevsutil which works great.

unfortunately, for some bizarre reason, iDrive is phasing out idevsutil in favor of a new perl based one. and the new one does NOT take command-line switches. its easy enough to modify the perl scripts to allow for the switches, but why should we? i have told them many times to put the damn perl scripts on github and let the community maintain them.

also, some of the new(er) iDrive accounts don’t let you rename files, move directories, etc. but for the bang for the buck on pricing, and the linux, support, iDrive is hard to beat.

DAV is challenging and of limited utility in a shared system, unfortunately, as it runs under Apache, and doesn’t work well with files owned by the domain user:group. At least, that’s how it was the last time I tinkered with it.

There are alternative DAV servers, as well, but I haven’t looked into it in a long time, as it just doesn’t come up very often as being a thing people care about. DAV was a mostly failed protocol (it’s not a great protocol, and doesn’t satisfy the common use cases very well). I thought it’d be a more popular feature in the past, but then I actually tried using it, and found it’s not a great network filesystem (where network filesystems are things like NFS or ceph or SMB) and it’s not a great file transfer tool (where fil transfer tools are things like like FTP/scp/sftp) I stopped paying attention to it.

It’s possible that mod_itk will allow it to work for user-owned files without having to us too-loose permissions for safety, but it’s also not something I’ve looked into. It’s plausible we’ll support mod_itk in the future, but for now, that’d be something you’d need to setup on your own.

2 Likes