It may be advantageous to run multiple separate PowerDNS installations on a single host, for example to make sure that different customers cannot affect each others zones. PowerDNS fully supports running multiple instances on one host.
To generate additional PowerDNS instances, create a pdns-NAME.conf
in your configuration directory (usually /etc/powerdns
), where
NAME
is the name of your virtual configuration.
Following one of the following instructions, PowerDNS will read its
configuration from the pdns-NAME.conf
instead of pdns.conf
.
Symlink the init.d script pdns
to pdns-NAME
, where NAME
is
the name of your virtual configuration.
Warning
NAME
must not contain a ‘-’ as this will confuse the script.
Internally, the init script calls the binary with the
config-name option set to name
,
setting in motion the loading of separate configuration files.
When you launch a virtual instance of PowerDNS, the pid-file is saved
inside socket-dir as pdns-name.pid
.
Warning
Be aware however that the init.d force-stop
will kill all PowerDNS instances!
With systemd it is as simple as calling the correct service instance.
Assuming your instance is called myinstance
and
pdns-myinstance.conf
exists in the configuration directory, the
following command will start the service:
systemctl start pdns@myinstance.service
Similarly you can enable it at boot:
systemctl enable pdns@myinstance.service