Difference between revisions of "PowerDNS: Instalasi di Ubuntu"
Onnowpurbo (talk | contribs)  | 
				Onnowpurbo (talk | contribs)   | 
				||
| Line 10: | Line 10: | ||
  sudo apt-get update  |   sudo apt-get update  | ||
  sudo apt-get upgrade -y  |   sudo apt-get upgrade -y  | ||
| + | |||
==Instalasi & Setup MySQL==  | ==Instalasi & Setup MySQL==  | ||
| Line 32: | Line 33: | ||
Selesai sudah proses instalasi MySQL. Selanjutnya kita akan menginstalasi PowerDNS.  | Selesai sudah proses instalasi MySQL. Selanjutnya kita akan menginstalasi PowerDNS.  | ||
| + | |||
==Install PowerDNS==  | ==Install PowerDNS==  | ||
| Line 41: | Line 43: | ||
Lakukan:    | Lakukan:    | ||
| − | * Tekan 'Yes' untuk   | + | * Tekan 'Yes' untuk '''Configure database for pdns-backend-mysql with dbconfig-common?'''  | 
* Masukan password root MySQL (dalam contoh ini 123456).  | * Masukan password root MySQL (dalam contoh ini 123456).  | ||
| − | * Masukan password untuk  pdns-backend-mysql untuk register ke database server.  | + | * Masukan password untuk  pdns-backend-mysql untuk register ke database server. Untuk memudahkan gunakan password '''123456'''  | 
* Ulangi masukan password untuk  pdns-backend-mysql untuk register ke database server.  | * Ulangi masukan password untuk  pdns-backend-mysql untuk register ke database server.  | ||
Sekarang PowerDNS sudah di instalasi.  | Sekarang PowerDNS sudah di instalasi.  | ||
| − | |||
| − | |||
| − | + | ==Create PowerDNS Database dan User di MySQL==  | |
| + | |||
| + | Masuk ke MySQL  | ||
  sudo mysql -u root -p  |   sudo mysql -u root -p  | ||
| Line 64: | Line 66: | ||
Here,  | Here,  | ||
| − | powerdns – is the database;  | + | * powerdns – is the database;  | 
| − | + | * poweruser – is the database user,  | |
| − | poweruser – is the database user,  | + | * ubuntu – is the password for the ‘poweruser’ user.  | 
| − | + | * I recommend you to use any strong password to tighten the security.  | |
| − | ubuntu – is the password for the ‘poweruser’ user.  | ||
| − | |||
| − | I recommend you to use any strong password to tighten the security.  | ||
Enter the following command to update the user settings.  | Enter the following command to update the user settings.  | ||
Revision as of 08:37, 1 June 2015
Install PowerDNS di Ubuntu
Operating system: Ubuntu 14.04 LTS server IP Address: 192.168.0.100/24 Hostname: refserver
Update apps
sudo apt-get update sudo apt-get upgrade -y
Instalasi & Setup MySQL
sudo apt-get install mysql-server mysql-client
Jika sedang belajar dapat menggunakan password root 123456. Untuk operasional sebaiknya jangan menggunakan password root 123456.
Edit /etc/mysql/my.cnf agar MySQL mendengarkan semua interfaces.
sudo vi /etc/mysql/my.cnf
Cari kalimat berikut, dan di beri pagar (#).
[...] #bind-address = 127.0.0.1 [...]
Simpan dan tutup file. Restart MySQL service.
sudo service mysql restart
Selesai sudah proses instalasi MySQL. Selanjutnya kita akan menginstalasi PowerDNS.
Install PowerDNS
Instalasi
sudo apt-get install pdns-server pdns-backend-mysql
Lakukan:
- Tekan 'Yes' untuk Configure database for pdns-backend-mysql with dbconfig-common?
 - Masukan password root MySQL (dalam contoh ini 123456).
 - Masukan password untuk pdns-backend-mysql untuk register ke database server. Untuk memudahkan gunakan password 123456
 - Ulangi masukan password untuk pdns-backend-mysql untuk register ke database server.
 
Sekarang PowerDNS sudah di instalasi.
Create PowerDNS Database dan User di MySQL
Masuk ke MySQL
sudo mysql -u root -p
Create database, namely ‘powerdns’. You can define your own.
CREATE DATABASE powerdns; Create database user, namely ‘poweruser’.
GRANT ALL ON powerdns.* TO 'poweruser '@'localhost' IDENTIFIED BY 'ubuntu';
Here,
- powerdns – is the database;
 - poweruser – is the database user,
 - ubuntu – is the password for the ‘poweruser’ user.
 - I recommend you to use any strong password to tighten the security.
 
Enter the following command to update the user settings.
FLUSH PRIVILEGES;
Now, use the powerdns database with command:
USE powerdns;
Create the necessary tables and records.
First, let us create domains table:
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 for domains table: CREATE UNIQUE INDEX name_index ON domains(name);
Create records table:
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 the following indexes for records table:
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 the supermasters table: CREATE TABLE supermasters ( ip VARCHAR(25) NOT NULL, nameserver VARCHAR(255) NOT NULL, account VARCHAR(40) DEFAULT NULL );
Finally, exit from MySQL prompt using command:
quit;
Configure PowerDNS Now, we should configure PowerDNS to use MySQL as backend to store Zone files and records.
Remove the existing PowerDNS configuration files.
sudo rm /etc/powerdns/pdns.d/*.*
Then, create file /etc/powerdns/pdns.d/pdns.local.gmysql.conf file;
sudo vi /etc/powerdns/pdns.d/pdns.local.gmysql.conf
Add the following lines. Set the correct database name and database user which we created earlier.
# MySQL Configuration # # Launch gmysql backend launch=gmysql # gmysql parameters gmysql-host=localhost gmysql-dbname=powerdns gmysql-user=poweruser gmysql-password=ubuntu
Finally restart powerdns service.
sudo service pdns restart
Test PowerDNS
First, edit /ect/resolv.conf file,
sudo vi /etc/resolv.conf
Set the name server IP address:
auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.1.250 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.250 dns-search home
We completed all installation and configuration parts. Now, we will check whether PowerDNS is really working or not.
First check if PowerDNS is listening:
sudo netstat -tap | grep pdns
Sample output:
tcp 0 0 *:domain *:* LISTEN 1549/pdns_server-in
Now, enter the following command to check PowerDNS is working:
sudo dig @127.0.0.1
Or,
sudo dig @localhost
Sample output:
; <<>> DiG 9.9.5-3-Ubuntu <<>> @127.0.0.1 ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65075 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1 ;; WARNING: recursion requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 2800 ;; QUESTION SECTION: ;. IN NS ;; Query time: 4 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Mon Mar 30 14:38:58 IST 2015 ;; MSG SIZE rcvd: 29
Or,
sudo dig @192.168.1.250
Where, 192.168.1.250 is my PowerDNS server’s IP address.
Sample output:
; <<>> DiG 9.9.5-3-Ubuntu <<>> @192.168.1.250 ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39576 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1 ;; WARNING: recursion requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 2800 ;; QUESTION SECTION: ;. IN NS ;; Query time: 0 msec ;; SERVER: 192.168.1.250#53(192.168.1.250) ;; WHEN: Mon Mar 30 14:39:49 IST 2015 ;; MSG SIZE rcvd: 29
That’s it. PowerDNS is ready to use.
I have successfully installed and configured PowerDNS, now what? It is time to manage PowerDNS using Poweradmin administration tool.