diff --git a/docs/guides/webserver/lighttpd.md b/docs/guides/webserver/lighttpd.md new file mode 100644 index 000000000..29cca1dd9 --- /dev/null +++ b/docs/guides/webserver/lighttpd.md @@ -0,0 +1,58 @@ +### Notes & Warnings + +- **This is an unsupported configuration created by the community** + +### Basic requirements + +1. Run [basic-install](/main/basic-install/) and choose to install the Admin Web Interface. + lighttpd is the default webserver installed and used by the pi-hole Admin Web Interface. + +### Optional configuration + +lighttpd config with [BLOCK\_IPV4](/ftldns/configfile/#block_ipv4) or [BLOCK\_IPV6](/ftldns/configfile/#block_ipv6) +(Note this does not work with TLS due to local server not having local TLS certificates for 1.6+ million ad domains) + +Option 1: configure lighttpd 404 error handler (compatibility with old pi-hole behavior) +Sample handler: pi-hole used to provide /var/www/html/pihole/[index.php](https://github.com/pi-hole/pi-hole/blob/v5.14.2/advanced/index.php) +Adjust `server.error-handler-404` to be the url-path from the virtual host document root (e.g. `/var/www/html`). +If not already enabled, the global lighttpd.conf must be configured for mod\_fastcgi to handle `.php`. +(Alternatively, `/pihole/index.php` could instead be an empty file `/404.txt`) + +Fedora: + + ```bash + echo 'server.error-handler-404 := "/pihole/index.php"' > /etc/lighttpd/conf.d/pihole-block-ip.conf + echo 'include "/etc/lighttpd/conf.d/pihole-block-ip\*.conf"' >> /etc/lighttpd/lighttpd.conf + service lighttpd restart + ``` + +Debian: + + ```bash + echo 'server.error-handler-404 := "/pihole/index.php"' > /etc/lighttpd/conf-available2/08-pihole-block-ip.conf + lighty-enable-mod pihole-block-ip + service lighttpd restart + ``` + +Option 2: configure lighttpd mod\_magnet +(sample lua app created by lighttpd dev, also replacing `pihole-admin.conf`) + +Download, review, and copy [pihole-block-ip.lua](https://github.com/gstrauss/pi-hole/blob/lighttpd-lua/advanced/pihole.lua) to `/etc/lighttpd/pihole-block-ip.lua` + +Fedora: + + ```bash + echo 'server.modules += ("mod\_magnet")' > /etc/lighttpd/conf.d/pihole-block-ip.conf + echo 'magnet.attract-physical-path-to += ("/etc/lighttpd/pihole-block-ip.lua")' >> /etc/lighttpd/conf.d/pihole-block-ip.conf + echo 'include "/etc/lighttpd/conf.d/pihole-block-ip\*.conf"' >> /etc/lighttpd/lighttpd.conf + service lighttpd restart + ``` + +Debian: + + ```bash + echo 'server.modules += ("mod\_magnet")' > /etc/lighttpd/conf.d/pihole-block-ip.conf + echo 'magnet.attract-physical-path-to += ("/etc/lighttpd/pihole-block-ip.lua")' >> /etc/lighttpd/conf.d/pihole-block-ip.conf + lighty-enable-mod pihole-block-ip + service lighttpd restart + ``` diff --git a/docs/main/faq.md b/docs/main/faq.md index efa659f13..fae847b24 100644 --- a/docs/main/faq.md +++ b/docs/main/faq.md @@ -61,7 +61,7 @@ If requesting a lot of data from the long-term database you get this error ```code An unknown error occurred while loading the data. -Check the server's log files (/var/log/lighttpd/error-pihole.log) for details. +Check the server's log files (/var/log/lighttpd/error*.log) for details. You may need to increase PHP memory limit. diff --git a/mkdocs.yml b/mkdocs.yml index 8093d0f54..91c256406 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -179,6 +179,7 @@ nav: - 'Using DNSSEC': guides/misc/tor/dnssec.md - 'Whitelist and Blacklist editing': guides/misc/whitelist-blacklist.md - 'Web server': + - 'lighttpd': guides/webserver/lighttpd.md - 'NGINX': guides/webserver/nginx.md - 'Caddy': guides/webserver/caddy.md - 'Traefik (not in Docker)': guides/webserver/traefik-nodocker.md @@ -231,6 +232,7 @@ plugins: 'guides/tor/performance-issues.md': guides/misc/tor/performance-issues.md 'guides/tor/dnssec.md': guides/misc/tor/dnssec.md 'guides/whitelist-blacklist.md': guides/misc/whitelist-blacklist.md + 'guides/lighttpd-configuration.md': 'guides/webserver/lighttpd.md' 'guides/nginx-configuration.md': 'guides/webserver/nginx.md' 'guides/caddy-configuration.md': 'guides/webserver/caddy.md' 'guides/traefik-configuration-nodocker.md': 'guides/webserver/traefik-nodocker.md'