Powerdns
Powerdns on avoimen lähdekoodilla varustettu DNS palvelinohjelmisto.
Sisällysluettelo
Asenna Mysql - tietokantapalvelin
Asennetaan pakettihallinnasta mysql-server ja mysql-client paketit
aptitude install mysql-server mysql-client
Asenna ja konfiguroi PowerDNS
aptitude install pdns-server pdns-backend-mysql
Määritä asennuksessa käyttäjätunnus ja salasana tietokantaan.
Avaa PowerDNS konfigurointitiedosto pdns.conf
nano /etc/powerdns/pdns.conf
lisää tiedostoon launch kohtaan gmysql:
launch=gmysql
Avaa pdns.local.conf ja määritä se seuraavanlaiseksi:
# Here comes the local changes the user made, like configuration of # the several backends that exists. gmysql-host=127.0.0.1 gmysql-user=root gmysql-password=Qwerty1 gmysql-dbname=pdns
Käynnistä palvelu uudelleen
service pdns restart
Asenna ja konfiguroi Poweradmin
Asennetaan webpalvelimeksi Apache2 ja PHP5
aptitude install apache2 php5 php5-curl php5-dev php5-gd php-pear php5-imap php5-mcrypt php5-mysql php5-xmlrpc gettext
Asenna lisäksi kaksi PEAR pakettia
pear install DB pear install pear/MDB2#mysql
Lataa PowerDNS
http://sourceforge.net/projects/poweradmin/
Esimerkiksi:
cd /tmp wget http://heanet.dl.sourceforge.net/project/poweradmin/poweradmin-2.1.7.tgz
Pura tiedosto
tar -xvfz poweradmin-2.1.7.tgz
Siirrä se /var/www/poweradmin hakemistoon tai muuhun webhakemistoon. Vaihdetaan samalla nimeä...
mv /tmp/poweradmin-2.1.7 /var/www/poweradmin
Luodaan config.inc.php tiedosto
touch /var/www/poweradmin/inc/config.inc.php
Määritetään poweradmin hakemistoon omistusoikeudet
chown www-data:www-data -R /var/www/poweradmin
Tarkista Apachen konfiguraatiosta että juurihakemisto on /var/www.
nano /etc/apache2/sites-available/000-default.conf
TAI
nano /etc/apache2/sites-available/default
Tiedostossa pitäisi olla:
DocumentRoot /var/www/
Käynnistä muutoksen jälkeen Apache2 uudelleen
service apache2 restart
Web UI
Siirry selaimessa IP-osoitteesi/poweradmin
1. Aloita asennus siirtymällä Poweradminissa install/ linkistä.
2. Määritä kieli, englanti
3. Lue ohjeet
4. Määritä tietokantasi käyttäjänimi, tietokannan käyttäjänimen salasana, tietokantapalvelimen tyyppi, tietokantapalvelimen isäntänimi, tietokantapalvelimen portti jota tietokanta kuuntelee, tietokannan nimi, ja Poweradminin järjestelmävalvojan salasana.
5. Luo uusi poweradmin käyttäjä.
6. Aloita asennus
Asennuksen lopuksi poista installer hakemisto.
rm -R /var/www/poweradmin/installer
Kirjaudu sisälle.
DNS Server Cluster
Olet nyt luonut Master DNS palvelin ja nyt luodaan slave DNS palvelin joka kopioi kaiken master palvelimelta. Voit tehdä myös siitä kaksisuuntaisenkin, eli synkronoi molempiin suuntiin.
Käytössämme siis on MASTER = Pääpalvelin ja SLAVE = Varapalvelin
SLAVE: Asenna MySQL ja Poweradmin
Asenna Mysql-server ja Poweradmin Slave DNS palvelimeen
aptitude install mysql-server mysql-client pdns-server pdns-backend-mysql
Avaa powerdns konfigurointi tiedosto pdns.conf:
nano /etc/powerdns/pdns.conf
Etsi kohta launch ja määritä se seuraavanlaiseksi:
launch=qmysql
Avaa pdns.local.conf
nano /etc/powerdns/pdns.d/pdns.local.conf
Määritä se seuraavanlaiseksi:
# Here comes the local changes the user made, like configuration of # the several backends that exists. gmysql-host=127.0.0.1 gmysql-user=root gmysql-password=Qwerty1 gmysql-dbname=pdns
MASTER: MySQL Replication
Konfiguroidaan pääpalvelimeen Mysql replication,
Avaa Mysql-server konfigurointi tiedosto my.conf
nano /etc/mysql/my.conf
Ja lisää [mysqld] alleloppuun
[mysqld] ... server-id = 1 log_bin = /var/log/mysql/mysql-bin.log expire_logs_days = 10 max_binlog_size = 100M binlog_do_db = pdns
Määritä lisäksi bind-address:
bind-address = 0.0.0.0
Tallenna tiedosto ja käynnistä mysql-server uudelleen
service mysql-server restart
Kirjaudu mysql-serveriin terminaalista tai käytä phpmyadminia.
mysql -u root -p
Anna root käyttäjän salasana.
Lupdaan replicatioon käyttäjä dnsslave ja salasanaksi laitetaan Qwerty1. Sallimme vain luetettavasta IP-osoitteesta yhdistämisen.
grant replication slave on *.* to 'pdnsslave'@'23.55.22.5;' identified by 'Qwerty1'; flusht prifileges.
Tarkista onnistuiko
show master status;
Komento pitäisi tulostaa tälläistä:
+------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000001 | 106 | pdns | | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec)
SLAVE: MySQL Replication
Konfiguroidaan varapalvelimeen MySQL Replication.
Avaa my.conf konfigurointi tiedosto:
nano /etc/mysql/my.conf
Lisää [mysqld] alle:
[mysqld] ... server-id=2 master-connect-retry=60 relay-log=slave-relay-bin relay-log-index=slave-relay-bin.index replicate-do-db=pdns
Jos laitat useampia SLAVE palvelimai, muuta vain esimerkiksi server-id=3 jne...
Käynnistä Mysql uudelleen:
service mysql-server restart
Kirjaudu mysql palvelimelle
mysql -u root -p
Anna salasana.
Määritä master palvelin. Muista tiedot pääpalvelimelta. Näet ne sieltä show master status; komennolla.
change master to master_host='22.88.66.22', master_user='pdnsslave', master_password='Qwerty1', master_log_file='mysql-bin.000001',master_log_pos=107;
start slave;
Tarkista toiminta:
show slave status;
Testaa
dig example.org @dns-server1
dig example.org @dns-server2