PowerDNS, MySQL, PowerAdmin – Debian Squeeze

Power DNS  jest zaawansowanym i bardzo efektywnym serwerem nazw. Jego możliwości współpracy z LDAP lub bazami SQL (Mysql i Postgresql) dają szerokie możliwości tworzenia skryptów lub interface zarządzających. Sam PDNS jest uważany za zdecydowanie bezpieczniejszy niż Bind, a także od niego szybszy – zwłaszcza przy większej ilości obsługiwanych domen. PowerAdmin natomiast jest graficznym narzędziem do zarządzania, np. strefami w PowerDNS.

Do przeprowadzania tej konfiguracji będziemy potrzebować maszyny z systemem Debian Squeeze oraz skonfigurowanym interfejsem sieciowym z IP: 192.168.0.100 oraz wpisem w /etc/hosts:               192.168.0.100 server1.example.com

1) Instalacja MySQL:   

apt-get install mysql-server mysql-client

Oczywiście w trakcie instalacji musimy podać hasło do roota dla bazy, oraz musimy uruchomić dostęp do bazy na wszystkie nasze adresy IP, a nie tylko na localhost:

nano /etc/mysql/my.cnf

Odnajdujemy bind-address = 127.0.0.1, przy którym usuwamy komentarz (#).

Następnie robimy restart bazy:

/etc/init.d/mysql restart

Sprawdzimy czy baza działa tak jak trzeba:

netstat -tap | grep mysql

Powinniśmy otrzymać podobną do poniższego odpowiedź:

tcp 0 0 *:mysql *:* LISTEN  2453/mysqld



2) Zainstalujemy PowerDNS:

apt-get install pdns-server pdns-backend-mysql

Logujemy się na konto root’a bazy:

mysql -u root -p

Teraz utworzymy bazę danych dla PowerDNS:

CREATE DATABASE powerdns;

Utworzymy użytkownika dla PowerDNS’u (oczywiście zmieniamy power_admin_password na nasze hasło):

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;

Teraz utworzymy tabelkę w tej bazie:

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

na koniec wychodzimy:

quit;

Konfigurujemy PowerDNS:

nano /etc/powerdns/pdns.conf

Dodajemy w nim:

launch=gmysql

Następnie:

nano /etc/powerdns/pdns.d/pdns.local

Dodajemy:

gmysql-host=127.0.0.1
gmysql-user=power_admin
gmysql-password=podajemy_haslo_do_power_admina
gmysql-dbname=powerdns

I restart:

/etc/init.d/pdns restart


3) Instalujemy PowerAdmin:

apt-get install apache2 libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php-pear php5-imap php5-mcrypt php5-ming php5-mysql php5-xmlrpc gettext php-db php-mdb2 php-mdb2-driver-mysql

/etc/init.d/apache2 restart

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

Instalujemy PowerAdmin:

tar xvfz poweradmin-2.1.5.tgz

mv poweradmin-2.1.5 /var/www/poweradmin
touch /var/www/poweradmin/inc/config.inc.php
chown -R www-data:www-data /var/www/poweradmin/

Możemy wejść przez przeglądarkę do PowerAdmina: 

http://server1.example.com/poweradmin/install/index.php 

lub

http://192.168.0.100/poweradmin/install/index.php

Wybieramy jako język domyślny Angielski:


Następnie klikamy na przycisk Go to step 3:




Podajemy dane do bazy (login oraz hasło roota, zostawiamy localhost, port bazy jako bazę wybieramy oczywiście MySQL):


Dodajemy dane wpisane pod koniec pkt. 2 do bazy oraz dane związane z DNS otrzymanym od dostawcy :

Przechodzimy do kroku 6:

Następnie przechodzimy do kroku 7. Tutaj kończymy instalacje musimy jeszcze usunąć pliki instalacyjne:

rm -fr /var/www/poweradmin/install/

Wchodzimy teraz do panelu PowerAmin:

http://server1.example.com/poweradmin 

lub

http://192.168.0.100/poweradmin



Widzimy wszystkie opcje, jakie daje nam PowerAdmin:

Dodamy teraz główną strefę (Add Master Zone):

Nowa strefa powinna się pokazać na liście:

Dodamy rekord NS, poprzez Add record:

Dodamy rekord mail:

Rekord wyszukiwania wstecznego (z IP na nazwę), wybierając Add master zone:

Możemy sprawdzić utworzone rekordy za pomocą polecenia dig:

Możemy sprawdzić wszystko co związane jest z rekordem poczty (mail, mx itd.)

dig @localhost mx example.com



Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

2 komentarze do “PowerDNS, MySQL, PowerAdmin – Debian Squeeze”

Dodaj komentarz

beitadmin.pl - Droga Administratora IT