Some concepts you should know in order to run a PiHole

(Originally a reddit post, now edited)

Other people have described the steps to set up a PiHole. (Links below). This page will explain some more basic conceptual things. You'll likely understand some of these already, but maybe not all (or maybe someone else can use the explanations). So:


  1. A Raspberry Pi is a single board computer. This might be obvious, but it can also be misleading: even without a keyboard, mouse, monitor, or any of that type of thing, a Pi is a computer. That is, a Pi is a thing that does computations on data, signals, etc. It is called a "single board computer" because it is built on a single circuit board, instead of having motherboard, RAM, etc as separate components which plug into each other (inside of a case) to make a complete computer. The keyboard, monitor, mouse and all of that have nothing to do with the Pi being a computer.

  2. A computer needs software to do anything interesting. Software Technically the Pi has some storage on the board itself, but that is used for firmware, not the kind of software we care about. The Pi uses an SD card for primary storage- that is, it uses the SD card in the way people are used to using Hard Drives, not the way people are used to using SD cards. The SD card will have to stay in the Pi whenever you want to use it. The software you care about (the operating system and all its programs) will be run from the SD card.

  3. The basic kind of software you need to care about it is an operating system. NOOBS is (basically) a kind of super-minimal operating system that is only used to install your choice of whatever operating system you actually want to use. You will need to choose an operating system in order to install software (like PiHole) or do anything interesting with your Pi.

  4. Here's a "gotcha" concept: In my experience, it is very easy to accidentally corrupt your SD card (the main storage your Pi needs to operate properly). This can happen whenever you unplug the Pi without first shutting it down properly. If this happens, you have to go to a different computer to set the SD card up correctly again. (As I type this, my Pihole is actually out of commission because I had a power outage and my SD card is corrupted. Easy to fix, though).

  5. An operating system is not the same thing as a GUI. Having a desktop to look at, with things like windows, menus, icons, etc. is descriptive of a GUI. Those things are created by certain software, but they aren't the same thing as the software. You might want an operating system without a built in GUI! Certain operating systems (like Raspian, but not Raspan Lite) have built in GUIs (with desktops). This means that if you get Raspian installed (correctly) on your Pi, you can plug a screen and keyboard/mouse into your Pi and use it like a desktop computer! (For a Pi Zero, you'll probably need a USB adapter or hub).

  6. You don't want a desktop computer, though, you want a PiHole! PiHole is a server-type application, which means you don't actually ever need to set up your Pi with a desktop. Instead, you need to get it on your network, with PiHole installed, and then you need to change network settings on your other devices so they will talk to the PiHole to get the network information that makes the magic work.

  7. This means you might want to go with a headless install on your Pi. "Headless" basically means you don't hook a keyboard or screen to your Pi, you just remote control it with a command line or in a web browser. Once you get Pihole set up, the Pihole program will create a local webpage you can use to control the Pihole application. (The guide I linked to is for Pi Zero W. If you have the non-wireless version, you will need some way to get your Pi connected to the network, like a USB/Ethernet adapter.)

  8. Pihole is technically a program you install on your Pi. To get it installed, you will need to access a command line interface on the Pi (either in a window inside a desktop, or in SSH) and run the install commands while the PI is connected to the internet. (When you run the "install" setup script, it walks you through the install process)

  9. Then, if any device on the same network browses to the Pi's IP address, you will see the control menus in your browser. Congrats, you have a Pihole! (you still need to set up your network and/or individual devices to use the Pihole as your DNS server).