Note: FAQ updated in September 2022 to reflect files locations for Pi-Hole V5.12.
/etc/.pihole/
This directory is a clone of the pi-hole
repo. During installation, the repository is cloned here so the files Pi-hole needs can be copied to your system.
/etc/cron.d/
pihole
: thecron
file that runs scheduled tasks such as rotating and flushing the log files or downloading the latest updates from the blocklist sources
/etc/dnsmasq.d/
01-pihole.conf
: the config specific to Pi-hole that controls howdnsmasq
functions02-pihole-dhcp.conf
: the config file used when Pi-hole's DHCP server is active04-pihole-static-dhcp.conf
: file of static DHCP leases
/etc/lighttpd/
lighttpd.conf
: this is used to configure the Web server to respond to black holed domains and return a 404 of a blank Webpage. It also contains X-Headers and a few other settings.external.conf
: this is a user-created file that can be used to modify the Web server. These changes will persist through updates, unlike if you were to manually editlighttpd.conf
/etc/pihole/
This is where most of Pi-hole's config files exist. It contains:
adlists.list
: a custom user-defined list of blocklist URL's (public blocklists maintained by Pi-Hole users)blacklist.txt
: a user-defined list of additional domains to block locally - legacy file (pre v5.x)dhcp.leases
: store Pi-hole's DHCP leases informationdns-servers.conf
: The list of DNS servers that ship with Pi-Holegravity.db
: database file with all of the domains that are being blocked - perhaps Pi-hole's most important databaseinstall.log
: a log file generated during installationlist.**.domain
: these are the raw block lists that are downloaded.local.list
: this contains local list entries such aspi.hole
so you can access the Web interface via name instead of IP.logrotate
: this is the config file that controls howlogrotate
handles flushing the log filemacvendor.db
: a database of MAC addresses that relate the MAC address to a vendor (this file is updated when Pi-Hole is updated)pihole-FTL.conf
: this is the config file that specifies local pihole-FTL optionspihole-FTL.db
: this is the long term Pi-Hole database, containing a record of queries and a network table of clients.regex.list
: file of regex filters that are compiled with each pihole-FTL start or restart - legacy file (pre v5.x)setupVars.conf
: this file contains variables needed to effectively setup and configure Pi-holeversions
: this file has information about the release version in GitHub and local versionswhitelist.txt
: a user-defined list of domains to be whitelisted locally. Adding domains to this list makes them "gravity proof." - legacy file (pre v5.x)
/opt/pihole/
- individual scripts that are called by
pihole
COL_TABLE
: used for showing colors in the output of scripts
/usr/local/bin/
pihole
: this is the command that lets you control and configure your Pi-hole installation
/run/
pihole-FTL.pid
: the process ID used by FTLpihole-FTL.port
the port number used by FTL (defaults to 4711)
/var/log/pihole/
FTL.log
: This is the log file that contains information handled by our FTL engine. This file is rotated every night at midnight.pihole.log
: This is the log file that contains all of the DNS queries Pi-hole handles as well as the queries that were blocked. See this post to learn how to interpret this file. This file is rotated every night at midnight.pihole_debug.log
: This is the log file generated bypihole -d
. This is stored locally, but you also have the option to upload it to our secure server
/var/log/lighttpd/
access-pihole.log
: this log contains entries from blocked domains (and the web interface). It is useful for visualizing Pi-hole.error-pihole.log
: this log file contains errorslighttpd
may run into
/var/www/html/admin/
- This folder contains all the files needed for the admin interface and is simply a clone of the repo.
/var/www/html/pihole/
- This folder contains the blank HTML page that is delivered in place of advertisements.
- It also contains the blockpage if you try to directly visit a domain that is blocked