No action found for directive 'webdav' with server type 'http' (missing a plugin?)

1. My Caddy version (caddy -version):

caddy -version

2. How I run Caddy:

Please provide all of the relevant information and DO NOT REDACT anything except passwords/keys. Thank you!

Systemd service

a. System environment:

OS, relevant versions, systemd? docker? etc.

Ubuntu 18.04, systemd, Digital Ocean image, nothing else much to say.

b. Command:

caddy -validate

c. Service/unit/compose file:


[Unit]
Description=Caddy HTTP/2 web server
Documentation=https://caddyserver.com/docs
After=network-online.target
Wants=network-online.target

[Service]
;REPLACE ME
User=root
Group=root
WorkingDirectory=/root
ReadWriteDirectories=/root
Environment=CADDYPATH=./.caddy


ExecStart=/usr/local/bin/caddy -log stderr -agree=true -conf=./Caddyfile -root=./.caddy
ExecReload=/bin/kill -USR1 $MAINPID
Restart=on-failure
LimitNOFILE=1048576

d. My complete Caddyfile:

paste Caddyfile here
DO NOT REDACT anything except credentials

i.davidv7.xyz {
    root ./Website/Pictures
    gzip
    browse
    tls david.vuckovic7@gmail.com
}

d.davidv7.xyz {
    basicauth / redacted redacted
    webdav / {
       scope ./Website/Pictures/
    }
    tls david.vuckovic7@gmail.com
}

cv.davidv7.xyz {
    root ./Website/CV/public
    tls david.vuckovic7@gmail.com

}

blog.davidv7.xyz {
    root ./Website/blog/public
    tls david.vuckovic7@gmail.com

}

3. The problem I’m having:

The webdav module does verify, so I cannot start the server. Works fine without.

4. Error messages and/or full log output:

no action found for directive ‘webdav’ with server type ‘http’ (missing a plugin?)

5. What I already tried:

Reinstalling, using:

curl https://getcaddy.com | bash -s personal tls.dns.cloudflare http.webdav

6. Links to relevant resources:

No relevant sources, just me not being able to figure this out

Hi @davidv171, welcome to the Caddy community!

This command:

curl https://getcaddy.com | bash -s personal tls.dns.cloudflare http.webdav

Won’t download http.webdav. From the script:

# So if you want to get Caddy with extra plugins, the second
# argument is a comma-separated list of plugin names, like this:
#
#	$ curl https://getcaddy.com | bash -s personal http.git,dns

So try instead with a comma rather than a space at the end there and it should download with webdav plugged in. Run caddy -plugins once you’ve downloaded it and verify that http.webdav is present.