Instalação de Software · 5 min read · Oct 01, 2025

Instalando PowerDNS (Com Backend MySQL) E Poweradmin No Fedora 12

Instalando PowerDNS (Com Backend MySQL) E Poweradmin No Fedora 12

Versão 1.0
Autor: Falko Timme
Siga-me no Twitter

Este artigo mostra como você pode instalar o servidor de nomes PowerDNS (com backend MySQL) e o painel de controle Poweradmin para PowerDNS em um sistema Fedora 12. PowerDNS é um servidor de nomes autoritativo de alto desempenho - na configuração descrita aqui, ele lerá os registros DNS de um banco de dados MySQL (semelhante ao MyDNS), embora outros backends, como PostgreSQL, também sejam suportados. Poweradmin é um painel de controle baseado na web para PowerDNS.

Não dou nenhuma garantia de que isso funcionará para você!

1 Nota Preliminar

Neste exemplo, estou usando um host Fedora 12 com o nome do host server1.example.com e o endereço IP 192.168.0.100, configurado de acordo com os primeiros cinco capítulos deste tutorial: O Servidor Perfeito - Fedora 12 x86_64 [ISPConfig 2].

Vou configurar apenas um servidor PowerDNS neste exemplo (um mestre); adicionar escravos do PowerDNS pode ser facilmente alcançado usando replicação de banco de dados MySQL do mestre para os escravos, portanto, nenhuma transferência de zona é necessária (isso novamente é semelhante ao MyDNS). A replicação de banco de dados MySQL pode ser configurada de acordo com este tutorial: Como Configurar Replicação de Banco de Dados No MySQL (PowerDNS também suporta transferências de zona nativas (para cenários onde você não pode usar replicação MySQL) - veja http://downloads.powerdns.com/documentation/html/replication.html).

2 Instalando MySQL

Para instalar o MySQL, fazemos o seguinte:

yum install mysql mysql-server

Em seguida, criamos os links de inicialização do sistema para o MySQL (para que o MySQL inicie automaticamente sempre que o sistema for inicializado) e iniciamos o servidor MySQL:

chkconfig --levels 235 mysqld on  
/etc/init.d/mysqld start

Agora verifique se a rede está habilitada. Execute

netstat -tap | grep mysql

Deve mostrar algo como isto ( *:mysql significa que o MySQL está ouvindo em todas as interfaces, o que é importante para a replicação MySQL!):

[root@server1 ~]# netstat -tap | grep mysql  
tcp        0      0 *:mysql                     *:*                         LISTEN      2407/mysqld  
[root@server1 ~]#

Se não mostrar, edite /etc/my.cnf e comente a opção skip-networking:

vi /etc/my.cnf

| [...] #skip-networking [...] |

e reinicie seu servidor MySQL:

/etc/init.d/mysqld restart

Execute

mysqladmin -u root password yourrootsqlpassword  
mysqladmin -h server1.example.com -u root password yourrootsqlpassword

para definir uma senha para o usuário root (caso contrário, qualquer pessoa pode acessar seu banco de dados MySQL!).

3 Instalando PowerDNS

Para instalar o PowerDNS, executamos

yum install pdns pdns-backend-mysql

A configuração do PowerDNS está localizada no diretório /etc/pdns - vou falar sobre isso em um momento.

Agora nos conectamos ao MySQL:

mysql -u root -p

Digite sua senha de root do MySQL e você deve estar no shell do MySQL. No shell do MySQL, criamos um banco de dados para o PowerDNS:

CREATE DATABASE powerdns;

Em seguida, criamos um usuário de banco de dados (powerdns) para o PowerDNS:

GRANT ALL ON powerdns.* TO 'power_admin'@'localhost' IDENTIFIED BY 'power_admin_password';  
GRANT ALL ON powerdns.* TO 'power_admin'@'localhost.localdomain' IDENTIFIED BY 'power_admin_password';  
FLUSH PRIVILEGES;

(Substitua power_admin_password por uma senha de sua escolha.)

Agora criamos as tabelas necessárias para o PowerDNS…

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  
);

… e finalmente saia do shell do MySQL:

quit;

Agora devemos configurar o PowerDNS para que ele use o backend MySQL:

vi /etc/pdns/pdns.conf

Adicione as seguintes linhas ao pdns.conf:

| [...] ################################# # launch Quais backends lançar e a ordem para consultá-los # # launch= launch=gmysql gmysql-host=127.0.0.1 gmysql-user=power_admin gmysql-password=power_admin_password gmysql-dbname=powerdns [...] |

Em seguida, crie os links de inicialização do sistema para o PowerDNS e inicie-o:

chkconfig --levels 235 pdns on  
/etc/init.d/pdns start

É isso, o PowerDNS agora está pronto para ser usado. Para saber mais sobre ele, consulte sua documentação: http://downloads.powerdns.com/documentation/html/index.html

4 Instalando Poweradmin

Agora vamos instalar o Poweradmin, um painel de controle baseado na web para PowerDNS. O Poweradmin é escrito em PHP, então precisamos instalar um servidor web (estou usando o Apache2 neste exemplo) e PHP:

yum install httpd php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mhash gettext

Crie os links de inicialização do sistema para o Apache2 e inicie-o:

chkconfig --levels 235 httpd on  
/etc/init.d/httpd start

O Poweradmin também requer os seguintes dois pacotes PEAR:

yum install php-pear-DB php-pear-MDB2-Driver-mysql

Agora todos os pré-requisitos para o Poweradmin estão instalados, e podemos começar com a instalação do Poweradmin (vou instalá-lo em um subdiretório de /var/www/html - /var/www/html é a raiz do documento do site padrão do Apache no Fedora; se você criou um vhost com uma raiz de documento diferente, ajuste os caminhos).

Vá para https://www.poweradmin.org/trac/wiki/GettingPoweradmin e baixe o pacote mais recente do Poweradmin, por exemplo, da seguinte forma:

cd /tmp  
wget https://www.poweradmin.org/download/poweradmin-2.1.4.tgz

Em seguida, instale-o no diretório /var/www/html/poweradmin da seguinte forma:

tar xvfz poweradmin-2.1.4.tgz  
mv poweradmin-2.1.4 /var/www/html/poweradmin  
touch /var/www/html/poweradmin/inc/config.inc.php  
chown -R apache:apache /var/www/html/poweradmin/

Agora abra um navegador e inicie o instalador baseado na web do Poweradmin ( http://server1.example.com/poweradmin/install/index.php ou http://192.168.0.100/poweradmin/install/index.php).

Selecione seu idioma (Inglês ou Holandês):

Clique no botão Ir para a etapa 3 para prosseguir:

Agora preencha os detalhes do seu banco de dados. É importante que você preencha os detalhes para o usuário root do MySQL, não o usuário MySQL powerdns que criamos anteriormente! Também forneça uma senha para o usuário admin da interface web do Poweradmin (essa é a senha que o usuário admin usará para fazer login no Poweradmin mais tarde):

Na próxima página, preencha os detalhes para o usuário MySQL power_admin que criamos no capítulo 3. Também preencha os dois servidores de nomes padrão que serão usados em suas zonas, a menos que você forneça servidores de nomes diferentes ao criar uma zona (tipicamente, esses são os nomes do sistema atual e do servidor escravo (para o qual você pode configurar a replicação MySQL, veja minhas notas preliminares no capítulo 1)):

Na próxima tela, o instalador pede que você execute uma consulta MySQL. Não precisamos fazer isso porque já fizemos algo semelhante no capítulo 3 (as duas instruções GRANT), então estamos prontos. Clique em Ir para a etapa 6:

Clique em Ir para a etapa 7:

A instalação agora está concluída…

… mas por razões de segurança, devemos excluir o diretório de instalação:

rm -fr /var/www/html/poweradmin/install/
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.