====== Pi-Hole - Setup Pi-Hole running in Ubuntu ====== It is recommended to have a dedicated Ubuntu instance for pi-hole. This could be an actual physical machine, or a VM. **NOTE:** The pi-hole is very lean and uses a minimal amount of system resources. So you do not need to allocate a huge amount of memory to this Ubuntu instance; 8G should be sufficient. 20G of Hard disk space is also more than enough. ---- ===== Update and Configure Ubuntu ===== On the Ubuntu instance where you want to run pi-hole, run updates: sudo apt update Next install the ssh server: sudo apt install -y openssh-server Now add a username other than the default. Just go through the dialogue and answer the prompts for the new user: sudo adduser piuser Now grant the new user privilege: sudo usermod -aG sudo piuser Ensure that you know the IP Address of this Ubuntu instance: ip addr **NOTE**: For this example, we assume the IP Address is 192.168.1.25 ---- ===== SSH into the Ubuntu ===== Open a terminal back on your desktop computer and "ssh" to the Ubuntu machine with the IP Address: ssh piuser@192.168.1.25 Get root privileges in the command window: sudo -i Install "curl": sudo apt install curl Now you can install pi-hole: curl -sSL https://install.pi-hole.net | bash Select the defaults until the DNS screen and then choose Cloudflare as your DNS. * Accept all the rest of the defaults and be careful not to change them. This will assure that you get the admin web interface and that statistics are logged. * The installation will continue for a few minutes after you answer the prompts. * After your installation completes, you will receive a message telling you to set up the DHCP settings on your router to make the address of your Pi-Hole the primary DNS for your network. * That will insert the Pi-Hole as the "man-in-the-middle" to scrutinize all DNS names before they are either passed to the Internet or "Pi-Holed". When you return to the prompt in the "ssh" terminal session, enter the following command to set your Pi-hole password: pihole -a -p You can now close the "ssh" terminal session. exit ---- ===== Go to your Pi-Hole Website ===== Go to your web browser and enter the address of your Pi-Hole followed by /admin: http://192.168.1.25/admin Select the **login** option and you should be able to log in with the password you just set. **NOTE:** Since this is running in a standard Ubuntu instance, you will be able to reboot without any problems and even upgrade Pi-Hole when new releases are available. The pi-hole is also very lean and uses a minimal amount of system resources. **IMPORTANT:** Don't forget to set the DNS settings for your DHCP server on your router because Pi-Hole will not be used by any of your network clients until that occurs. A good practice is to make the Pi-Hole DNS 1 and then Cloudflare 1.1.1.1 as DNS 2. That will assure DNS translation when your Pi-Hole is not running. ---- ===== References =====