Cara Install PowerDNS dan PowerAdmin di Ubuntu 24.04
Pengantar
PowerDNS adalah nameserver authoritative modern yang mendukung berbagai backend termasuk database MySQL/MariaDB sehingga lebih mudah diintegrasikan ke sistem hosting dan otomasi dibandingkan pengelolaan zone file manual pada BIND. PowerAdmin (Poweradmin) adalah antarmuka web yang mempermudah pembuatan/ubah zone dan record melalui GUI sehingga operasional hosting skala besar menjadi lebih efisien.
Prasyarat
- Server Ubuntu 24.04 (root/akses sudo + koneksi SSH).
- Akses root/sudo.
- Port TCP/UDP 53 terbuka di firewall.
- Port TCP 80 dan 443 terbuka di firewall.
Langkah-Langkah Instalasi PowerDNS
- Update paket sistem
sudo apt update && sudo apt upgrade -y - Install Curl
sudo apt install curl -y - Tambahkan daftar repository
Buat file repository khusus:
sudo nano /etc/apt/sources.list.d/pdns.listIsi dengan baris berikut:
deb [signed-by=/etc/apt/keyrings/auth-49-pub.asc arch=amd64] http://repo.powerdns.com/debian bookworm-auth-49 main - Ubah preferensi agar paket versi 5 diprioritaskan
sudo nano /etc/apt/preferences.d/auth-50isi
Package: auth* Pin: origin repo.powerdns.com Pin-Priority: 600 - Unduh dan simpan GPG key untuk versi 5
sudo install -d /etc/apt/keyrings curl https://repo.powerdns.com/FD380FBB-pub.asc | sudo tee /etc/apt/keyrings/auth-50-pub.asc - Update daftar paket dan instal versi 5
sudo apt-get update sudo apt-get install pdns-server pdns-backend-mysql -y - Instal MariaDB & amankan seperti langkah sebelumnya
sudo apt install mariadb-server mariadb-client -y sudo mysql_secure_installationKemudian ikuti Instalasi berikut :
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and haven't set the root password yet, you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password or using the unix_socket ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have your root account protected, so you can safely answer 'n'. Switch to unix_socket authentication [Y/n] y Enabled successfully! Reloading privilege tables.. ... Success! You already have your root account protected, so you can safely answer 'n'. Change the root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB! - Buat database dan user untuk PowerDNS
Masukkan perintah berikut pada MariaDB/MySQL:sudo mysql -u root -p
CREATE DATABASE powerdnsdb; CREATE USER 'powerdns'@'localhost' IDENTIFIED BY 'PasswordPowerdns321'; GRANT ALL PRIVILEGES ON powerdnsdb.* TO 'powerdns'@'localhost'; CREATE USER 'poweradmin'@'localhost' IDENTIFIED BY 'PasswordPoweradmin321'; GRANT SELECT, INSERT, UPDATE, DELETE ON powerdnsdb.* TO 'poweradmin'@'localhost'; FLUSH PRIVILEGES; EXIT; - Import schema bawaan PowerDNS ke database
sudo mysql -u root -p powerdns < /usr/share/doc/pdns-backend-mysql/schema.mysql.sqlKemudian Masukkan password untuk user database powerdns
- Konfigurasi /etc/powerdns/pdns.conf untuk backend MySQL
Edit /etc/powerdns/pdns.conf dan tambahkan atau sesuaikan baris:
launch=gmysql gmysql-host=127.0.0.1 # atau gunakan socket: gmysql-socket=/run/mysqld/mysqld.sock gmysql-dbname=powerdnsdb gmysql-user=powerdns gmysql-password=PasswordPowerdns321Pastikan hanya satu launch= backend yang aktif. Opsi gmysql-* lain seperti gmysql-port atau gmysql-socket tersedia sesuai kebutuhan koneksi.
- Restart dan enable service PowerDNS
sudo systemctl restart pdns sudo systemctl enable pdns sudo systemctl status pdns
Langkah-Langkah Instalasi PowerAdmin
- Instalasi Web Server dan PHP
PowerAdmin membutuhkan Apache/Nginx dan PHP. Di sini kita gunakan Apache:
sudo apt install apache2 -y sudo apt install php -y sudo apt install -y php-intl php-php-gettext php-mysql php-pgsql php-sqlite3 php-ldapPastikan PHP-FPM 8.3 aktif:
sudo apt install php8.3-fpm php8.3-mysql php8.3-xml php8.3-mbstring php8.3-curl php8.3-gd -y sudo systemctl enable --now php8.3-fpm - Instalasi PowerAdmin
Pindah ke direktori web:
Set permission:cd /var/www/html wget https://github.com/poweradmin/poweradmin/archive/refs/tags/v4.0.1.zip unzip v4.0.1.zip && rm v4.0.1.zip mv poweradmin-4.0.1 poweradmin
sudo chown -R www-data:www-data /var/www/html/poweradmin - Akses Wizard Instalasi
Buka browser ke:
http://IP-SERVER/poweradmin/install - Pilih bahasa
Pilih bahasa yang akan digunakan :
- Cek Persyaratan
Wizard akan menampilkan status ekstensi PHP, permission, dan koneksi database. Pastikan semua tercentang hijau.
- Persiapan Instalasi
Pastikan database powerdns dan user sudah dibuat di MariaDB.jika sudah bisa di continue:
- Konfigurasi Database Dan User Poweradmin:

Penjelasan
- Database Connection : Sesuaikan dengan User dan password Database yang telah dibuat
- PowerAdmin Account : Password Ini yang akan digunakan untuk login kedalam panel poweradmin
- Input User Database dan Setting DNS
Sesuaikan dengan user,password dan Dns yang akan dibuat
- Jika kita sudah membuat user dan password untuk database bisa di klik Continue

- Kemudian Copy baris berikut:

Masukkan kedalam File berikut:
sudo nano /var/www/html/config/settings.php
Pastekan baris konfigurasi yang telah dicopy, lalu simpan.
- Kemudian hapus Directory ./install berikut

Gunakan perintah berikut untuk menghapus directory ./install
sudo rm -rf /var/www/html/poweradmin/install/ - Login ke PowerAdmin
Setelah instalasi selesai buka:
http://IP-SERVER/poweradmin/
Kemudian login menggunakan username default admin dan password PoweradminWebpass123 yang telah di buat sebelumnya.
Kesimpulan
Instalasi PowerAdmin via GUI Wizard memudahkan setup karena panduan langkah demi langkah lewat browser. Pastikan LAMP dan database PowerDNS sudah siap, serta buat user login PowerAdmin yang berbeda dari user database. Setelah selesai, hapus folder install dan atur permission settings.php agar akses dashboard aman. Gunakan subdomain khusus dan SSL untuk keamanan tambahan. Dengan begitu, PowerAdmin siap digunakan untuk mengelola PowerDNS secara praktis dan aman.


