Installasi Bind9 Admin

 


Install Bind9-Admin

Pada kesempatan kali ini saya mencoba membuat Web Interface untuk melakukan simple management pada server DNS dengan memanfaatkan service bind9 dan mysql-server.


Terinspirasi dari powerdns-admin yang memiliki web interface untuk memudahkan user melakukan management DNS server, tetapi pada powerdns saya rasa cukup berat dibandingkan dengan bind9. Oleh karena itu saya kepikiran untuk membuat bind9 Web Interface Simple.


Memang secara tampilan dan fitur masih kalah jauh dengan powerdns-admin, tetapi saya rasa saat ini sudah cukup untuk melakukan konfigurasi bind9 sederhana melalui web interface.


Langsung saja masuk ke cara install.


Cara Install

Noted: Semua command dibawah di eksekusi sebagai root.


Installasi bind9, mariadb-server, dan nginx.


code-box apt install bind9 nginx mariadb-server


Installasi php8.


code-boxapt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2


code-boxecho "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/sury-php.list


code-boxwget -qO - https://packages.sury.org/php/apt.gpg | apt-key add -


code-boxapt update


code-boxapt install php8.2 php8.2-fpm openssl php8.2-bcmath php8.2-curl php8.2-mbstring php8.2-mysql php8.2-tokenizer php8.2-xml php8.2-zip


Installasi composer, karena disini aplikasi bind9-admin menggunakan laravel. Maka kita harus melakukan installasi composer terlebih dahulu.


code-boxphp -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"


code-boxphp composer-setup.php


code-boxphp -r "unlink('composer-setup.php');"


code-boxmv composer.phar /usr/local/bin/composer


Clone aplikasi bind9-admin dari github.


code-boxapt install git


code-boxgit clone https://github.com/tkjw92/bind9-admin /var/www/html/bind9-admin


Menyiapkan environtment aplikasi.


code-boxapt install sudo


code-boxnano /etc/sudoers


Tambahkan pada file sudoers seperti di bawah ini.


code-boxwww-data ALL=(ALL) NOPASSWD: /var/www/html/bind9-admin/public/backend/bin/python


Membuat database untuk bind9-admin.


code-boxmysql


code-boxcreate database bind9;


code-boxgrant all privileges on bind9.* to 'admin'@'localhost' identified by 'admin123';


code-boxflush privileges;


Konfigurasi database credential pada aplikasi.


code-boxnano /var/www/html/bind9-admin/.env




code-boxcd /var/www/html/bind9-admin


code-boxcomposer update


code-boxphp artisan key:generate


code-boxchown -R www-data:www-data /var/www/html


Lakukan migrasi pada database.


code-boxphp artisan migrate:fresh --seed


Membuat virtualhost pada nginx untuk melakukan serve bind9-admin.


code-boxnano /etc/nginx/sites-enabled/bind9-admin


code-boxserver { listen 5300; server_name _; root /var/www/html/bind9-admin/public; add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; index index.php; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; location ~ \.php$ { fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.(?!well-known).* { deny all; } }


Restart nginx.


code-boxsystemctl restart nginx


Akses pada web browser.




Silahkan login menggunakan akun default yaitu:

username: admin

password: adminissuperpower


Tampilan dashboard ketika berhasil login.





Sekian untuk cara installasi bind9-admin, silahkan mencoba :)

Jika terdapat bug atau error bisa menghubungi saya jika berkenan, terimakasih.


Posting Komentar

Post a Comment (0)

Lebih baru Lebih lama