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
- VPS yang sudah terinstal Apache ( Cara Install Apache di VPS Ubuntu dan Debian )
- Domain yang mengarah ke IP server (Bagaimana Cara Menambahkan Domain di akun cPanel)
Langkah - langkah membuat Virtual Host di OS Ubuntu dan Debian
- Login ke dalam VPS
Pastikan anda login ke VPS sebagai root - 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
- 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.
-
-
- 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.
- 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.
- Buat File HTML Sederhana Untuk Uji Coba
Masukan code berikut
File index.html ini akan ditampilkan saat anda mengakses domain melalui browser - 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.
- Nonaktifkan Virtual Host default
Supaya tidak bentrok dengan 000-default.conf (konfigurasi bawaan Apache):
sudo a2dissite 000-default
- Test Virtual Host
Lakukan tes pada konfigurasi apache dengan command line berikut:
sudo apachectl configtest
- Reload Apache
Muat ulang konfigurasi Apache agar perubahan diterapkan dengan command line berikut:
sudo systemctl reload apache2
- 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.