deployment:network:powerdns:poweradmin

Poweradmin : Web UI untuk PowerDNS server

Update repository:

apt update

Install PHP + Webserver-Nginx

apt install -y nginx php php-fpm php-pgsql php-mbstring php-xml php-curl php-intl gettext wget

Download Poweradmin

Cek versi latest di: https://github.com/poweradmin/poweradmin/releases

cd /tmp
wget https://github.com/poweradmin/poweradmin/archive/refs/tags/v4.1.1.tar.gz

Extract dan pindahkan Files

tar -xzvf v4.1.1.tar.gz
sudo mv poweradmin-4.1.1 /var/www/poweradmin
sudo chown -R www-data:www-data /var/www/poweradmin
sudo chmod -R 755 /var/www/poweradmin

Hanya jika poweradmin berada di machine yang berbeda

Edit postgresql.conf — Untuk allow listening pada all interfaces:

sudo nano /etc/postgresql/*/main/postgresql.conf

Ubah:

listen_addresses = 'localhost'

Ke:

listen_addresses = '*'

Edit pg_hba.conf — Untuk allow poweradmin host:

nano /etc/postgresql/*/main/pg_hba.con

Pada bagian kongigurasi host tambahkan line:

host    powerdns    pdns          <poweradmin-ip>/32    md5 # Dapat dihapus nanti setelah init powerdns
host    powerdns    poweradmin    <poweradmin-ip>/32    md5

Ganti <poweradmin-ip> Dengan IP PowerDNS Server

Create Simple HTTP

sudo nano /etc/nginx/sites-available/poweradmin
server {
    listen 8081;
    server_name _;  # your-domain.com or server IP
 
    root /var/www/poweradmin;
    index index.php index.html;
 
    access_log /var/log/nginx/poweradmin_access.log;
    error_log  /var/log/nginx/poweradmin_error.log;
 
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
 
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;  # adjust PHP version
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
 
    location ~ /\.ht {
        deny all;
    }
}

Enable Nginx Sites

sudo ln -s /etc/nginx/sites-available/poweradmin /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Buka Installer pada browser http://your-server-ip:8081/install/

Setting Database connection

Powerdns perlu akses ke powerdns database dengan untuk mengenerate tables yang diperlukan, Berikan creds user/roles yang pdns yang kita buat sebelumnya. (Ini hanya diperlukan pada awal init poweradmin)

Setting Database user untuk poweradmin

Sekarang kita akan mengenerate user database untuk poweradmin. sesuaikan dengan user yang kita allow pada konfigurasi di atas. Kita akan diberikan sql file untuk di jalankan pada powerdns server. Cukup jalankan ini saja pada powerdns server.

sudo -u postgres psql -d powerdns -c "CREATE USER poweradmin WITH PASSWORD 'poweradmin.fopens.net';;"
sudo -u postgres psql -d powerdns -c "GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO poweradmin;"
sudo -u postgres psql -d powerdns -c "GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO poweradmin;"

Setting /config/setting.php

Setelah nya poweradmin akan memberikan setting.php yang dapat disalin di file webserver poweradmin

nano /var/www/poweradmin/config/settings.php

dan salin sesuai yang digenerate oleh installer poweradmin.

Delete file installer pada webserver

Selanjutnya adallah tinggal delete file installer pada webserver

rm /var/www/poweradmin/install/ -rf

Poweradmin

  • deployment/network/powerdns/poweradmin.txt
  • Last modified: 2026/03/01 17:37
  • by ilyasa