Welcome to website
Langkah-Langkah Install PowerDNS di AlmaLinux
Created By: Hafiizh


Pendahuluan
PowerDNS Authoritative Server merupakan salah satu software DNS Server yang digunakan untuk mengelola dan menyediakan informasi DNS suatu domain. PowerDNS mendukung berbagai jenis backend, salah satunya adalah Generic MySQL/MariaDB (gmysql) yang dapat digunakan untuk menyimpan data zone dan record DNS di dalam database.
Pada tutorial ini, PowerDNS akan diinstal pada server dengan sistem operasi AlmaLinux 10 menggunakan MariaDB sebagai database.
We partner with ambitious businesses to create digital solutions that inspire confidence, attract customers, and drive sustainable growth. By combining strategic thinking, creative design, and modern technology.

Lingkungan yang digunakan
OS: AlmaLinux 10
DNS Server: PowerDNS Authoritative Server
Database: MariaDB
Backend: Generic MySQL/MariaDB (gmysql)
Port DNS: 53 TCP/UDPServer: VPS

Notes
Sesuaikan nama domain, alamat IP, username, dan password dengan konfigurasi server masing-masing.
power dns
PERSIAPAN SERVER
1. Update Sistem
Login ke VPS menggunakan akun root, kemudian lakukan update sistem.
dnf update -y
Setelah selesai, pastikan sistem memiliki hostname yang sesuai.
hostnamectl set-hostname dns.kering.my.id
Periksa hostname:
hostnamectl
2. Install EPEL
PowerDNS menyediakan repository untuk Enterprise Linux. Untuk AlmaLinux 10, EPEL diperlukan untuk beberapa dependency.
dnf install epel-release -y
3. Tambahkan Repository PowerDNS
Untuk menggunakan PowerDNS Authoritative Server versi stable 5.1.x, tambahkan repository berikut:
curl -o /etc/yum.repos.d/powerdns-auth-51.repo \
https://repo.powerdns.com/repo-files/el-auth-51.repo
Kemudian perbarui metadata repository:
dnf makecache
Repository resmi PowerDNS menyediakan paket Authoritative Server 5.1.x untuk Enterprise Linux 10.
4. Install PowerDNS dan Backend MariaDB
Install PowerDNS beserta backend Generic MySQL/MariaDB.
dnf install pdns pdns-backend-mysql -y
Backend gmysql digunakan PowerDNS untuk berkomunikasi dengan MySQL atau MariaDB. Backend ini mendukung berbagai fitur PowerDNS seperti primary, secondary, DNSSEC, dan DNS update.
Cek versi PowerDNS:
pdns_server –version
5. Install dan Jalankan MariaDB
Jika MariaDB belum tersedia pada server, install MariaDB:
dnf install mariadb-server mariadb -y
Aktifkan dan jalankan MariaDB:
systemctl enable –now mariadb
Periksa statusnya:
systemctl status mariadb
Kemudian jalankan konfigurasi keamanan:
mariadb-secure-installation
Ikuti pertanyaan yang diberikan dan buat password untuk database.
6. Membuat Database PowerDNS
Login ke MariaDB:
mariadb -u root -p
Buat database bernama powerdns:
CREATE DATABASE powerdns;
Kemudian buat user database:
CREATE USER ‘powerdns’@’localhost’ IDENTIFIED BY ‘PASSWORD_KUAT’;
Berikan hak akses:
GRANT ALL PRIVILEGES ON powerdns.* TO ‘powerdns’@’localhost’;
Terapkan privilege:
FLUSH PRIVILEGES;
Keluar dari MariaDB:
EXIT;
Ganti PASSWORD_KUAT dengan password database yang kamu buat sendiri.
POWER DNS
BUAT ZONE DAN RECORD DNS.
7. Membuat Struktur Database PowerDNS
PowerDNS membutuhkan beberapa tabel untuk menyimpan domain dan DNS record. Pada sistem RPM, schema database biasanya tersedia bersama paket backend.
Cari file schema:
rpm -ql pdns-backend-mysql | grep -E ‘schema|mysql’
Jika file schema ditemukan, gunakan file tersebut untuk membuat tabel database.
Contohnya:
mariadb -u root -p powerdns < /path/ke/schema.sql
Kemudian periksa tabel:
mariadb -u root -p
USE powerdns;
SHOW TABLES;
Tabel seperti domains, records, dan comments digunakan oleh PowerDNS untuk menyimpan informasi DNS.
8. Konfigurasi PowerDNS
Backup konfigurasi terlebih dahulu:
cp /etc/pdns/pdns.conf /etc/pdns/pdns.conf.backup
Edit konfigurasi:
nano /etc/pdns/pdns.conf
Tambahkan konfigurasi berikut:
launch=gmysql
gmysql-host=127.0.0.1
gmysql-port=3306
gmysql-dbname=powerdns
gmysql-user=powerdns
gmysql-password=PASSWORD_KUAT
Konfigurasi gmysql-host, gmysql-port, gmysql-dbname, gmysql-user, dan gmysql-password merupakan parameter yang digunakan PowerDNS untuk terhubung ke database MySQL/MariaDB.
Simpan konfigurasi setelah selesai.
9. Jalankan PowerDNS
Aktifkan dan jalankan service PowerDNS:
systemctl enable –now pdns
Periksa status:
systemctl status pdns
Jika status menunjukkan:
Active: active (running)
berarti PowerDNS sudah berhasil dijalankan.
10. Periksa Port DNS
Gunakan perintah berikut:
ss -lntup | grep pdns
atau:
ss -lntup | grep :53
PowerDNS seharusnya mendengarkan koneksi DNS pada port 53 TCP dan UDP.
11.Menambahkan DNS Record
Sebagai contoh, tambahkan record A:
pdnsutil add-record example.com @ A 3600 192.168.1.100
Tambahkan record untuk www:
pdnsutil add-record example.com www A 3600 192.168.1.100
Periksa hasilnya:
pdnsutil list-zone example.com
12. Pengujian DNS
Setelah konfigurasi selesai, lakukan pengujian menggunakan dig.
dig @127.0.0.1 example.com
Untuk menguji record tertentu:
dig @127.0.0.1 www.example.com
Jika konfigurasi berhasil, PowerDNS akan memberikan jawaban DNS sesuai record yang telah dibuat.