Installing PowerDNS (With MySQL Backend) And Poweradmin On Ubuntu 8.10
Installing PowerDNS (With MySQL Backend) And Poweradmin On Ubuntu 8.10Version 1.0 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. I do not issue any guarantee that this will work for you!
1 Preliminary NoteIn this example I'm using an Ubuntu 8.10 host with the hostname server1.example.com and the IP address 192.168.0.100, set up according to the first 10 chapters of this tutorial: The Perfect Server - Ubuntu Intrepid Ibex (Ubuntu 8.10). I will set up just one PowerDNS server in this example (a master); adding PowerDNS slave(s) can easily be achieved by using MySQL database replication from the master to the slave(s), therefore no zone transfers are needed (this again is similar to MyDNS). MySQL database replication can be set up according to this tutorial: How To Set Up Database Replication In MySQL (PowerDNS also supports native zone transfers (for scenarios where you cannot use MySQL replication) - see http://downloads.powerdns.com/documentation/html/replication.html). Because we must run all the steps from this tutorial with root privileges, we can either prepend all commands in this tutorial with the string sudo, or we become root right now by typing sudo su
2 Installing MySQLIn order to install MySQL, we run apt-get install mysql-server mysql-client You will be asked to provide a password for the MySQL root user - this password is valid for the user root@localhost as well as root@server1.example.com, so we don't have to specify a MySQL root password manually later on (as was the case with previous Ubuntu versions): New password for the MySQL "root" user: <-- yourrootsqlpassword We want MySQL to listen on all interfaces (this is important for MySQL replication!), not just localhost, therefore we edit /etc/mysql/my.cnf and comment out the line bind-address = 127.0.0.1: vi /etc/mysql/my.cnf
Then we restart MySQL: /etc/init.d/mysql restart Now check that networking is enabled. Run netstat -tap | grep mysql The output should look like this: root@server1:~# netstat -tap | grep mysql
3 Installing PowerDNSTo install PowerDNS, we run apt-get install pdns-server pdns-backend-mysql The PowerDNS configuration is located in the /etc/powerdns directory - I'll come to that in a moment. Now we connect to MySQL: mysql -u root -p Type in your MySQL root password, and you should be on the MySQL shell. On the MySQL shell, we create a database for PowerDNS: CREATE DATABASE powerdns; Next we create a database user (powerdns) for PowerDNS: GRANT ALL ON powerdns.* TO 'power_admin'@'localhost' IDENTIFIED BY 'power_admin_password'; (Replace power_admin_password with a password of your choice.) Now we create the tables needed by PowerDNS... USE powerdns; CREATE TABLE domains ( CREATE UNIQUE INDEX name_index ON domains(name); CREATE TABLE records ( CREATE INDEX rec_name_index ON records(name); CREATE TABLE supermasters ( ... and finally leave the MySQL shell: quit; Now we must configure PowerDNS so that it uses the MySQL backend: vi /etc/powerdns/pdns.conf Add the line launch=gmysql to pdns.conf:
Then open /etc/powerdns/pdns.d/pdns.local and make it look as follows: vi /etc/powerdns/pdns.d/pdns.local
Then restart pdns: /etc/init.d/pdns restart That's it, PowerDNS is now ready to be used. To learn more about it, please refer to its documentation: http://downloads.powerdns.com/documentation/html/index.html
4 Installing PoweradminNow let's install Poweradmin, a web-based control panel for PowerDNS. Poweradmin is written in PHP, so we must install a web server (I'm using Apache2 in this example) and PHP: apt-get install apache2 libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php-pear php5-imap php5-mcrypt php5-mhash php5-ming php5-mysql php5-xmlrpc gettext Poweradmin also requires the following two PEAR packages: pear install DB pear install pear/MDB2#mysql Restart Apache: /etc/init.d/apache2 restart Now all prerequisites for Poweradmin are installed, and we can begin with the Poweradmin installation (I will install it in a subdirectory of /var/www - /var/www is the document root of Apache's default web site on Ubuntu; if you've created a vhost with a different document root, please adjust the paths). Go to https://www.poweradmin.org/trac/wiki/GettingPoweradmin and download the latest Poweradmin package, e.g. as follows: cd /tmp Then install it to the /var/www/poweradmin directory as follows: tar xvfz poweradmin-2.1.2.tgz Now open a browser and launch the web-based Poweradmin installer (http://server1.example.com/poweradmin/install or http://192.168.0.100/poweradmin/install). Select your language (English or Dutch): Click on the Go to step 3 button to proceed:
|





Recent comments
4 hours 26 min ago
5 hours 26 min ago
9 hours 13 min ago
10 hours 27 min ago
14 hours 3 min ago
21 hours 18 min ago
1 day 6 hours ago
1 day 7 hours ago
1 day 22 hours ago
2 days 1 hour ago