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
- Nginx terinstal: Pastikan Nginx sudah terinstal di server sobat.
- Akses root atau sudo: Anda memerlukan akses root atau sudo untuk mengubah konfigurasi Nginx.
- 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.com
, site2.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.