Este es un pequeño manual de instalación PowerDNS y PowerAdmin en Debian Lenny
Este articulo muestro como instalar el servidor PowerDNS (con MySQL en backend) y el panel de administración PowerAdmin en una Debian Lenny
1- Instalamos MySQL
Para hacerlo ejecutamos:
apt-get install mysql-server mysql-client
Para tener la MySQL escuchando en todas las interfaces (por temas de replicación) tenemos que editar el fichero “/etc/mysql/my.cnf” y comentar la linea “bind-address = 127.0.0.1:”
vim /etc/mysql/my.cnf
[...]
#bind-address = 127.0.0.1
[...]
Reiniciamos la MySQL ejecutando:
/etc/init.d/mysql restart
Para ver que funciona correctamente ejecutamos:
netstat -tap | grep mysql
Nos va aparecer algo parecido a lo siguiente:
node1:~# netstat -tap | grep mysql
tcp 0 0 :mysql : LISTEN 3031/mysqld
node1:~#
Ejecutamos
mysqladmin -u root password contraseña_root
mysqladmin -h node1 -u root password contraseña_root
para modificar la contraseña del usuario root (sino cualquiera puede entrar)
2 Instalamos PowerDNS
Para instalar PowerDNS ejecutamos:
apt-get install pdns-server pdns-backend-mysql
La configuración de PowerDNS esta en la carpeta “/etc/powerdns”
Ahora nos conectamos a la MySQL
mysql -u root -p
(nos va a pedir la Contraseña de root):
Creamos una Base de Datos para el PowerDNS ejecutando:
CREATE DATABASE powerdns;
Y ahora un usuario para la Base de Datos:
GRANT ALL ON powerdns. TO ‘power_admin’@'localhost’ IDENTIFIED BY ‘admin_password’;
GRANT ALL ON powerdns. TO ‘power_admin’@'localhost.localdomain’ IDENTIFIED BY ‘admin_password’;
FLUSH PRIVILEGES;
Y ahora creamos las tablas necesarias:
USE 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
);
… and finally leave the MySQL shell:
quit;
Ahora solo nos queda configurar PowerDNS para usar MySQL. Editamos el fichero:
vim /etc/powerdns/pdns.conf
Agregamos la linea siguiente en pdns.conf
launch=gmysql
Ejemplo:
[...]
#################################
# launch Which backends to launch and order to query them in
#
# launch=
launch=gmysql
[...]
Abrimos el fichero “/etc/powerdns/pdns.d/pdns.local” y lo modificamos con los datos de conexión a la base de datos, un ejemplo seria el siguiente:
vim /etc/powerdns/pdns.d/pdns.local
gmysql-host=127.0.0.1
gmysql-user=power_admin
gmysql-password=power_admin_password
gmysql-dbname=powerdns
Reiniciamos pdns (PowerDNS)
/etc/init.d/pdns restart
Ahora ya tenemos PowerDNS listo para usar. Aquí hay algo de documentación
http://downloads.powerdns.com/documentation/html/index.html
4- Instalamos Poweradmin
Para instalar PowerAdmin necesitamos un servidor web con php. En este caso, si no tenemos uno podemos seguir las siguientes instrucciones, pero si ya tenemos uno, solo tenemos que crear un virtualhost apuntando a la carpeta /var/www/pdns (que es donde vamos a dejar los ficheros del PowerAdmin.
Lo instalamos todo con la siguiente orden:
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
Continue installing libc-client without Maildir support? <– Yes
También tenemos que configurar dos paquetes PEAR con los siguientes comando:
pear install DB
pear install pear/MDB2#mysql
Ahora ya tenemos instalado lo necesario, ahora toca configurar. Lo vamos a configurar para dejarlo en /var/www/pdns (el directorio raiz del apache por defecto, en Debian es /var/www, por lo que si necesitamos crear un VirtualHost, es mucho mas facil.
Nos descargamos la versión 2.1.3 (la ultima a fecha 6 de Julio del 200)
cd /tmp
wget https://www.poweradmin.org/download/poweradmin-2.1.3.tgz
Y instalamos poweradmin en /var/www/pdns
tar xvfz poweradmin-2.1.3.tgz
mv poweradmin-2.1.3 /var/www/pdns
touch /var/www/pdns/inc/config.inc.php
chown -R www-data:www-data /var/www/pdns/
Ahora abrimos el navegador y nos conectamos a la web. En este caso seria algo parecidor a esto:
http://servidor/pdns/install
o quizás
http://192.168.0.100/pdns
Y seguimos los siguientes pasos:
Elejimos el lenguaj (Ingles o aleman)
Continuamos…
Ahora nos pide los datos de conexión MySQL. Ademas nos pide la contraseña para el usuario “admin” que es el que usaremos para entrar en el interfaz del PowerAdmin.
Y por ultimo nos pide datos de configuración de servidor de nombres principal y poco mas.
Por ultimo, ahora si, eliminanos la carpeta /install de /var/www/pdns con el siguiente comando:
rm -R /var/www/pdns/install
Ahora ya podemos entrar en la web, ponemos el usuario y contraseña y a crear zonas DNS….
(Recordad que quizas teneis el puerto 53 cerramos en el firewall, sin este puerto abiuerto, no se pueden hacer consultas al servidor.
1 Comentarios.