WebDAV is an extension of the HTTP protocol that allows you share files remotely. Most web server software such as Apache HTTPhave built-in WebDAV modules but they usually require complex configuration steps.
One of the easiest ways to configure a WebDAV server is by using rclone.
Rclone is a command line application used to manage files on cloud storage, but it also be used to configure a WebDAV server.
Step 1
Install rclone.
$ sudo dnf install rclone -y
Take a look at the rclone serve webdav command:
rclone serve webdav remote:path [flags]
The remote:path specifies the directory for the WebDAV server.
For example:
/media/webdav/
We will use the addr, user, and pass flags.
The addr flag is used to specify the IP address and port.
--addr 192.168.4.200:8111
The user flag is used to specify a username. Choose a new name that doesn't exist on the server.
--user poochie
The pass flag is the password for the WebDAV user.
Here is the full command to start the WebDAV server:
Step 2
Create a custom systemd unit file to control the WebDAV server.
Create a bash script that contains the complete rclone serve command.
Make the script executable.
Create a systemd unit file for the script.
Add the following lines:
Run the following systemctl commands to start the service: