Panduan Linux

Cara Konfigurasi Virtual Hosts di NGINX

Halo, teman-teman! Kali ini kita bakal bahas gimana caranya konfigurasi virtual hosts di NGINX. Virtual hosts itu kayak rumah-rumahan buat website kamu di server. Jadi, satu server bisa nampung banyak website dengan domain yang beda-beda. Keren, kan? Yuk, langsung aja kita mulai!

1. Persiapan Awal

Pertama, pastiin dulu kamu udah punya NGINX terinstall di servernya. Kalo belum, kamu bisa install pake perintah:

sudo apt update
sudo apt install nginx

Setelah itu, pastiin juga kamu udah punya domain atau subdomain yang mau dipake. Misalnya, kita punya dua website: website1.com dan website2.com.

2. Buat Direktori untuk Website

Setiap website butuh tempat buat nyimpen file-file mereka. Kita bisa bikin direktori khusus buat masing-masing website. Biasanya, direktori ini ditaruh di /var/www/.

sudo mkdir -p /var/www/website1.com/html
sudo mkdir -p /var/www/website2.com/html

Jangan lupa kasih izin yang bener ke direktori tersebut:

sudo chown -R $USER:$USER /var/www/website1.com/html
sudo chown -R $USER:$USER /var/www/website2.com/html
sudo chmod -R 755 /var/www

3. Buat File HTML Sederhana

Biar lebih seru, kita bikin file HTML sederhana buat masing-masing website. Misalnya, buat website1.com:

nano /var/www/website1.com/html/index.html

Isi file-nya:

<html>
    <head>
        <title>Welcome to Website1!</title>
    </head>
    <body>
        <h1>Halo! Ini website1.com</h1>
    </body>
</html>

Lakukan hal yang sama buat website2.com:

nano /var/www/website2.com/html/index.html

Isi file-nya:

<html>
    <head>
        <title>Welcome to Website2!</title>
    </head>
    <body>
        <h1>Halo! Ini website2.com</h1>
    </body>
</html>

4. Buat File Konfigurasi Virtual Host

Sekarang, kita bikin file konfigurasi buat masing-masing website di NGINX. File konfigurasi ini biasanya ditaruh di /etc/nginx/sites-available/.

Buat website1.com:

sudo nano /etc/nginx/sites-available/website1.com

Isi file-nya:

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

    root /var/www/website1.com/html;
    index index.html index.htm index.nginx-debian.html;

    server_name website1.com www.website1.com;

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

Buat website2.com:

sudo nano /etc/nginx/sites-available/website2.com

Isi file-nya:

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

    root /var/www/website2.com/html;
    index index.html index.htm index.nginx-debian.html;

    server_name website2.com www.website2.com;

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

5. Aktifkan Virtual Host

Setelah bikin file konfigurasi, kita perlu aktifin virtual host tersebut. Caranya, bikin symlink dari sites-available ke sites-enabled.

sudo ln -s /etc/nginx/sites-available/website1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/website2.com /etc/nginx/sites-enabled/

6. Test Konfigurasi dan Restart NGINX

Sebelum restart NGINX, kita test dulu konfigurasinya bener atau nggak:

sudo nginx -t

Kalo keluar pesan syntax is okay dan test is successful, berarti konfigurasi kita bener. Selanjutnya, restart NGINX:

sudo systemctl restart nginx

7. Uji Coba

Terakhir, buka browser dan coba akses website1.com dan website2.com. Kalo semua berjalan lancar, kamu bakal liat halaman HTML yang udah kita bikin tadi.

Gampang, kan? Sekarang kamu udah bisa ngehost banyak website di satu server pake NGINX. Selamat mencoba!

#Nginx #Tutorial