apt update
apt install -y nginx php php-fpm php-pgsql php-mbstring php-xml php-curl php-intl gettext wget
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
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
sudo nano /etc/postgresql/*/main/postgresql.conf
Ubah:
listen_addresses = 'localhost'
Ke:
listen_addresses = '*'
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
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; } }
sudo ln -s /etc/nginx/sites-available/poweradmin /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginx
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)
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;"
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.
Selanjutnya adallah tinggal delete file installer pada webserver
rm /var/www/poweradmin/install/ -rf