deployment:network:powerdns:poweradmin

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
deployment:network:powerdns:poweradmin [2026/02/27 14:14] ilyasadeployment:network:powerdns:poweradmin [2026/03/01 17:37] (current) – [Run the Web Installer] ilyasa
Line 16: Line 16:
 === Install PHP + Webserver-Nginx === === Install PHP + Webserver-Nginx ===
 <code bash> <code bash>
-apt install -y nginx php php-fpm php-pgsql php-pdo-pgsql php-gettext php-mbstring php-xml php-curl php-intl php-session wget unzip+apt install -y nginx php php-fpm php-pgsql php-mbstring php-xml php-curl php-intl gettext wget
 </code> </code>
  
Line 36: Line 36:
 </code> </code>
  
 +==== Konfigurasi Postgres Database Allow Remote Connection (Optional)  ====
 +Hanya jika poweradmin berada di machine yang berbeda
 +=== Edit postgresql.conf — Untuk allow listening pada all interfaces: ===
 +<code bash>
 +sudo nano /etc/postgresql/*/main/postgresql.conf
 +</code>
 +Ubah:
 +<code bash>
 +listen_addresses = 'localhost'
 +</code>
 +Ke:
 +<code bash>
 +listen_addresses = '*'
 +</code>
 +
 +=== Edit pg_hba.conf — Untuk allow poweradmin host: ===
 +<code bash>
 +nano /etc/postgresql/*/main/pg_hba.con
 +</code>
 +Pada bagian kongigurasi host tambahkan line:
 +<code bash>
 +host    powerdns    pdns          <poweradmin-ip>/32    md5 # Dapat dihapus nanti setelah init powerdns
 +host    powerdns    poweradmin    <poweradmin-ip>/32    md5
 +</code>
 +Ganti <poweradmin-ip> Dengan IP PowerDNS Server
 +==== Konfigurasi Webserver (Nginx) ====
 +
 +=== Create Simple HTTP ===
 +<code bash>
 +sudo nano /etc/nginx/sites-available/poweradmin
 +</code>
 +<code nginx>
 +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;
 +    }
 +}
 +</code>
 +=== Enable Nginx Sites ===
 +<code bash>
 +sudo ln -s /etc/nginx/sites-available/poweradmin /etc/nginx/sites-enabled/
 +sudo nginx -t
 +sudo systemctl reload nginx
 +</code>
 +
 +==== Run the Web Installer ====
 +=== Buka Installer pada browser http://your-server-ip:8081/install/ ===
 +{{ :deployment:network:powerdns:padmin1.png?nolink |}}
 +=== 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) 
 +{{ :deployment:network:powerdns:padmin-database.png?nolink |}}
 +
 +=== Setting Database user untuk poweradmin ===
 +Sekarang kita akan mengenerate user database untuk poweradmin. sesuaikan dengan user yang kita allow pada konfigurasi di atas. 
 +{{ :deployment:network:powerdns:padmin-database2.png?nolink&600 |}}
 +{{ :deployment:network:powerdns:padmin-database3.png?nolink&600 |}}
 +Kita akan diberikan sql file untuk di jalankan pada powerdns server. Cukup jalankan ini saja pada powerdns server.
 +<code sql>
 +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;"
 +</code>
 +
 +=== Setting /config/setting.php ===
 +Setelah nya poweradmin akan memberikan ''setting.php'' yang dapat disalin di file webserver poweradmin
 +{{ :deployment:network:powerdns:padmin-settingphp.png?nolink |}}
 +<code bash>
 +nano /var/www/poweradmin/config/settings.php
 +</code>
 +dan salin sesuai yang digenerate oleh installer poweradmin.
 +
 +
 +=== Delete file installer pada webserver ===
 +
 +{{ :deployment:network:powerdns:padmin-laststep.png?nolink |}}
 +Selanjutnya adallah tinggal delete file installer pada webserver
 +<code bash>
 +rm /var/www/poweradmin/install/ -rf
 +</code>
 +
 +=== Poweradmin ===
 +{{ :deployment:network:powerdns:padmin-result.png?nolink |}}
  • deployment/network/powerdns/poweradmin.1772176473.txt.gz
  • Last modified: 2026/02/27 14:14
  • by ilyasa