Instalasi dan Konfigurasi PowerDNS Admin di Ubuntu 20.04
PowerDNS Admin adalah antarmuka web yang memudahkan pengelolaan server nama PowerDNS. Menginstalnya di Ubuntu 20.04 melibatkan beberapa langkah penting mulai dari persiapan sistem hingga konfigurasi akhir.
Persiapan Awal Sistem
Sebelum memulai, pastikan sistem operasi Anda adalah Ubuntu 20.04 LTS. Akses dengan hak akses root atau pengguna sudo sangat diperlukan untuk menjalankan perintah instalasi. Perbarui daftar paket sistem dengan menjalankan perintah sudo apt update
dan sudo apt upgrade
.
Instalasi Prasyarat Software
Beberapa paket perangkat lunak diperlukan agar PowerDNS Admin dapat berjalan dengan baik. Instal paket-paket berikut:
sudo apt install python3 python3-venv python3-pip build-essential libmysqlclient-dev libpq-dev git
Paket-paket ini mencakup Python 3, alat untuk membuat virtual environment, pip (manajer paket Python), alat kompilasi, serta development headers untuk basis data MySQL dan PostgreSQL.
Pengaturan Basis Data
PowerDNS Admin memerlukan basis data untuk menyimpan data. PostgreSQL adalah pilihan yang direkomendasikan, tetapi MariaDB atau MySQL juga didukung.
Untuk PostgreSQL:
Instal server PostgreSQL: sudo apt install postgresql postgresql-contrib
.
Masuk ke shell PostgreSQL: sudo -u postgres psql
.
Buat basis data dan pengguna baru, contoh:
CREATE DATABASE powerdns_admin;
CREATE USER pdnsadmin WITH PASSWORD 'kata_sandi_kuat';
GRANT ALL PRIVILEGES ON DATABASE powerdns_admin TO pdnsadmin;
\q
untuk keluar.
Untuk MariaDB:
Instal server MariaDB: sudo apt install mariadb-server mariadb-client
.
Amankan instalasi MariaDB: sudo mysql_secure_installation
.
Masuk ke shell MariaDB: sudo mysql -u root -p
.
Buat basis data dan pengguna baru, contoh:
CREATE DATABASE powerdns_admin CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'pdnsadmin'@'localhost' IDENTIFIED BY 'kata_sandi_kuat';
GRANT ALL PRIVILEGES ON powerdns_admin.* TO 'pdnsadmin'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Mengunduh dan Menyiapkan PowerDNS Admin
Unduh kode sumber PowerDNS Admin dari repositori Git ke direktori yang sesuai, misalnya /opt/powerdns-admin
:
sudo git clone https://github.com/ngoduykhanh/PowerDNS-Admin.git /opt/powerdns-admin
cd /opt/powerdns-admin
Menginstal Dependensi Python dalam Virtual Environment
Sangat disarankan menggunakan virtual environment Python untuk mengisolasi dependensi PowerDNS Admin.
Buat virtual environment: sudo python3 -m venv venv
.
Aktifkan virtual environment: source venv/bin/activate
.
Instal dependensi Python yang diperlukan: pip install -r requirements.txt
. Jika menggunakan PostgreSQL, instal pip install psycopg2-binary
. Jika menggunakan MariaDB, instal pip install mysqlclient
.
Konfigurasi Aplikasi PowerDNS Admin
Salin file konfigurasi contoh: cp config_template.py config.py
.
Edit file config.py
menggunakan editor teks favorit Anda (misalnya nano config.py
). Sesuaikan pengaturan basis data (SQLALCHEMY_DATABASE_URI
), ganti SECRET_KEY
dengan nilai acak yang kuat, dan sesuaikan pengaturan lain sesuai kebutuhan.
Setelah mengkonfigurasi basis data di config.py
, inisialisasi basis data:
Aktifkan virtual environment jika belum: source venv/bin/activate
.
Jalankan migrasi basis data: FLASK_APP=app.py flask db upgrade
.
Buat pengguna administrator awal: FLASK_APP=app.py flask create_admin
. Ikuti petunjuk untuk membuat username dan kata sandi.
Menjalankan Aplikasi dengan Gunicorn
Untuk menjalankan PowerDNS Admin sebagai daemon atau layanan, gunakan WSGI server seperti Gunicorn.
Instal Gunicorn dalam virtual environment: pip install gunicorn
.
Uji coba menjalankan Gunicorn: gunicorn -w 4 -b 127.0.0.1:8080 app:app
. Ini akan menjalankan aplikasi pada port 8080 di localhost.
Untuk menjalankan sebagai layanan, buat file systemd (misalnya /etc/systemd/system/powerdns-admin.service
) dengan konfigurasi yang sesuai, tentukan lokasi aplikasi dan user/grup yang menjalankan. Aktifkan dan mulai layanan: sudo systemctl enable powerdns-admin
dan sudo systemctl start powerdns-admin
.
Menyiapkan Akses Web via Nginx
Akses langsung ke Gunicorn tidak disarankan. Gunakan reverse proxy seperti Nginx.
Instal Nginx: sudo apt install nginx
.
Buat file konfigurasi virtual host Nginx untuk PowerDNS Admin (misalnya /etc/nginx/sites-available/powerdns-admin
), lalu buat symlink ke sites-enabled
. Konfigurasi Nginx akan meneruskan permintaan dari port standar web (misalnya 80 atau 443 dengan SSL) ke Gunicorn yang berjalan di localhost pada port yang ditentukan.
Reload konfigurasi Nginx: sudo nginx -t
untuk menguji sintaks, lalu sudo systemctl reload nginx
.
Setelah semua langkah selesai, Anda dapat mengakses antarmuka web PowerDNS Admin melalui nama host atau alamat IP server Anda menggunakan browser.
Sumber: https://kifarunix.com/easily-install-and-setup-powerdns-admin-on-ubuntu-20-04/