Pendahuluan

Virtual Host

Virtual Host adalah fitur Apache yang memungkinkan anda menjalankan beberapa website di satu server (VPS) dan satu IP publik. Dengan virtual host, anda bisa mengatur domain yang berbeda, masing-masing dengan folder dan konfigurasi sendiri.

Panduan ini berlaku untuk Ubuntu (22.04 / 24.04) dan Debian (10/11/12).

Persyaratan 

  1. VPS yang sudah terinstal Apache ( Cara Install Apache di VPS Ubuntu dan Debian )
  2. Domain yang mengarah ke IP server (Bagaimana Cara Menambahkan Domain di akun cPanel)

Langkah - langkah membuat Virtual Host di OS Ubuntu dan Debian 

  1. Login ke dalam VPS
    Pastikan anda login ke VPS sebagai root 

  2. Buat File Konfigurasi Virtual Host
    Apache membaca konfigurasi domain dari folder /etc/apache2/sites-available/ gunakan teks editor seperti nano untuk membuat file menggunakan command line berikut
    sudo  nano  /etc/Apache2/sites-available/contoh1.com.conf
  3. Isi File Konfigurasi
    Isi file konfigurasi dengan code berikut
        ServerAdmin websiteanda@contoh.com
        ServerName aplikasi.contoh.com
    
        DocumentRoot /var/www/html/contoh
        DirectoryIndex index.html index.php
    
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    
        
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        
    

    Jika sudah tutup dengan menggunakan CTRL+X kemudian Y. Anda akan keluar dari file dan file akan tersimpan
    Konfigurasi Apache di atas membuat virtual host baru yang menyajikan file aplikasi web dari direktori /var/www/html/contoh menggunakan domain aplikasi.contoh.com. Penjelasannya sebagai berikut:

    • : Menetapkan bahwa virtual host akan mendengarkan semua alamat IP pada port HTTP standar (80).

    • ServerAdmin websiteanda@contoh.com: Alamat email administrator server yang akan menerima notifikasi kesalahan atau peringatan penting.

    • ServerName example.com: Menentukan nama domain yang digunakan virtual host ini untuk melayani aplikasi web.

    • DocumentRoot /var/www/html/website: Lokasi folder utama yang berisi file aplikasi web untuk domain tersebut.

    • DirectoryIndex index.html: Menetapkan bahwa index.html adalah berkas utama yang akan ditampilkan saat aplikasi.contoh.com diakses.

    • ErrorLog ${APACHE_LOG_DIR}/error.log: Menunjuk berkas log khusus untuk mencatat semua error yang terjadi pada virtual host ini.

    • CustomLog ${APACHE_LOG_DIR}/access.log combined: Menentukan berkas log akses menggunakan format “combined” untuk pencatatan permintaan ke server.

    • : Blok pengaturan yang berlaku untuk setiap permintaan ke direktori /var/www/html/contoh.

      • Options Indexes FollowSymLinks: Mengizinkan daftar isi direktori (Indexes) dan penggunaan symbolic link (FollowSymLinks).

      • AllowOverride All: Memungkinkan berkas .htaccess di dalam folder tersebut untuk mengubah konfigurasi virtual host.

      • Require all granted: Memberi izin akses penuh kepada semua pengguna untuk melihat isi direktori web root.

  4. Buat Folder Root Website
    Setiap domain perlu folder sendiri untuk menaruh file HTML/PHP-nya. Gunakan command line berikut
    sudo  mkdir  -p  /var/www/html/contoh

    Perintah -p akan membuat direktori beserta semua subfolder yang belum ada.

  5. Berikan Hak Akses ke Folder
    Supaya kamu bisa meng-upload dan edit file:
    sudo chown -R www-data:www-data /var/www/html/contoh

    chown memberi kepemilikan folder kepada user aktif (misalnya ubuntu atau yourusername), agar bisa diedit tanpa hak root.

  6. Buat File HTML Sederhana Untuk Uji Coba
    Masukan code berikut


    File index.html ini akan ditampilkan saat anda mengakses domain melalui browser

  7. Aktifkan Virtual Host yang sudah dibuat
    Setelah konfigurasi dibuat, aktifkan dengan command line berikut
    sudo  a2ensite  contoh1.com.conf

    a2ensite = Apache 2 Enable Site → mengaktifkan file konfigurasi yang tadi kamu buat.

  8. Nonaktifkan Virtual Host default
    Supaya tidak bentrok dengan 000-default.conf (konfigurasi bawaan Apache):
    sudo a2dissite 000-default
  9. Test Virtual Host 
    Lakukan tes pada konfigurasi apache dengan command line berikut:
    sudo apachectl configtest
  10. Reload Apache 
    Muat ulang konfigurasi Apache agar perubahan diterapkan dengan command line berikut:
    sudo systemctl reload apache2
  11. Uji Akses Domain
    Uji coba dengan cara ketikan domain anda di browser. Akan tampil seperti gambar dibawah



Struktur Virtual Host 

Elemen Lokasi
Folder website /var/www/contoh1.com/public_html/
File konfigurasi Apache /etc/apache2/sites-available/contoh1.com.conf
Log error & akses /var/log/apache2/

 

Membuat virtual host di Apache memberi anda kontrol penuh atas banyak domain dalam satu server. Dengan mengikuti langkah-langkah ini, anda bisa menambahkan domain sebanyak yang anda butuhkan, masing-masing dengan folder, konfigurasi, dan log yang terpisah. Ini sangat penting untuk hosting multi-proyek, pengembangan lokal, atau server produksi yang hemat biaya.

Sedang mencari hosting yang cepat, aman, dan terjangkau? Saatnya pindah ke Plasawebhost! Nikmati fitur lengkap dan dukungan pelanggan 24 jam. Cocok untuk pemula hingga developer profesional.