Virtual Host : Pengertian dan Cara Membuatnya
Apa Itu Virtual Host?
Virtual Host adalah metode yang digunakan untuk menambahkan banyak domain dalam satu server. Artinya bisa membuat banyak website dengan domain berbeda pada server yang sama.
Ada tiga tipe konfigurasi virtual host, yaitu :
- IP Based : setiap website menggunakan IP address yang berbeda.
- Port Based : setiap website menggunakan IP address yang sama tapi pada port yang berbeda.
- Name Based : setiap website menggunakan IP address yang sama dengan hostname yang berbeda.
Suatu server bisa membagi resourcenya (memory, processor, dll) untuk masing-masing virtual host. Oleh karena itu, salah satu keunggulan virtual host adalah tidak memerlukan resource tambahan sehingga bisa lebih hemat biaya.
Pada praktiknya, virtual host sering digunakan pada layanan shared hosting. Itulah salah satu alasan layanan tersebut harganya lebih terjangkau.
Cara Membuat Virtual Host di Ubuntu Menggunakan Apache
Untuk membuat virtual host pada Apache, pastikan sudah melakukan instalasi Apache pada server Ubuntu atau Debian terlebih dulu. Jika sudah siap bisa mengikuti enam langkah cara membuat virtual host di Ubuntu berikut ini :
1. Membuat Direktori Baru
Langkah pertama yang perlu dilakukan adalah membuat struktur direktori server. Direktori inilah yang akan digunakan untuk menyimpan data situs website.
Lokasi penyimpanan data website di Apache berada dalam direktori /var/www/html
. Nah perlu membuat folder baru bernama public_html pada direktori /var/www/html
yang akan digunakan untuk menyimpan konten masing-masing domain.
Jalankanlah perintah berikut ini untuk membuat folder pada direktori tersebut :
# sudo mkdir -p /var/www/html/public_html
2. Memberikan Permissions Folder
Untuk dapat memodifikasi file di dalam direktori yang telah dibuat, perlu mengganti Permissions atau hak akses yang masih dimiliki oleh user root. Tujuannya, agar user biasa pun dapat mengubah file yang ada di direktori /var/www/html/
.
Silahkan jalankan perintah berikut ini untuk mengubah Permissions :
sudo chown -R $USER:$USER /var/www/html/public_html
Variabel $USER akan mengambil nilai dari user yang sedang aktif saat tombol ENTER ditekan.
Nah sekarang sudah bisa menambah atau mengubah konten yang ada didalam direktori /var/www/html
.
3. Membuat Halaman Demo untuk Testing
Selanjutnya perlu membuat halaman HTML untuk pengujian host baru. Caranya, masuklah ke direktori public_html dengan menjalankan perintah berikut ini :
# cd /var/www/html/public_html
Buatlah file bernama index.html pada direktori public_html dengan menggunakan perintah berikut :
# touch index.html
Lalu, bukalah file index.html tersebut dengan perintah :
# nano index.html
Kemudian, salinlah kode HTML di bawah ini ke dalam file index.html :
<! DOCTYPE html> < html > < body > < h1 >Selamat!!!</ h1 > < p >Pengaturan Virtual Host Berhasil.</ p > </ body > </ html > |
Simpan perubahan file dengan menekan tombol Ctrl+X >> Y >> ENTER pada keyboard.
4. Membuat File Virtual Host Baru
Pada tahap ini akan membuat file host baru di dalam web server Apache. Secara default, Apache memiliki file virtual host bernama 000-default.conf. Untuk membuat file baru, salinlah file 000-default.conf dengan menjalankan perintah :
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/website-1.conf
Perintah tersebut akan membuat file baru bernama website-1.conf yang merupakan salinan dari file 000-default.conf.
Kemudian, bukalah file website-1.conf tersebut dengan menggunakan perintah berikut :
nano /etc/apache2/sites-available/website-1.conf
Jika file website-1.conf telah terbuka akan melihat tampilan seperti pada gambar di bawah ini :
Pada file inilah akan mengatur dan menambah beberapa kode baru sesuai dengan kebutuhan domain.
Pertama-tama, agar file terlihat lebih rapi, hapuslah semua baris text yang memiliki tanda #. Text yang menggunakan tanda ini hanyalah text informasi mengenai cara penggunaan file tersebut.
Selanjutnya, ubah baris kode ServerAdmin
menjadi email yang dipakai oleh administrator (email Anda). Pada panduan ini, kami menggunakan contoh email [email protected], maka kode kami menjadi seperti ini :
ServerAdmin [email protected]
Kemudian, tambahkanlah dua baris kode berikut ini dibawah baris kode ServerAdmin
:
ServerName DomainAnda.com
ServerAlias www.DomainAnda.com
ServerName
berfungsi untuk memberikan informasi domain yang akan menggunakan host ini. Sedangkan ServerAlias
berfungsi untuk menentukan alamat lain yang ingin menggunakan virtual host, misalnya www
.
Terakhir, aturlah DocumentRoo
t virtual host agar bekerja di dalam direktori public_html yang telah dibuat sebelumnya.
DocumentRoot /var/www/html/public_html
Nah, berikut ini adalah hasil akhir dari file website-1.conf. Bisa langsung menyalin script di bawah ini ke dalam file virtual host baru. Tapi ingat, sesuaikan dengan email dan domain.
<VirtualHost *:80> ServerAdmin [email protected] ServerName DomainAnda.com ServerAlias www.DomainAnda.com DocumentRoot /var/www/html/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
Untuk menyimpan perubahan, silahkan tekan tombol CTRL+X >> Y >> ENTER pada keyboard.
5. Mengaktifkan Virtual Host Baru
Setelah file virtual host baru berhasil dibuat perlu mengaktifkannya dengan menggunakan perintah a2ensite
berikut ini :
sudo a2ensite website-1.conf
Kemudian, nonaktifkan konfigurasi default Apache yang berada pada file 000-default.conf dengan perintah ini :
sudo a2dissite 000-default.conf
Lalu, lakukanlah restart Apache untuk menerapkan konfigurasi yang baru dengan menjalankan perintah :
sudo systemctl restart apache2
6. Melakukan Testing
Setelah semua konfigurasi selesai dilakukan perlu mengecek keberhasilan pembuatan virtual host baru.
Caranya, akseslah domain yang telah ditambahkan pada baris kode ServerName
di file virtual host baru. Jika muncul tampilan seperti gambar di bawah ini, artinya konfigurasi berhasil.
Tampilan website di atas adalah output dari file index.html yang telah dibuat dalam direktori public_html.