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: thecronfile 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 howdnsmasqfunctions02-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.holeso you can access the Web interface via name instead of IP.logrotate: this is the config file that controls howlogrotatehandles 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.portthe 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 errorslighttpdmay 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