Cara Menambahkan Domain & Subdomain Manual di Nginx

Panduan lengkap setup virtual host di VPS Ubuntu menggunakan Nginx — cocok untuk domain utama dan subdomain.

± 6 menit baca Penulis: SufaNet
Setup Virtual Host Nginx VPS

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.