Web interface issues
Troubleshooting
1. Web Interface Not Loading (404 Error)
When encountering a 404 error, the issue typically stems from a non-running or misconfigured web server. Restart the web server using sudo service lighttpd restart. If problems persist, reinstall Pi-hole with pihole -r to ensure proper configuration.
2. 403 Forbidden Error
This access denial can result from incorrect file permissions or IP restrictions. To resolve:
- Adjust file permissions using
sudo chmod -R 755 /var/www/html - Verify the lighttpd configuration file contains the correct IP binding (
server.bind = "0.0.0.0")
3. Blank or Partially Loaded Pages
Incomplete page loading often indicates cache issues or missing system files. Clear your browser's cache and, if necessary, reinstall Pi-hole's web interface using the repair option (pihole -r).
4. Login Authentication Issues
When admin password authentication fails, either due to a forgotten password or database corruption, reset the password using pihole -a -p [newpassword].
5. Statistics and Query Log Loading Errors
If statistics or query logs fail to load, the issue may lie with the DNS resolver or FTL service. Restart DNS services using either pihole restartdns or sudo service pihole-FTL restart.
6. API Connection Loss
When the web interface loses connection to the API, either the FTL service has stopped or a firewall is blocking access. To fix:
- Restart the FTL service:
sudo service pihole-FTL restart - Review firewall settings and ensure required ports (80, 53) are open
7. Dashboard Statistics Inaccuracies
Corrupted databases or logs can cause incorrect dashboard statistics. Resolve by:
- Clearing logs with
pihole -f - Rebuilding the database:
sudo service pihole-FTL stop sudo rm /etc/pihole/pihole-FTL.db sudo service pihole-FTL start
8. Style and Script Loading Failures
When CSS or JavaScript fails to load due to missing or corrupted files, repair the web interface using pihole -r.
9. External Network Access Issues
If Pi-hole is inaccessible from external networks, check that it's not bound to local IP only. Update lighttpd.conf to include server.bind = "0.0.0.0". Exercise caution when enabling remote access.
10. Post-Login Access Denial
If access is denied after login, check browser settings:
- Clear browser cookies
- Verify JavaScript is enabled
- Try an alternate browser
11. SSL Certificate Errors
HTTPS errors typically indicate missing or expired SSL certificates. Install a certificate using Let's Encrypt or manually configure HTTPS in lighttpd.
12. Reboot Persistence Issues
When errors persist after system reboots, ensure services are set to start automatically:
sudo systemctl enable pihole-FTL lighttpd
For troubleshooting assistance, generate diagnostic logs using pihole -d and review the lighttpd error log at /var/log/lighttpd/error.log.
Something here not working for you? Ask in the community — other makers and the Little Bird team read it.