Cara Menghosting Banyak Domain di Nginx

Halo sobat server, kembali lagi bersama jagoserver.com. Pada tutorial kali ini kita akan mempelajari bagiamana caranya Untuk Menghosting banyak situs di Nginx dengan domain yang sama menggunakan Fully Qualified Domain Name (FQDN). Untuk melibatkan konfigurasi beberapa virtual host dengan subdomain atau URL path yang berbeda. Berikut adalah langkah-langkah detail untuk melakukannya:

Prasyarat

  1. Nginx terinstal: Pastikan Nginx sudah terinstal di server sobat.
  2. Akses root atau sudo: Anda memerlukan akses root atau sudo untuk mengubah konfigurasi Nginx.
  3. DNS konfigurasi: Pastikan DNS untuk domain Anda dikonfigurasi dengan benar untuk mengarahkan subdomain ke server Anda.

Langkah-langkah Konfigurasi

1. Konfigurasi Subdomain

Jika sobat server berencana menggunakan subdomain (seperti site1.example.comsite2.example.com), pastikan Anda menambahkan catatan DNS untuk subdomain ini yang mengarah ke alamat IP server Anda.

2. Buat Direktori untuk Setiap Situs/Domain

Buat direktori terpisah untuk setiap situs di server Anda:

sudo mkdir -p /var/www/site1.example.com
sudo mkdir -p /var/www/site2.example.com

3. Setting Direktori Pengguna

Setting direktori ke pengguna yang menjalankan Nginx (biasanya www-data):

sudo chown -R www-data:www-data /var/www/site1.example.com
sudo chown -R www-data:www-data /var/www/site2.example.com

4. Buat File Konfigurasi untuk Setiap Situs

Buat file konfigurasi Nginx terpisah untuk setiap situs di /etc/nginx/sites-available/:

sudo nano /etc/nginx/sites-available/site1.example.com

Tambahkan konfigurasi berikut:

server {
    listen 80;
    server_name site1.example.com;

    root /var/www/site1.example.com;
    index index.html;

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

Ulangi untuk situs lainnya :

sudo nano /etc/nginx/sites-available/site2.example.com

Tambahkan konfigurasi berikut:

server {
    listen 80;
    server_name site2.example.com;

    root /var/www/site2.example.com;
    index index.html;

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

5. Aktifkan Situs

Buat symlink dari sites-available ke sites-enabled:

sudo ln -s /etc/nginx/sites-available/site1.example.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2.example.com /etc/nginx/sites-enabled/

6. Uji Konfigurasi Nginx

Uji konfigurasi Nginx untuk memastikan tidak ada kesalahan sintaks:

sudo nginx -t

7. Muat Ulang Nginx

Muat ulang Nginx untuk menerapkan perubahan:

sudo systemctl reload nginx


Langkah-Langkah Tambahan untuk mengaktifkan keamanan pada situs dengan menggunakan HTTPS

Berikut langkah-langkahnya :

1. Generate Sertifikat SSL

Sobat server dapat menggunakan Let’s Encrypt untuk mendapatkan sertifikat SSL gratis:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d site1.example.com -d site2.example.com

2. Perbarui Konfigurasi Nginx untuk HTTPS

Certbot secara otomatis akan memperbarui konfigurasi Nginx Anda untuk menggunakan HTTPS. Verifikasi perubahan di file konfigurasi di /etc/nginx/sites-available/ jika diperlukan.

Kesimpulan

Sekarang sobat server telah berhasil mengonfigurasi Nginx untuk menghosting banyak situs dengan domain yang sama menggunakan subdomain. sobat server dapat menambahkan lebih banyak situs dengan mengikuti langkah-langkah yang sama, menyesuaikan nama direktori, dan konfigurasi virtual host sesuai kebutuhan.

Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top