Hi
You are running into permission issues, despite your chmod --recursive a+r ~/web
attempt.
Will explain in a second, but first:
The blank page you are seeing has an error attached, actually.
Sure, there is nothing to see on the website itself, but the browser devtools report a http/403 status code.
Your curl
(thank for providing that, btw), shows it too:
A user (here: caddy
), which tries to read a file (here: your website) on Linux, must have execution permissions (e.g chmod -R a+x
) on every directory leading to your file.
This is just how Linux file permissions work
I’ve explained that a bit in the past in
but I haven’t tidied up it to a proper wiki article here yet *sigh*
Anyhow, so the tl;dr-ish version would be:
caddyserver runs as user caddy
Your website’s webroot is in /home/ubuntu/web
But the caddy
user is missing the execution permissions on /home/ubuntu
and maybe on /home/ubuntu/web
.
You could just add the missing permission bit via chmod
, but please don’t.
Just move your website into a proper location like /srv
or /var/www
and you are good.
The /home/$USER/
directory is missing the execution bit by default for a reason.
Other users aren’t supposed to have access to any file or directories in another users’ /home
directory.