Set Up Domain dan NGINX Server Block di VPS Ubuntu7 min read

Jika kita pernah menggunakan Apache atau XAMPP (didalamnya ada Apache) mungkin kita pernah mendengar istilah Virtual Host, nah kurang lebih Server Block ini adalah semacam Virtual Host. Yaitu sebuah metode untuk menajalankan banyak domain atau website dalam 1 web server.

Setelah sebelumnya kita membahas Setup VPS (Droplets) dan Install NGINX di DigitalOcean, pada tutorial kali ini kita akan membahas step by step bagaimana setup NGINX Server Block di sebuah VPS yang menggunakan OS Ubuntu 18.04.

Persiapan

Sebelum kita bahas lebih jauh lagi, saya asumsikan teman-teman sudah menyiapkan  beberapa hal dibawah:

  • Sebuah VPS dengan OS Ubuntu dan sudah terinstall NGINX, walaupun NGINX Server Block ini bisa juga dijalankan di local tapi pada contoh kali ini saya akan membahas setup di kasus real yaitu di VPS. Jika bagian ini belum siap temen-temen bisa baca-baca dulu disini.
  • 1 atau lebih domain/subdomain dengan Akses DNS Zone Editor (harus bisa save A Record), jika penyedia domain tidak menyediakan DNS Zone Editor maka teman-teman bisa menggunakan layanan DNS Zone Editor dari CloudFlare. Dalam contoh di artikel ini pun saya menggunakan CloudFlare. Jika belum familiar dengan CloudFlare bisa baca-baca tutorial ini: https://support.cloudflare.com/hc/en-us/articles/201720164-Creating-a-Cloudflare-account-and-adding-a-website

Perencanaan

Pada contoh disini kita akan membuat 2 buah website yaitu satu.azishapidin.com dan juga dua.azishapidin.com dalam sebuah server yang sudah diinstall Ubuntu dan NGINX.

Setting DNS Domain ke Server

Langkah pertama adalah kita harus setting DNS domain yang akan kita arahkan tadi ke IP Server kita, berikut contohnya jika menggunakan DNS CloudFlare:

IP-nya saya sensor ya 😀

Membuat Konfigurasi Server Block untuk masing-masing Domain

Setelah DNS domain diarahkan ke IP Server kita, maka selanjutnya kita harus membuat script untuk handle domain tersebut di NGINX yang ada di server kita.

Konfigurasi website satu.azishapidin.com

Pertama kita buat dahulu direktori untuk website satu, silahkan buat direktori dimana saja,  tapi saya lebih menyarankan membuat direktorinya di /var/www/satu kemudian isi file index.html dengan menjalankan perintah dibawah:

Kemudian kita isi file index.html dengan script sederhana seperti dibawah:

Gunakan CTRL + X  untuk keluar dari nano.

Setelah itu pada direktori /etc/nginx/sites-available/ kita buat file konfigurasi bernama satu.azishapidin.com:

Kemudian kita isi seperti ini:

Perhatikan pada baris 5, /var/www/satu adalah direktori root untuk web satu.azishapidin.com. Sedangkan pada baris 8 satu.azishapidin.com adalah nama domain untuk web kita. Silahkan sesuaikan kedua nilai ini dengan direktori dan domain teman-teman. Seperti biasa gunakan CTRL + X untuk keluar dari nano.

Setelah itu kita harus enable web kita dengan membuat symbolic link dari file konfigurasi diatas tadi ke folder /etc/nginx/sites-enabled menggunakan perintah dibawah:

Kemudian kita jalankan perintah dibawah untuk memastikan bahwa konfigurasi nginx kita tidak ada masalah:

Jika tidak ada masalah harusnya muncul pesan seperti ini:

JIka sudah oke, kita restart nginx dengan menjalankan perintah dibawah:

Sekarang kita coba buka satu.azishapidin.com maka harusnya web kita sudah jalan:

Membuat website dua.azishapidin.com

Untuk membuat web dua.azishapidin.com kita cukup ulangi semua perintah pada bagian sebelumnya. Sekalian latihan. Good Luck 😀

Jika tidak ada masalah harusnya bisa sampai muncul tampilan seperti ini:

Penutup

Kesimpulannya adalah jika kita ingin menggunakan NGINX Server Block maka kita cukup pointing DNS Domain kita ke IP Server, kemudian kita buat konfigurasi NGINX-nya di Server kita.

Selanjutnya kita tinggal main-main di konfigurasi NGINX tersebut, mulai dari:

  • Menjalankan App berbasis PHP.
  • Menjalankan App berbasis NodeJS, Python, Java, dsb.
  • Instalasi SSL Certificate / HTTPS.
  • Melakukan Load Balancing.
  • Dan hal-hal menarique lainnya.

Terima kasih atas kunjungannya, semoga bermanfaat. Jika ada yang perlu didiskusikan silahkan corat-coret di kolom komentar.