I am running an Ubuntu 24.04 LTS Linode server with 1 GB of RAM and 1 CPU core, and I have run Pi-Hole successfully before. However, I recently rebuilt my server due to some other issues I was having, so I am trying to install Pi-Hole again, but this time I’m using the installation script instead of Docker. After the installation script finished and gave me a link to my web interface, I thought it would go to the log-in screen of the page. I am running nginx as my web server and a domain of notsparkable.org, with a subdomain of pihole.notsparkable.org in Namecheap.
Actual Behaviour:
I am instead getting a 403 Forbidden nginx/1.24.0 (Ubuntu) error when I try to go to http://[linode_ip]:80/admin.
You log shows Pi-hole is configured to use ports 80 and 443 (the default ports):
[webserver]
port = "80o,443os,[::]:80o,[::]:443os"
But nginx is using these ports:
[✗] tcp:0.0.0.0:80 is in use by nginx (https://docs.pi-hole.net/main/prerequisites/#ports)
[✗] tcp:0.0.0.0:443 is in use by nginx (https://docs.pi-hole.net/main/prerequisites/#ports)
[✗] tcp:[::]:80 is in use by nginx (https://docs.pi-hole.net/main/prerequisites/#ports)
[✗] tcp:[::]:443 is in use by nginx (https://docs.pi-hole.net/main/prerequisites/#ports)
One of the web servers need to use different ports.
You can change nginx settings to use different ports or you change Pi-hole settings to use different ports.
If you decide to change Pi-hole ports, use this command:
I changed the Pi-hole ports to what you suggested, but accessing both the links you provided doesn’t access the web interface; it only loads infinitely.
The last lines of your logs show Pi-hole was terminated:
Nov 5 17:00:02 dnsmasq[65972]: exiting on receipt of SIGTERM
And:
2025-11-05 17:00:03.772 UTC [65972M] INFO: Thread webserver (7) is idle, terminating it.
2025-11-05 17:00:03.772 UTC [65972M] INFO: All threads joined
2025-11-05 17:00:03.772 UTC [65972M] INFO: PID file emptied