[Shared] Install PowerDNS dan PowerAdmin dengan MySQL di CentOS


Status
Not open for further replies.

pluto01

Hosting Guru
The Warrior
Verified Provider
Cara Install PowerDNS dan PowerAdmin dengan MySQL di CentOS

logopowerdns.png
Pada tutorial kali ini akan kita bahas tentang cara install PowerDNS di centos 6 64 bit sebagai DNS Server. Pada tutorial sebelumnya kita pernah install sekilas tentang DNS server dengan BIND pada tutorial ini Basic Cara Managed VPS Non-Panel Dengan Apache Webserver, Tutorial Install Apache/httpd 2.4 di Centos 6 dan atau pada tutorial ini Cara Managed VPS Non-Panel Dengan Nginx Webserver. Dan pada kesempatan kali ini sama juga, kita akan bahas basicnya yaitu mulai dari bagaimana cara installnya hingga bagaimana cara add domainnya,

PowerDNS adalah DNS Server berbasis MySQL, yang ditulis dalam C ++ dan berlisensi Under GPL. PowerDNS dapat dikelola melalui web base interface (PowerAdmin) sehingga akan mempermudah pengguna untuk managed. Pada tutorial berikut ini penulis akan mencoba menunjukkan bagaimana cara menginstalnya Powerdns di CentOS
DNS Server ini berfungsi untuk meresolv Domain kita ke IP dan IP ke Domain rDNS, yaitu bekerja untuk mengarahkan domain kita tersebut diarahkan kemana. Apakah bisa DNS server dan web server kita terpisah yang mana service DNS tidak aktif di webserver? tentu sangat bisa.

Sebenarnya tutorial ini berawal ketika ada 'teman' minta bantu installkan dan kebetulan saya lagi sibuk, ditolak bantu segan pula ybs sudah percaya untuk minta bantu, tidak ditolak juga lagi sibuk banget, sehingga konsentrasi jadi tidak fokus dan terpecah. Intinya tetap saya bantu hingga running.
Nah pada kondisi ini saya ambil satu pelajaran, jika saja saya ada tutorial step by stepnya pasti akan sengat membantu, oleh sebab itu saya langsung buatkan.
Kemudian saya berfikir, teman-teman di DWH banyak yang offer VPS dan juga banyak blogger yang sudah menggunakan VPS Sendiri, sehingga saya berfikir semoga bagi yang mengalami hal yang sama dengan saya bisa sedikit terbantu walaupun pada akhirnya nanti tetap kita bantu (kita sebagai penyedia) untuk ke stabilan dan kelangsungannya namun setidaknya diawal ybs sudah bisa dan paham basicnya.

Mohon jika thread saya ini bermasalah monggo di tegur saya atau dipindah maupun dihapus namun ID saya jangan dibanned yach Oom,
Buat sesepuh yg sudah berpengalaman dan expert mohon dibantu koreksi dan ditambahkan,

Baik terlalu buaaaaaanyak ceramah saya, jadi bosan penonton, yuuuuu monggo langsung saja kita mulai
Package yang akan kita install yaitu : PowerDns, PowerAdmin.MariaDB sebagai database server dan PHP untuk menjelankan web interfacenya dan Httpd sebaga webservernya.
Baik kita langsung saja untuk proses install paket yang dibutuhkan :

Note : Kelupaan sebelum memulai tutorial ini pastikan anda telah membuat child nameserver untuk domain yang akan digunakan, caranya bisa merujuk ke link yg saya a href di atas

1. Step pertama yaitu kita install MariaDB sebagai database server, HTTPD sebagai web server dan PHP

Pertama kita tambah/install repo untuk menginstall MariaDB di centos 6, caranya yaitu sebagai berikut ini :
[albenet@dummy ~]$ sudo yum update && sudo yum install epel-release
[albenet@dummy ~]$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
Kemudian add file /etc/yum.repos.d/mariadb.repo dan tambahkan baris berikut ini :
[albenet@dummy ~]$ sudo nano /etc/yum.repos.d/mariadb.repo
Selanjutnya kita meng-Enable Remi Repository dengan cara sebagai berikut :
Secara default Remi repositori akan menginstall PHP versi5.4, jika Anda ingin menginstal PHP 5.5 atau 5.6, Anda harus mengaktifkan dengan menambahkan baris berikut ini:
Silahkan edit file /etc/yum.repos.d/remi.repo dan sesuaikan dengan baris-baris berikut ini :
[albenet@dummy ~]$ sudo nano /etc/yum.repos.d/remi.repo
===============================start Untuk PHP 5.5=================
[remi-php55]
name=Remi's PHP 5.5 RPM repository for Enterprise Linux 6 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/6/php55/$basearch/
mirrorlist=http://rpms.remirepo.net/enterprise/6/php55/mirror
# NOTICE: common dependencies are in "remi-safe"
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
==============================End Untuk PHP 5.5=======================
==============================start Untuk PHP 5.6=======================
[remi-php56]
name=Remi's PHP 5.6 RPM repository for Enterprise Linux 6 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/6/php56/$basearch/
mirrorlist=http://rpms.remirepo.net/enterprise/6/php56/mirror
# NOTICE: common dependencies are in "remi-safe"
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
==============================End Untuk PHP 5.6========================
Selanjutnya yaitu Meng-Install MariaDB, HTTPD dan PHP
Setelah step-step di atas selesai kita lakukan tanpa mengalami error selanjutnya kita mulai untuk install MariaDB, HTTPD dan PHP dengan cara sebagai berikut ini :
[albenet@dummy ~]$ sudo yum --enablerepo=remi install MariaDB-client MariaDB-server
Kemudian kita install PHP Modules dan HTTPD yang akan dibutuhkan dengan cara sebagai berikut ini :
[albenet@dummy ~]$ sudo yum -y 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
Note : Jika ada muncul error seperti ini ketik yum install :
[albenet@dummy ~]$ sudo yum install blablablabla
Loaded plugins: fastestmirror
Setting up Install Process
Determining fastest mirrors
Illegal instruction
Bisa ditambahkan NSS_DISABLE_HW_GCM=1 sebelum perintah yum
[albenet@dummy ~]$ sudo NSS_DISABLE_HW_GCM=1 yum install blablablabla
Selanjutnya kita Start service httpd dan MariaDB dengan cara sebagai berikut ini :
[albenet@dummy ~]$ sudo chkconfig --level 345 mysql on
[albenet@dummy ~]$ sudo chkconfig --level 345 httpd on
[albenet@dummy ~]$ sudo /etc/init.d/httpd start
Starting httpd: [ OK ]
[albenet@dummy ~]$ sudo /etc/init.d/mysql start
Starting MySQL. [ OK ]
[albenet@dummy ~]$ sudo
Selanjutnya set password untuk MySQL
[albenet@dummy ~]$ sudo /usr/bin/mysql_secure_installation

2. Step kedua kita membuat database yang akan digunakan PowerDns

Selanjutnya kita buat database yang nantinya akan digunakan oleh PowerDns dengan cara sebagai berikut ini :
[albenet@dummy ~]$ sudo mysql -u root -ppassword-mysql
MariaDB [(none)]> CREATE DATABASE mydatabasedns;
MariaDB [(none)]> use mydatabasedns;
MariaDB [mydatabasedns]> 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)
);

MariaDB [mydatabasedns]> CREATE UNIQUE INDEX name_index ON domains(name);
MariaDB [mydatabasedns]> 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)
);

MariaDB [mydatabasedns]> CREATE INDEX rec_name_index ON records(name);
MariaDB [mydatabasedns]> CREATE INDEX nametype_index ON records(name,type);
MariaDB [mydatabasedns]> CREATE INDEX domain_id ON records(domain_id);

MariaDB [mydatabasedns]> CREATE TABLE supermasters (
ip VARCHAR(25) NOT NULL,
nameserver VARCHAR(255) NOT NULL,
account VARCHAR(40) DEFAULT NULL
);

MariaDB [mydatabasedns]> quit;
3. Step selanjutnya yaitu Install PowerDns

[albenet@dummy ~]$ sudo yum -y install pdns pdns-backend-mysql
[albenet@dummy ~]$ sudo nano /etc/pdns/pdns.conf
Dan tambahakan baris berikut ini :
launch=gmysql
gmysql-host=localhost
gmysql-user=root
gmysql-password=password-databse
gmysql-dbname=mydatabasedns
[albenet@dummy ~]$ sudo chkconfig --levels 235 pdns on
[albenet@dummy ~]$ sudo service pdns start

4. Step selanjutnya Menginstall PowerAdmin

[albenet@dummy ~]$ sudo yum -y install php-pear-DB php-pear-MDB2-Driver-mysql
Download package PowerAdmin dari link berikut ini : https://sourceforge.net/projects/poweradmin/files/latest/download?source=directory dan atau https://www.poweradmin.org/, jika sudah didownload package kemudian upload ke dalam server anda, selanjutnya silahkna extract dan install
[albenet@dummy ~]$ sudo tar zxvf poweradmin-2.1.7.tgz -C /var/www/mydomain.com/public_html/
[albenet@dummy ~]$ sudo cd /var/www/mydomain.com/public_html/
[albenet@dummy public_html]$ sudo mv poweradmin-2.1.7 dnspanel
[albenet@dummy public_html]$ sudo chown -R apache:apache dnspanel/
 
Last edited:

pluto01

Hosting Guru
The Warrior
Verified Provider
Kemudian silahkan akses dari web browser anda IP atau domain server yang anda install PowerDNS, contoh :
http://IP-server/dnspanel/install/
atau
http://mydomain.com/dnspanel/install/
Maka akan muncul tampilan sebagai berikut ini :
powerdns1.jpg

Selanjutnya pilih bahasa di tutorial ini penulis memilih bahasa English, kemudian pilih dan click tombol "Go to step 2" maka akan muncul tampilan sebagai berikut ini :
powerdns2.jpg

Kemudian pilih dan click tombol "Go to step 3" maka akan muncul tampilan sebagai berikut ini :
powerdns3.jpg

Silahkan isi form yang ada sesuai dengan configurasi database yang telah kita buat sebelumnya, kemudian pilih dan click tombol "Go to step 4" maka akan muncul tampilan sebagai berikut ini :
powerdns4.jpg

Silahkan isi form sesuai keterangan yang ada kemudian pilih dan click tombol "Go to step 5" maka akan muncul tampilan sebagai berikut ini :
powerdns5.jpg

Selanjutnya silahkan pilih dan click tombol "Go to step 6" maka akan muncul tampilan sebagai berikut ini :
powerdns6.jpg

Yang mana di step ini diinformasikan bahwasanya kita perlu membuat manual file ../inc/config.inc.php karena tidak bisa auto create ketika proses install dan isi dari file ../inc/config.inc.php yaitu merupakan configurasi untuk koneksi ke database yang telah kita buat sebelumnya, jadi stepnya yaitu :
Silahkan masuk ke console linux server anda dan ketik perintah berikut ini :
[albenet@dummy ~]$ sudo cd /var/www/mydomain.com/public_html/dnspanel/
Note : untuk direktorinya silahkan sesuaikan dengan nama direktori yang anda gunakan
Kemudian buat file inc/config.inc.php dan isi sesuai dengan yang telah diinformasikan di atas :
[albenet@dummy ~]$ sudo nano inc/config.inc.php
<?php
$db_host = 'localhost';
$db_user = 'admin';
$db_pass = 'password-database';
$db_name = 'mydatabasedns';
$db_type = 'mysql';
$db_layer = 'PDO';

$session_key = 'C)q+YDlA0-vh-ve]cSuWM^s*Fb%^BRNOa@{=C&ttgah!W=';

$iface_lang = 'en_EN';

$dns_hostmaster = 'dummy.mydomain.com';
$dns_ns1 = 'ns3.mydomain.com';
$dns_ns2 = 'ns4.mydomain.com';
 

pluto01

Hosting Guru
The Warrior
Verified Provider
kemudian save, setelah itu silahkan pilih dan click tombol "Go to step 7" maka akan muncul tampilan sebagai berikut ini :
powerdns7.jpg

Nah pada step ini kita diinformasikan bahwasanya kita telah berhasil install Poweradmin dan kemudian kita diminta untuk menghapus atau merename folder 'install' dan kemudian mengakses halaman poweradminnya dengan user dan password yang telah diinformasikan, jadi silahkan hapus atau rename folder "install" Poweradmin dan kemudian silahkan akses halaman Poweradminnya, maka akan tampil halama sebagai berikut ini :
powerdns8.jpg

Silahkan input user dan password anda sesuai yang telah disetting saat proses installasi atau sesuai dengan yang telah diinformasikan di halaman sebelumnya, jika berhasil login maka akan muncul tampilan sebagai berikut ini :
powerdns9.jpg

Jika tampil halam seperti di atas ini berarti kita sudah berhasil menginstall Poweradmin untuk memanaged DNS record yang berjalan di PowerDns.
5. Step selanjutnya Membuat Template Zone

Template Zone ini adalah untuk record yang tercreate secara otomatis ketika kita menambahkan domain. Untuk membuat Template Zone pada PowerAdmin caranya yaitu sebagai berikut:
a. Setelah berhasil login ke halaman PowerAdmin seperti tampilan di atas, selanjutnya pilih dan click menu "List Zone Template" maka akan muncul tampilan sebagai berikut ini :
powerdns10.jpg

b. Kemudian pilih dan click "Add zone template" maka akan muncul tampilah sebagai berikut :
powerdns11.jpg

Silahkan isi 'Name' dan 'Description' sesuai dengan kebutuhan, kemudia pilih dan click "Add zone template". Setelah itu kemudian silahkan masuk kembali ke list zone template dengan cara mengclick menu "List zone template" maka akan menampilkan halaman sebagai berikut :
powerdns13.png

Di situ terlihat template zone yang barusan kita add tadi dengan disertai dua icon yaitu "hapus" dengan ico tempat sampah dan "Edit" dengan icon pensil dan kertas.
Selanjutnya yaitu kita pilih dan click edit yang icon pensil dan kertas untuk menambahka Record yang otomatis terbentuk ketika kita menambahkan domain nantinya, tampilan setelah kita click edit yaitu sebagai berikut ini :
powerdns14.png

Selanjutnya kita pilih dan click tombol "Add record" untuk menambahkan record yang nantinya akan otomatis terbentuk ketika kita menambahkan domain, kurang lebih tampilannya sebagai berikut ini :
powerdns15.png

Untuk recordnya silahkan anda sesuaikan dengan kebutuhan anda, untuk list record yang dibuat oleh penulis untuk templatenya kurang lebih seperti berikut ini :
powerdns16.png

Nah sampai step ini kita sudah berhasil membuat 1 template zone yang bisa kita gunakan ketika akan menambahkan domain nantinya.
6. Step selanjutnya Menambahkan Domain

Step selanjutnya yaitu cara kita menambahkan domain di PowerAdmin.
a. Pilih dan click menu "Add master zone" maka akan muncul tampilan sebagai berikut :
powerdns17.png

Zone Name : isi dengan nama domain yang ingin di tambahkan
Owner : Pilih user yang nantinya bisa memenaged Record Domain tersebut, jika belum ada bisa pilih Administrator
Type : Bisa pilih native
Template : Pilih template yang tadinya kita buat pada step #5
Kemudian pilih dan click tombol "Add zone"
 

pluto01

Hosting Guru
The Warrior
Verified Provider
b. Setelah itu, step selanjutnya Edit record
Step selanjutnya yaitu kita edit record untuk domain yang telah kita add, yaitu dengan cara pilih dan click menu "List zones" maka akan muncul list domain yang telah kita add seperti gambar di bawah ini :
powerdns18.png

Pada gambar tersebut kita bisa lihat domain yang telah kita add, di bagian records terlihat ada 13, ini auto created sesuai yang telah kita setting pada template "Customer" sebelumnya. Untuk menambah/edit/hapus record dari domain bisa dengan mengclick edit yaitu icon pensil dan kertas, maka akan muncul tampilan sebagai berikut ini :
powerdns19.png

Di situ terlihat untuk IP nya masih diarahkan ke IP localhost yaitu 127.0.0.1, silahkan anda edit dan sesuaikan dengan IP webserver, atau IP yang ingin anda tuju dengan record tersebut dan jika rasa-rasanya sudah pas semua selanjutnya pilih dan click tombol "Commit changes". Jika hendak menambahkan subdomain bisa melalui bagian bawah yang ada "Add record"

Sehingga jika kedepan ada nambah domain, cukup mengulang step #6 ini saja lagi.
Selanjutnya tinggal mengoptimalkan kinerja server DNSnya dan mengamankan dan merawatnya dengan baik untuk mencegah hal2 yg tdk dinginkan.

Note : Dibagian config databasenya distep di atas dibantu perhatikan, jika mengikutinya

Tutorial selanjutnya akan kita bahas tentang DNS Cluster dengan menggunakan PowerDns, namun bukan sekarang yach soalnya lagi ada 'tugas' saat ini.
Bocoran dikit, DNS Cluster itu yaitu minimal kita punya dua unit server DNS yang mana record zone nya saling syncron sehingga ketika salah satu DNS Server down maka DNS Server yang UP bisa menghendle query yang ada. Nah karena PowerDns ini menggunakan database MySQL maka melakukannya cukup bisa dengan melakukan database sync/database Replication dan"penyesuaian' lainnya, bagaimana step by step melakukannya ? Silahkan tunggu tutorial selanjutnya.

Dengan menggunakan DNS Server sendiri, kita bisa dengan mudah memanaged record2 untuk domain kita, Private NS, dengan menggunakan/berlangganan banyak webhosting/webserver untuk NS tidak perlu berubah2, dll,
Bahan bacaan lainnya : https://doc.powerdns.com/md/

Ini hanya untuk para beginer, bagi rekan2 yg sudah expert, mohon ditambahkan dan dikoreksi agar lebih lengkap

Mohon maaf bukan bermaksud kejang2 namun aturannya gitu ga bisa lebih 10 gambar dan ga bisa lebih 10000 karakter dalam 1 post jdnya saya pisah2


Selamat Mencoba dan Semoga Sukses
 

idnix

Hosting Guru
Verified Provider
wow keren iki mas. share jg dong buat dns resolver premium gitu
 

FluidaWeb

Hosting Guru
Ini ada dns redudancy nya tdk? Jd jika dns server 1 down msh ada dns server yg lain.
Dlu pernah coba poweradmin tp tdk sreg dgn gui nya.. kmudian coba atomia
 
Status
Not open for further replies.

Top