Comments on Installing PowerDNS (With MySQL Backend) And Poweradmin On Ubuntu 8.10
Installing PowerDNS (With MySQL Backend) And Poweradmin On Ubuntu 8.10 This article shows how you can install the PowerDNS nameserver (with MySQL backend) and the Poweradmin control panel for PowerDNS on an Ubuntu 8.10 system. PowerDNS is a high-performance, authoritative-only nameserver - in the setup described here it will read the DNS records from a MySQL database (similar to MyDNS), although other backends such as PostgreSQL are supported as well. Poweradmin is a web-based control panel for PowerDNS.
2 Comment(s)
Comments
Hello, great article! I would recommend 2 small changes on the create table code however. According to the PowerDNS docs, you will get better performance by using InnoDB. From the page http://doc.powerdns.com/generic-mypgsql-backends.html: In practice, great results are achieved with the 'InnoDB' tables. PowerDNS will silently function with non-transaction aware MySQLs but at one point this is going to harm your database, for example when an incoming zone transfer fails. In order to do this, you would change the domain create statement to read: 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) )engine=InnoDB; To create the records table as InnoDB, do the following: 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) )engine=InnoDB; Additionally, you can create cascading restraints on different fields... In plain english, you can have MySQL automatically delete records in the records table that are associated with a domain that has been deleted. To add this constraint, instead use the following create statement for the records table: 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), CONSTRAINT `records_ibfk_1` FOREIGN KEY (`domain_id`) REFERENCES `domains` (`id`) ON DELETE CASCADE )engine=InnoDB; I have set my environment up this way and have no complaints, but your milage may vary. Either way, I just wanted to give an alternative that people may find useful.
This is certainly the most complete tuto i seen about POWERDNS!
Amazing and full easy
Thank you very much!!!!!!