Tutorial Penggunaan Server Blocks Nginx di Ubuntu 18.04

Server Blocks Nginx memungkinkan Anda untuk menjalankan lebih dari satu situs web pada satu server. Dengan Server Blocks, Anda dapat menentukan root dokumen situs (direktori yang berisi file situs web), membuat kebijakan keamanan terpisah untuk setiap situs, menggunakan sertifikat SSL berbeda untuk setiap situs dan banyak lagi.

Dalam tutorial ini, kami akan memberikan panduan langkah demi langkah tentang cara menyiapkan server blocks Nginx (mirip dengan Apache Virtual Hosts) di Ubuntu 18.04.

*Prasyarat*

Pastikan Anda telah memenuhi prasyarat berikut sebelum melanjutkan dengan tutorial ini:

· Memiliki nama domain pointing ke IP server publik Anda. Dalam tutorial ini kita akan menggunakan example.com. · Anda telah menginstal Nginx dengan mengikuti instruksi dari tutorial ini. · Anda masuk sebagai pengguna dengan hak istimewa sudo.

Dalam beberapa dokumentasi, Anda kadang akan melihat Server Blocks dirujuk sebagai Virtual host. Namun” virtual host” sendiri adalah istilah dari Apache.

*Buat Struktur Direktori*

Root dokumen adalah direktori tempat file situs web disimpan yang disajikan sebagai respons terhadap permintaan. Kita dapat mengatur root dokumen ke lokasi mana pun yang kita inginkan tetapi dalam panduan ini kita akan menggunakan struktur direktori berikut:

/var/www/ “”œ””€””€ domain1.com “”‚” ”  “””””€””€ public_html “”œ””€””€ domain2.com “”‚” ”  “””””€””€ public_html “”œ””€””€ domain3.com “”‚” ”  “””””€””€ public_html

Pada dasarnya kami akan membuat direktori terpisah untuk setiap domain yang ingin kami host di server kami di dalam direktori /var/www. Dalam setiap direktori ini, kami akan membuat direktori public_html yang akan menyimpan file situs web domain.

Mari kita buat direktori root untuk domain kita domain1.com” dan domain2.com:

sudo mkdir -p /var/www/domain1.com/public_html

sudo mkdir -p /var/www/domain2.com/public_html

Untuk tujuan pengujian, kami akan membuat file index.html di dalam direktori root dokumen domain.

Buka editor Anda dan buat file demo:

/var/www/*domain1.com*/public_html/index.html

Selamat Datang

Domain1 telah berjalan!

Sedangkan untuk domain2 mari kita buat juga file demo yang sama seperti domain1.

/var/www/*domain2.com*/public_html/index.html

Selamat Datang

Domain2 telah berjalan!

Dalam panduan ini, kami menjalankan perintah sebagai pengguna sudo dan file serta direktori yang baru dibuat dimiliki oleh pengguna root.

Untuk menghindari masalah izin, kami dapat mengubah kepemilikan direktori root dokumen domain menjadi Nginx user (www-data):

sudo chown -R www-data: /var/www/domain1.com

lakukan juga untuk direktori kedua :

sudo chown -R www-data: /var/www/domain2.com

*Membuat Server Block*

Secara default pada sistem Ubuntu, konfigurasi server blocks Nginx disimpan di direktori /etc/nginx/sites-available, yang diaktifkan melalui symbolic links ke direktori /etc/nginx/sites-enabled/.

Buka editor pilihan Anda dan buat file server block berikut:

/etc/nginx/sites-available/domain1.com

server { listen 80; listen [::]:80;

root /var/www/*domain1.com*/public_html;

index index.html;

server_name *domain1*.com www.*domain1*.com;

access_log /var/log/nginx/*domain1*.access.log; error_log /var/log/nginx/*domain1*.com.error.log;

location / { try_files $uri $uri/ =404; } }

kemudian pengaturan untuk server block domain2.com silahkan gunakan pengaturan berikut :

/etc/nginx/sites-available/domain2.com

server { listen 80; # tidak lagi menggunakan listen [::]:80; untuk server block kedua dan seterusnya # listen [::]:80; root /var/www/*domain2.com*/public_html;

index index.html;

server_name *domain2*.com www.*domain2*.com;

access_log /var/log/nginx/*domain2*.access.log; error_log /var/log/nginx/*domain2*.com.error.log;

location / { try_files $uri $uri/ =404; } }

Anda dapat memberi nama file konfigurasi sesuai selera Anda, tetapi saran terbaik adalah menggunakan nama domain. Bayangkan Anda memiliki 10 domain dengan file log yang sama, akan terjadi bencana jika 2 atau lebih situs sedang mengalami masalah. Pastinya akan sangat kesulitan untuk meneliti log yang banyak.

Untuk mengaktifkan file server block baru, kita perlu membuat symbolic link dari file ke direktori sites-enabled, yang akan dicari dan dibaca oleh Nginx saat startup:

sudo ln -s /etc/nginx/sites-available/*domain1.com* /etc/nginx/sites-enabled/

lakukan juga untuk domain2.com

sudo ln -s /etc/nginx/sites-available/*domain2.com* /etc/nginx/sites-enabled/

Test konfigurasi Nginx” untuk sintaks yang benar:

sudo nginx -t

Jika tidak ada kesalahan, hasilnya akan terlihat seperti ini :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Mulai ulang layanan Nginx agar perubahan diterapkan:

sudo systemctl restart nginx

untuk memverifikasi server block berfungsi seperti yang diharapkan, buka http://domain1.com” dan” http://domain2.com di browser pilihan Anda.

*Conclusion*

Anda telah belajar cara membuat konfigurasi server block Nginx untuk meng-host beberapa domain pada satu server Ubuntu. Anda dapat mengulangi langkah-langkah yang kami uraikan di atas dan membuat blok server tambahan untuk semua domain Anda.

Jika Anda ingin mengamankan situs web Anda dengan sertifikat LetsEncrypt SSL gratis, Anda dapat memeriksa panduan berikut: Amankan Nginx dengan Let’s Encrypt di Ubuntu 18.04

Leave a Reply

Your email address will not be published.