Where Does phpIPAM Store Config and Data?
phpIPAM reads config.php (copied from config.dist.php) for database wiring. Subnets live in MySQL beside it.
Last updated
phpIPAM centers on config.php in the install root (copied from config.dist.php): database host/user/pass/name, BASE path when hosted in a subdirectory, and debugging flags. Subnets, addresses, VLANs, and users live in MySQL. Docker images take the same values as env vars with trust-proxy flags for reverse setups.
Fresh installs require the file before anything renders; the app dies with a missing-config message otherwise. Default admin/ipamadmin credentials must change immediately. Subdirectory hosting needs the BASE directive matching the URL path exactly, which is the classic reason a moved install shows a blank page with a healthy database behind it.
Where phpIPAM stores this, by platform
config.php (install root)
DB wiring, BASE path, debug flags. Copy from dist template; required before first render. Docker uses env equivalents. Guard DB password; it sits in plaintext PHP.
Frequently asked questions
how do i back up phpipam
Copy config.php plus a MySQL dump with the app stopped. Subnets, VLANs, devices, and users travel in the database; credentials and BASE path in the file. Restore both; the installer refuses without config.php present.
should i delete the phpipam install folder
Disable the installer afterwards. The app checks for install/ presence; leaving it permits database reinitialization over live subnets. Remove or block the directory once setup completes.
Notice an outdated path? Let us know.