Pendahuluan
Menambahkan domain atau subdomain manual di Nginx disebut juga membuat Virtual Host. Dengan konfigurasi ini, satu server VPS bisa menampung banyak website dengan domain yang berbeda.
Struktur Direktori Website
Buat folder untuk menyimpan file web:
sudo mkdir -p /var/www/namadomain.com/html
sudo chown -R $USER:$USER /var/www/namadomain.com/html
Buat file index.html sederhana untuk tes:
echo "Website Aktif!
" | sudo tee /var/www/namadomain.com/html/index.html
Langkah 1: Tambahkan Domain di Nginx
Buat file konfigurasi domain baru di /etc/nginx/sites-available:
sudo nano /etc/nginx/sites-available/namadomain.com
Isi dengan konfigurasi berikut:
server {
listen 80;
server_name namadomain.com www.namadomain.com;
root /var/www/namadomain.com/html;
index index.html index.php;
access_log /var/log/nginx/namadomain.access.log;
error_log /var/log/nginx/namadomain.error.log;
location / {
try_files $uri $uri/ =404;
}
}
Aktifkan konfigurasi dan reload Nginx:
sudo ln -s /etc/nginx/sites-available/namadomain.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Langkah 2: Tambahkan Subdomain Manual
Buat direktori baru untuk subdomain:
sudo mkdir -p /var/www/blog.namadomain.com/html
sudo chown -R $USER:$USER /var/www/blog.namadomain.com/html
Salin konfigurasi Nginx-nya:
sudo cp /etc/nginx/sites-available/namadomain.com /etc/nginx/sites-available/blog.namadomain.com
Edit isinya agar sesuai:
server {
listen 80;
server_name blog.namadomain.com;
root /var/www/blog.namadomain.com/html;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
}
Aktifkan subdomain dan reload Nginx:
sudo ln -s /etc/nginx/sites-available/blog.namadomain.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Langkah 3: Tambahkan SSL (Opsional)
Gunakan Certbot untuk menambahkan SSL gratis dari Let’s Encrypt:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d namadomain.com -d www.namadomain.com
FAQ
Apakah bisa satu VPS untuk banyak domain?
Bisa. Setiap domain tinggal ditambahkan file virtual host baru di folder /etc/nginx/sites-available.
Bagaimana cara menambahkan wildcard subdomain?
Gunakan server_name *.namadomain.com; agar semua subdomain diarahkan ke satu konfigurasi.
Kesimpulan
Setup virtual host Nginx memberi kamu fleksibilitas untuk menjalankan banyak domain dan subdomain di satu VPS. Cocok untuk environment staging, production, atau testing. Gunakan VPS Indonesia SufaNet untuk performa cepat dan pengelolaan domain yang stabil.