Hosting
DNS
NexPanel manages DNS through PowerDNS Authoritative. When DNS is enabled, a zone is created for every new domain, and customers edit their records in DNS Editor.
Install PowerDNS
The installer is included in the controller package. After installing NexPanel it is in /root/nexpanel-install/<version>/nexpanel-controller-<version>/packaging/.
On the controller (test setup, SQLite backend):
./install-powerdns.sh --ns1 ns1.example.com --ns2 ns2.example.com --controller-dir /opt/nexpanel-controller
On a separate DNS server (MariaDB backend, API open only to your controllers):
./install-powerdns.sh --backend mysql --ns1 ns1.example.com --ns2 ns2.example.com \
--allow-from 203.0.113.10 --allow-from 203.0.113.11
then copy the printed NEXPANEL_PDNS_* values into each controller's .env.
Create the ns1/ns2 host records (glue) at your domain registrar so customers can point their domains at your nameservers.
Admin pages
- DNS › DNS Zones — every zone; edit records as an admin.
- DNS › DNS Cluster — additional PowerDNS servers that receive copies of the zones.
Wrong or missing something? Let us know.