This page explains how to setup PowerDNS for Virtualizor. The Virtualizor-PDNS install script will install PowerDNS, MySql and other dependencies and will setup database replication between the primary and secondary nameservers.


Create two small VPSs with CentOS 6/7 64 bit, 512MB Ram , 10GB HDD .
You should have at least 2 DNS servers in your setup .

The setup should be as below :

  • One VPS for primary nameserver
  • One VPS for secondary nameserver
  • SSH access to both VPSs and should be ping-able to each other
  • SSH port and MySQL Database port (3306) must be unblocked on both PDNS servers
eg On CentOS 7, you can run below command to unblock port 3306:

firewall-cmd --add-port 3306/tcp --permanent 

NOTE: Virtualizor PowerDNS can be installed ONLY on 64 bit Machines.
We use the repository provided by PowerDNS itself : https://repo.powerdns.com/


These instructions are to be run only on the primary nameserver.

  • Download the Virtualizor PowerDNS install script onto the VPS that you have assigned to be your primary nameserver.
  • The PowerDNS install script executed on the primary name server will automatically install and configure the secondary nameserver .Make sure you have pass the correct parameters of the secondary server.
root> wget http://files.virtualizor.com/pdns_install.sh
  • Make the script executable
root> chmod +x pdns_install.sh
  • Run the script
root> ./pdns_install.sh --mysql-username=root --mysql-password='password' --virt-serverip=xxx.xxx.xxx.xxx \
--masterns-ip=xxx.xxx.xxx.xxx --slavens-ip=xxx.xxx.xxx.xxx --slavens-rootpass='password' 

Note : All the arguments are compulsory. All the parameters to be specified on the same line.

Parameters breakdown

Name Description
–mysql-username This needs to be the mysql username of the primary nameserver. This is mostly root.
–mysql-password This needs to be the mysql root password of the primary nameserver,
specified within single quotes (‘ ‘)
–virt-serverip This needs to be the IP Address of the server on which Virtualizor is installed.
–masterns-ip This needs to be the IP Address of the primary nameserver.
–slavens-ip This needs to be the IP Address of the secondary nameserver.
–slavens-rootpass This needs to be the root(not mysql) password of the secondary nameserver,
specified within single quotes (‘ ‘)
  • After running the script, run the following command to verfiy installation by running one of following commands.
$ service pdns status


$ systemctl status pdns


$ /etc/init.d/pdns status

Next : To Configure powerDNS in virtualizor please refer the below guide :

Was this helpful to you?