Cara Mudah Pasang dan Setting PowerDNS Admin di Ubuntu 20.04

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

BACA JUGA:  CutePeaks: Aplikasi untuk melihat file Sanger Trace di banyak platform

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.

BACA JUGA:  Bersiap Hadapi Dampak Besar: UU DPDP India 2023 dan Dampaknya yang Mengubah Keadaan

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/