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:21] – [Konfigurasi Database] 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 Database (Postgres) ==== +==== Konfigurasi Postgres Database Allow Remote Connection (Optional ==== 
- +Hanya jika poweradmin berada di machine yang berbeda 
-=== Buat User Untuk Poweradmin pada PowerDNS Database ===+=== Edit postgresql.conf — Untuk allow listening pada all interfaces: ===
 <code bash> <code bash>
-sudo -u postgres psql+sudo nano /etc/postgresql/*/main/postgresql.conf
 </code> </code>
-<code sql+Ubah: 
-CREATE USER poweradmin_user WITH PASSWORD 'StrongPassword123!'; +<code bash
-GRANT ALL PRIVILEGES ON DATABASE powerdns TO poweradmin_user; +listen_addresses = 'localhost
-\c powerdns +</code> 
-GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO poweradmin_user; +Ke: 
-GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO poweradmin_user; +<code bash> 
-GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO poweradmin_user; +listen_addresses = '*'
-ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO poweradmin_user; +
-ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO poweradmin_user; +
-\q+
 </code> </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) ==== ==== Konfigurasi Webserver (Nginx) ====
  
Line 62: Line 69:
 <code nginx> <code nginx>
 server { server {
-    listen 80+    listen 8081
-    server_name your-domain.com;  # or server IP+    server_name _;  # your-domain.com or server IP
  
     root /var/www/poweradmin;     root /var/www/poweradmin;
Line 86: Line 93:
     }     }
 } }
 +</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> </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.1772176897.txt.gz
  • Last modified: 2026/02/27 14:21
  • by ilyasa