How To Install PowerDNS on CentOS


In this Vultr tutorial, you’ll learn how to install PowerDNS. PowerDNS is a program for running your own nameservers. It is very useful when combined with Vultr’s DDoS protected network. The steps in the tutorial will work on both CentOS 5 and CentOS 6 (on both x64 and i686 variants).


Install wget if it’s not already installed.

yum install wget -y

Installing PowerDNS

Install MySQL and start the service.

yum install mysql mysql-server -yservice mysqld start

Set the MySQL password.

mysqladmin -u root password <your desired password>

Log into your MySQL server and create a database for PowerDNS.

mysql -u root -p CREATE DATABASE powerdns;

Create the PowerDNS user.

user powerdns;

Populate the required tables for PowerDNS.

CREATE TABLE domains (-> id INT auto_increment,-> name VARCHAR(255) NOT NULL,-> master VARCHAR(128) DEFAULT NULL,-> last_check INT DEFAULT NULL,-> type VARCHAR(6) NOT NULL,-> notified_serial INT DEFAULT NULL,-> account VARCHAR(40) DEFAULT NULL,-> primary key (id)-> );CREATE UNIQUE INDEX name_index ON.  domains(name);CREATE TABLE records (-> id INT auto_increment,-> domain_id INT DEFAULT NULL,-> name VARCHAR(255) DEFAULT NULL,-> type VARCHAR(6) DEFAULT NULL,-> content VARCHAR(255) DEFAULT NULL,-> ttl INT DEFAULT NULL,-> prio INT DEFAULT NULL,-> change_date INT DEFAULT NULL,-> primary key(id)-> );CREATE INDEX rec_name_index ON records(name);CREATE INDEX nametype_index ON records(name,type);CREATE INDEX domain_id ON records(domain_id);CREATE TABLE supermasters (-> ip VARCHAR(25) NOT NULL,-> nameserver VARCHAR(255) NOT NULL,-> account VARCHAR(40) DEFAULT NULL-> );

Exit the MySQL console.


Install the PowerDNS software (pdns).

yum install pdns pdns-backend-mysql -y

Open the PowerDNS configuration with your favorite text editor.

vi /etc/pdns/pdns.conf

You should see the following section in the configuration file. Update the MySQL password accordingly.

# launch=launch=gmysqlgmysql-host=<your_mysql_password>gmysql-dbname=powerdns

Start the PowerDNS service.

service pdns start

Configure both PowerDNS and MySQL to start on boot.

chkconfig --levels 235 mysqld onchkconfig --levels 235 pdns on


Congratulations, you now have a running PowerDNS server. In order to add, remove, edit, or even move a zone, simply connect to the database and push the required changes. At this point, you are ready to point a domain to your server.

Want to contribute?

You could earn up to $300 by adding new articles

Submit your article
Suggest an update
Request an article

No comments

Powered by Blogger.