This is a historical document and left for archival purposes. For up to date information please use https://docs.pi-hole.net/
--- OLD INFORMATION ---
The Installer
Our intelligent installer is tailored to installations at home and behind firewalls. If you are installing Pi-hole in an environment beyond that scope, you will need to take extra security measures when installing it.
Hardware
Pi-hole is very lightweight as it only handles DNS queries and returns a blank HTML file so it doesn't need much processing power.
- ~52MB of free space
- 512 MB RAM
Software
Pi-hole will run on most Debian-based distro's and is the preferred platform for it.
We officially support the following:
- Raspbian: Jessie/Stretch
- Ubuntu: 16.04 / 16.10
- Debian: 8 / 9
- Fedora 27, 28, 29
- CentOS: 7 (not ARM)
Routers, DHCP Options, And Setting The DNS Server
To take advantage of not having to manually configure your devices to use Pi-hole, your router needs to support an option to change your local DNS server, or set it in the DHCP Options section. More on this step can be found here:
https://discourse.pi-hole.net/t/how-do-i-configure-my-devices-to-use-pi-hole-as-their-dns-server/245
If you don't have these options, you can disable DHCP on your router and enable Pi-hole's built in DHCP server. Then Pi-hole can handle configuring your devices to use it as their DNS server.
Finally, some devices such as Google devices, hardcode their DNS server so it will always be first to be queried. This behavior interferes with how Pi-hole blocks ads. In this case, there's not a lot of options to fix it without hacking your way around it.
IP Addressing
Pi-hole needs a static IP address to properly function (a DHCP reservation is just fine). Users may run into issues because we currently install
dhcpcd5
, which may conflict with other running network managers such asdhclient
,dhcpcd
,networkmanager
, andsystemd-networkd
.As part of our install process, we append some lines to
/etc/dhcpcd.conf
in order to statically assign an IP address, so take note of this prior to installing.Please be aware of this fact because it may cause confusion. This is not the ideal situation for us to be in, but since a significant portion of our users are running Pi-hole on Raspbian; and because Pi-hole's roots began with the Raspberry Pi, it's a problem that is difficult problem to get away from.
Due to the complexity of different ways of setting an IP address across different systems, it's a slow process and we need help. If you're willing to contribute, please let us know.
Ports
We need ports 53, 80, and 4711. Port 80 is optional if you decide not to install the Web dashboard during installation.
Port 53 should be used by
dnsmasq
If you happen to have another DNS server running, such as BIND, you will need to turn it off in order for Pi-hole to respond to DNS queries.
Port 80 should be used by
lighttpd
If you have another Web server already running, such as Apache, Pi-hole's Web server will not work. You can either disable the other Web server or change the port on which
lighttpd
listens, which allows you keep both Web servers running.Port 4711 should be used by
pihole-FTL
FTL is our API engine and by default uses port 4711, but will increment if it's already in use by something else.https://discourse.pi-hole.net/t/how-do-i-configure-my-devices-to-use-pi-hole-as-their-dns-server/245https://discourse.pi-hole.net/t/how-do-i-configure-my-devices-to-use-pi-hole-as-their-dns-server/245