Is it possible to share files through Apache WebDAV?

Apache WebDAV allows to setup a WebDAV server without the PHP overhead which is usualy produced through Nextcloud/Owncloud. But is it also able to:

  • share a file / folder with other authed users?
  • share a file / folder by link for a guest?

Does Apache WebDAV include a WebGUI which has such a feature or how does it work?


Solution 1:

Note:

personally I think of webdav as being an obsolete protocol, and generally there are newer, easier tools for sharing files securely. I like syncthing

That said:

You could combine the webdav module with apache's Authentication and Authorization modules to achieve user and group level access to specific webdav directories as described in this tutorial:
https://www.digitalocean.com/community/tutorials/how-to-configure-webdav-access-with-apache-on-ubuntu-14-04

(You would probably also want to setup TLS to secure your site before exposing this to the public internet)

Apache config would look something like this:

<VirtualHost *:80>
   ...

    Alias /webdav /var/www/webdav

    <Directory "/var/www/webdav">
        DAV On

        AuthType Digest
        AuthName "Restricted Files"
        AuthUserFile "/usr/local/apache/passwd/passwords"
        Require valid-user
    </Directory>

and you can add users to the webdav password file using something like

sudo htdigest -c /usr/local/apache/passwd/passwords webdav userxxx

and they would be required to provide a valid user/password when accessing the webdav share.

With regard to your question about a webdav GUI. I don't think that apache provides anything to manage users, access and directives outside configuration files. However there are some tools like webmin that offer some sort of web interface to apache configuration - https://webmin.com/apache.html - which might be enough.

Additionally, it's possible to use alternative backends for user authentication, such as LDAP - https://httpd.apache.org/docs/2.4/mod/mod_authnz_ldap.html , which is a good option if you already have ldap from Active Directory, or some other Single sign on platform in place.

Once you had configured LDAP, you could then use any standard LDAP management tool to administrate users, groups and passwords for access to the webdav, such as JXexplorer - http://jxplorer.org/