Cara Instalasi dan Penggunaan PowerDNS
0 people liked this article
A. Pendahuluan
PowerDNS merupakan DNS server modern yang digunakan untuk mengelola domain dan record DNS secara terpusat. PowerDNS dapat diintegrasikan dengan database seperti MySQL/MariaDB sehingga manajemen DNS menjadi lebih fleksibel dan scalable.
PowerDNS dapat dikombinasikan dengan PowerAdmin, yaitu web interface untuk mengelola zona DNS melalui browser.
Panduan ini menunjukkan cara menginstal PowerDNS Authoritative Server beserta PowerAdmin UI pada VPS (Virtual Private Server) dengan OS Ubuntu 22.04. Pastikan server Anda memenuhi spesifikasi minimum berikut:
· Sistem Operasi: Ubuntu 22.04 atau 24.04 LTS (disarankan fresh install).
· CPU: Minimal 2 Core CPU
· RAM: Minimal 2 GB
· Storage: Minimal 30 GB SSD/NVMe.
· Permission Access: Full Root Access / Sudoers.
· Port 53 : TCP/UDP terbuka.
· Domain : opsional untuk pengujian DNS.
Dalam panduan ini, nama domain yang digunakan dengan contoh sebagai berikut :
mnoer.my.id (sebagai domain utama),
ns1.mnoer.my.id (sebagai nameserver)
www.mnoer.my.id (sebagai sub-domain)
B. Instalasi
Pastikan server telah memenuhi persyaratan di atas, kemudian ikuti langkah-langkah berikut :
Demi kelancaran dalam proses instalasi dan konfigurasi gunakan user root. Login user root :
sudo su
Kemudian masukkan password sudo user yang digunakan.
Sebelum melakukan instalasi PowerDNS lebih baik untuk melakukan update repository dan upgrade service yang ada. Update dan Upgrade:
sudo apt update && sudo apt upgrade -y
Penjelasan: Memastikan sistem menggunakan package terbaru.
1. Instal MariaDB
Jalankan perintah berikut untuk menginstall mariaDB yang akan digunakan sebagai backend database PowerDNS
apt install mariadb-server -y
systemctl enable mariadb
systemctl start mariadb
2. Buat Database dan User Database Untuk PowerDNS di MariaDB
Pada langkah ini, database akan dinamai “pdns” dan user database bernama “pdnsadmin” dengan password “123”. Nama database dan user database tersebut disarankan juga untuk diikuti agar lebih mudah, dan password dapat diatur lebih rumit.
Pertama, masuk ke dalam MariaDB dengan menjalankan perintah berikut:
mysql -u root -p
Kemudian masukan password user database root.

Selanjutnya, buat database dengan menjalankan perintah berikut :
CREATE DATABASE pdns;
Buat user dengan langsung mendefinisikan izin user dan passwordnya sekaligus serta flush privileges :
grant all privileges on pdns.* to pdnsadmin@localhost identified by '123';
flush privileges;
exit
3. Ubah Nameserver Resolv.conf
Setelah keluar dari MariaDB, ubah konfigurasi nameserver yang berada di dalam file resolv.conf dengan membuat ulang file tersebut agar permanen.
rm -rf /etc/resolv.conf
echo "nameserver 8.8.8.8" > /etc/resolv.conf
echo "nameserver 1.1.1.1" > /etc/resolv.conf
4. Instal PowerDNS
Jalankan perintah berikut untuk menginstall PowerDNS :
apt install pdns-server pdns-backend-mysql -y
Setelah itu nonaktifkan Backend Default PowerDNS (WAJIB) karena secara default Ubuntu mengaktifkan backend BIND. Cek backend dengan menjalankan perintah berikut :
grep -R launch /etc/powerdns
Jika terdapat output :
/etc/powerdns/pdns.d/bind.conf
Nonaktifkan dengan perintah berikut :
mv /etc/powerdns/pdns.d/bind.conf \
/etc/powerdns/pdns.d/bind.conf.disabled
Tujuan dari menonaktifkan Backend Default PowerDNS adalah untuk Menghindari error : Fatal error: Incremental setting 'launch' without a parent.
Selanjutnya buat database beserta struktur tabelnya menggunakan template yang tersedia di dalam directory /usr/share/pdns-backend-mysql/schema/. Dengan perintah :
mysql -u pdnsadmin -p123 -D pdns < /usr/share/pdns-backend-mysql/schema/schema.mysql.sql
Buat file koneksi PowerDNS ke dalam database MariaDB di dalam path directory etc/powerdns/pdns.d dengan nama pdns.local.gmysql.conf dengan menjalankan perintah:
nano /etc/powerdns/pdns.d/pdns.local.gmysql.conf
Kemudian isi file tersebut dengan konfigurasi sebagai berikut:
# MySQL Configuration
#
# Launch gmysql backend
launch=gmysql
gmysql-host=127.0.0.1
gmysql-port=3306
gmysql-dbname=pdns
gmysql-user=pdnsadmin
gmysql-password=123
gmysql-dnssec=yes
# gmysql-socket=
Selanjutnya ubah izin akses file koneksi yang telah dibuat menjadi 6 (read dan write) untuk user, 4 (read) untuk group dan 0 (-) untuk other :
chmod 640 /etc/powerdns/pdns.d/pdns.local.gmysql.conf
chown root:pdns /etc/powerdns/pdns.d/pdns.local.gmysql.conf

Kemudian hentikan service PowerDNS terlebih dahulu dan periksa lognya :
systemctl stop pdns
pdns_server --daemon=no --guardian=no --loglevel=9

Ketika melihat log, setidaknya terdapat informasi seperti gambar di atas yang menunjukkan bahwa koneksi PowerDNS dengan database MariaDB berhasil.
Setelah diperiksa dan koneksi berhasil, jalankan kembali service PowerDNS:
systemctl start pdns
Pastikan juga protokol yang digunakan service pdns berjalan ketika dilihat dengan statistik jaringan:
ss -alnp4 | grep pdns

5. Instal PowerAdmin
Poweradmin adalah user interface dari PowerDNS dengan basis website. Dengan Poweradmin, kita akan dipermudah dalam melakukan konfigurasi zone, records, dan segala hal yang diperlukan dalam konfigurasi nama domain. Poweradmin ini dikembangkan secara perorangan yang dipublikasi di github dengan akses bebas.
Sebelum mengambil sumber kode terbuka Poweradmin yang ada di github, diperlukan instalasi beberapa service dan dependencies. Jalankan perintah di bawah ini :
apt install -y wget apache2 gettext libapache2-mod-php php php-common php-curl php-dev php-gd php-pear php-imap php-mysql php-xmlrpc php-intl
Beberapa service penting yang diinstal antara lain web server apache2, wget untuk mengambil file di internet menggunakan link, dan php beserta beberapa modulnya.
Kemudian install ekstensi database yang diambil dari repository PHP :
pear install DB
Restart service web server apache2 :
systemctl restart apache2.service
Download paket kode Poweradmin:
wget https://github.com/poweradmin/poweradmin/archive/refs/tags/v3.4.1.tar.gz
Anda bisa menggunakan Poweradmin versi 3.4.1 yang sesuai dengan langkah-langkah dan sudah teruji dalam artikel ini.
Ekstrak file archive yang sudah didownload:
tar xvzf v3.4.1.tar.gz
Pindah folder/direktori Poweradmin ke dalam direktori Apache:
mv poweradmin-3.4.1 /var/www/html/poweradmin
Ubah kepemilikan direktori Poweradmin menjadi milik user webserver:
chown -R www-data:www-data /var/www/html/poweradmin/
6. Konfigurasi Poweradmin
Setelah selesai melakukan instalasi Poweradmin, akses IP server tersebut menggunakan browser untuk melakukan konfigurasi Poweradmin. Anda bisa akses url http://IP_VPS/poweradmin/install/

Pilih bahasa yang ingin digunakan. Gambar di atas memilih bahasa inggris sebagai bahasa yang akan digunakan Poweradmin. kemudian klik Go to step 2.

Pada halaman kedua, diberitahukan bahwa sebelum melakukan instalasi harus memiliki PowerDNS database yang dapat diakses dan belum pernah menjalankan Poweradmin sebelumnya. Jika sebelumnya terdapat data di dalam database, maka data-data tersebut akan dihapus. Maka sangat direkomendasikan untuk membuat cadangan database sebelum melakukan instalasi Poweradmin.
Klik Go to step 3 untuk melanjutkan insatalasi.

Pada tahap ketiga, isi form sesuai dengan konfigurasi database yang telah disiapkan sebelumnya pada tahap instalasi PowerDNS. Data yang disikan pada formulir tersebut digunakan oleh Poweradmin untuk mengakses database.
- Username: user database yang telah dibuat untuk database PowerDNS
- Password: password user database PowerDNS
- Hostname: localhost / IP server
- DB Port: port yang digunakan MariaDB (default port 3306)
- Database: nama database PowerDNS
- DB charset dan collation: jika ada character set tertentu yang digunakan (default kosong)
- Poweradmin administrator password: password dari user “admin” yang digunakan untuk login

Pada tahap kelima, isi formulir sesuai dengan user database dan password user database Poweradmin. Pada isian hostmaster nantinya akan dijadikan nama domain utama yang memiliki second dan top-level domain yang disebut dengan Fully Qualified Domain Name (FQDN). Dan juga isi primary dan secondary nameserver yang digunakan untuk memberi informasi record domain.

Pada bagian ini langsung klik Go to step 6 jika sebelumnya sudah membuat database beserta user database yang digunakan PowerDNS.

Pada tahap ke 6, buat file konfigurasi di dalam directory web Poweradmin:
nano /var/www/html/poweradmin/inc/config.inc.php
Kemudian masukkan konfigurasi Poweradmin :
<?php
$db_host = 'localhost';
$db_name = 'pdns';
$db_user = 'pdnsadmin';
$db_pass = '123';
$db_type = 'mysql';
$session_key = '0$x030l4@F)69usDI%qR)2mmHMb7!$4E7*G0eTC_!%Awk!';
$iface_lang = 'en_EN';
$dns_hostmaster = 'hostmaster.mnoer.my.id';
$dns_ns1 = 'ns1.mnoer.my.id';
$dns_ns2 = 'ns2.mnoer.my.id';
$ignore_install_dir = true;

Setelah itu, klik Go to step 7 kemudian klik login to Poweradmin.

Sampai langkah ini konfigurasi sudah selesai dan Poweradmin siap digunakan. Login gunakan Username “admin” dengan password yang sudah di buat pada tahap halaman ketiga ketika instalasi.
Untuk login bisa melalui url http://IP_VPS/poweradmin/index.php

Tampilan awal setelah Login :

7. Cara Menggunakan Poweradmin
Sebagai contoh, kita akan membuat record zone dengan hostname mnoer.my.id
Pertama-tama, pergi ke menu List zones:

Klik Add master zone untuk membuat forward zone:

Kemudian, isi zone name dengan domain yang diinginkan dengan type master:

Untuk forward zone, namakan zone dengan domain utama. Forward zone ini digunakan oleh server untuk memetakan atau mencocokkan domain dengan IP Address. Kemudian tambah lagi Add master zone untuk reverse zone:

Untuk reverse zone, namakan zone dengan nama <ip-terbalik>.in-addr.arpa. Pada contoh di atas menggunakan IP Address server PowerDNS maka 3 oktet ditulis terbalik sebagai nama zona dan ditambahkan .in-addr.arpa. Reverse zone ini digunakan oleh server untuk memetakan atau mencocokkan IP Address dengan domain. contoh jika IP Anda 11.12.13.14, maka penulisannya 13.12.11.in-addr.arpa.
Setelah itu silakan buat Forward Zone, klik edit pada forward zone yang telah dibuat :

Buat NS (Name Server) Record yang digunakan oleh server untuk mengidentifikasi dimana record domain disimpan :

Kemudian buat A Record yang digunakan untuk mencocokkan domain dengan IP Address:

Untuk membuat sub-domain bisa dengan menambahkan CNAME Record. Record ini mengambil sumber dari domain utama dari A Record yang telah dibuat:

Hasil akhir dapat dilihat pada list record yang telah di buat:

Setelah itu buat Reverse Zone, klik edit pada reverse zone yang telah dibuat:

Buat NS (Name Server) Record terlebih dahulu:

Kemudian buat PTR Record:

Hasil akhir dapat dilihat pada list record yang telah di buat:

Jika sudah, pengujian dapat dilakukan dengan dig seperti di bawah ini :

C. Penutup
Dengan mengikuti panduan ini, PowerDNS berhasil diinstal dan dapat digunakan sebagai DNS Server pada Ubuntu 22.04. Administrator dapat mengelola zona dan record DNS melalui PowerAdmin Web Interface secara mudah dan terpusat.
Semoga artikel yang telah kami sampaikan dapat membantu Anda. Anda juga dapat menemukan artikel lainnya melalui halaman Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala teknis terkait dengan layanan Biznet GIO, Anda dapat menghubungi kami melalui email support@biznetgio.com atau dapat melalui live chat di website Biznet GIO, melalui chat WhatsApp dan bisa juga melalui telepon ke nomor (021) 5714567.
Popular Articles
-
Cara Install & Konfigurasi Monitoring Cacti Serta Mengetahui Fungsi Fitur Pada Cacti
13 people say this guide was helpful
-
Cara Mengaktifkan Telnet pada Windows 7, 8 dan 10
5 people say this guide was helpful
-
Install dan Konfigurasi Samba Server pada Ubuntu
4 people say this guide was helpful
-
Jenis-Jenis Software Virtualisasi untuk Membuat Virtual Machine
7 people say this guide was helpful