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

  1. Update paket sistem
    sudo apt update && sudo apt upgrade -y
    
  2. Install Curl 
    sudo apt install curl -y
  3. Tambahkan daftar repository
    Buat file repository khusus:
    sudo nano /etc/apt/sources.list.d/pdns.list

    Isi dengan baris berikut:

    deb [signed-by=/etc/apt/keyrings/auth-49-pub.asc arch=amd64] http://repo.powerdns.com/debian bookworm-auth-49 main
  4. Ubah preferensi agar paket versi 5 diprioritaskan
    sudo nano /etc/apt/preferences.d/auth-50
    

    isi 

    Package: auth*
    Pin: origin repo.powerdns.com
    Pin-Priority: 600
    
  5. 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
    
  6. Update daftar paket dan instal versi 5
    sudo apt-get update
    sudo apt-get install pdns-server pdns-backend-mysql -y
    
  7. Instal MariaDB & amankan seperti langkah sebelumnya
    sudo apt install mariadb-server mariadb-client -y
    sudo mysql_secure_installation
    

    Kemudian 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!
  8. Buat database dan user untuk PowerDNS
    sudo mysql -u root -p
    
    Masukkan perintah berikut pada MariaDB/MySQL:
    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;
  9. Import schema bawaan PowerDNS ke database
    sudo mysql -u root -p powerdns < /usr/share/doc/pdns-backend-mysql/schema.mysql.sql
    

    Kemudian Masukkan password untuk user database powerdns 

  10. 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=PasswordPowerdns321
    

    Pastikan hanya satu launch= backend yang aktif. Opsi gmysql-* lain seperti gmysql-port atau gmysql-socket tersedia sesuai kebutuhan koneksi.

  11. Restart dan enable service PowerDNS
    sudo systemctl restart pdns
    sudo systemctl enable pdns
    sudo systemctl status pdns
    

Langkah-Langkah Instalasi PowerAdmin

  1. 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-ldap

    Pastikan 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
  2. Instalasi PowerAdmin
    Pindah ke direktori web:
    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
    Set permission:
    sudo chown -R www-data:www-data /var/www/html/poweradmin
  3. Akses Wizard Instalasi
    Buka browser ke:
    http://IP-SERVER/poweradmin/install
  4. Pilih bahasa 
    Pilih bahasa yang akan digunakan :
  5. Cek Persyaratan
    Wizard akan menampilkan status ekstensi PHP, permission, dan koneksi database. Pastikan semua tercentang hijau.
  6. Persiapan Instalasi 
    Pastikan database powerdns dan user sudah dibuat di MariaDB.jika sudah bisa di continue:

  7. 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
  8. Input User Database dan Setting DNS
    Sesuaikan dengan user,password dan Dns yang akan dibuat 

  9. Jika kita sudah membuat user dan password untuk database bisa di klik Continue

  10. Kemudian Copy baris berikut:

    Masukkan kedalam File berikut:
    sudo nano /var/www/html/config/settings.php

    Pastekan baris konfigurasi yang telah dicopy, lalu simpan.

  11. Kemudian hapus Directory ./install berikut

    Gunakan perintah berikut untuk menghapus directory ./install
    sudo rm -rf /var/www/html/poweradmin/install/

     

  12. 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.


Artikel Lain

WhatsApp Kami

Support : +6282138153600

Admin Finance : +6285191239466