Section Artikel
Virtual host adalah sebuah metode untuk menambahkan banyak domain atau website dalam satu server. Dengan kata lain, anda bisa membuat website yang banyak dengan domain yang berbeda-beda pula dalam satu server yang sama.
Ada 3 tipe konfigurasi virtual host, sebagai berikut:
Dimana server bisa membagi resourcenya (memory, processor, dll.) untuk masing-masing virtual host. Karena itulah, keunggulan dari virtual host adalah tidak membutuhkan resource tambahan sehingga dapat menghemat pengeluaran uang.
Fungsi dari virtual host sendiri adalah untuk dapat menyediakan ruang penyimpanan bagi konten digital, sehingga user dapat mengaksesnya di web browser. Oleh karena itulah, dengan memakai virtual host, anda bisa memakai beberapa domain dalam satu server VPS.
Cara yang pertama membuat virtual host adalah menggunakan XAMPP Windows. Dimana cara ini anda bisa membuat virtual host di environment lokal pada sistem operasi Windows.
Untuk bisa mengakses project windows di environment lokal, anda mungkin harus memakai XAMPP yang dipakai sebagai web server.
Untuk menjalankan XAMPP sendiri, anda memerlukan untuk mengakses URL localhost/namaprojectanda di web browser untuk bisa melihat project.
Dengan memakai virtual host Windows, anda bisa mengubah nama localhost dengan nama sesuai keinginan anda. Seperti nama hostbaru.net.
Berikut ini adalah 4 cara untuk membuat virtual host XAMPP, adalah
Berikut ini adalah panduan lengkap cara membuat virtual host XAMPP:
Langkah pertama adalah mengedit file httpd.conf yang ditemukan di folder C:\xampp\apache\conf. Buka file httpd.conf di text editor yang anda punyai. Pada tutorial ini, memakai aplikasi Notepad.
Jika telah terbuka, temukan section pengaturan virtual host.
Terus, anda bisa menghapus tanda (#) di baris Include conf/extra/httpd-vhosts.conf menjadi, seperti berikut:
Jika sudah dihapus, maka simpanlah perubahan dengan melakukan cara seperti tekan tombol CTRL + S di keyboard anda. Kemudian tutuplah file itu.
Langkah kedua adalah mengedit file httpd-vhosts.conf. Dengan cara, memasuki folder C:\xampp\apache\conf\extra, terus anda bisa membuka file httpd-vhosts.conf, seperti ini:
Lalu, anda bisa menambahkan script pada bagian akhir file, seperti berikut:
<VirtualHost *:80>
DocumentRoot “C:/xampp/htdocs/hostbaru”
ServerName hostbaru.net
</VirtualHost>
Terus sesuaikanlah bagian DocumentRoot di lokasi anda dalam menyimpan file website tersebut. Lalu, anda bisa mengganti bagian Server names dengan nama host baru sesuai keinginan anda.
Contoh:
Menyimpan file di C:/xampp/htdocs/hostbaru, dengan nama hostbaru.net.
Nantinya, file httpd-vhosts.conf yang dibuat akan terlihat kurang lebih.
Janganlah anda lupa menyimpan perubahan tersebut, lalu anda bisa mengklik tombol Close.
Langkah ketiga adalah mengedit File hosts di Windows. File ini adalah file Windows yang terletak di direktori C:\Windows\System32\drivers\etc.
Dalam mengedit file hosts Windows, anda memerlukan akses sebagai administrator. Maka dari itu, anda perlu membuka notepad untuk memakai akses Run as administrator terlebih dahulu sebelum anda membuka file hosts.
Lalu, pilihlah menu File > Open, terus masuklah ke direktori C:\Windows\System32\drivers\etc. Klik file Hosts, klik tombol Open biar bisa membuka file Hosts.
Saat file Hosts telah terbuka, tambah nama host baru pada bagian akhir file, seperti berikut:
Tekan tombol CTRL + S untuk menyimpan, kemudian tutup file Hosts.
Langkah terakhir dan keempat adalah merestart XAMPP. Dengan cara, mengklik tombol Start di modul Apache dan MySQL.
Lalu, buka web browser, terus akses nama host baru yang dibuat.
Cara kedua berikutnya adalah membuat virtual host di Ubuntu dan Debian dengan menggunakan Nginx yang juga disebut Server Block. Berikut ini adalah beberapa cara dan/atau langkah dalam membuat Server Block di Ubuntu dan Debian, sebagai berikut:
Dibawah ini adalah penjelasan lengkapnya:
Langkah pertama adalah menginstal dan mengaktifkan Nginx. Anda bisa menginstal nya di server Ubuntu, seperti perintah berikut:
# sudo apt-get install Nginx
Tunggu sampai proses instal selesai, sebelum melangkah ke cara berikutnya.
Setelah selesai menginstal Nginx, anda harus membuat folder tentang data situs website.
Anda bisa menyimpannya di direktori /var/www/html. Buat folder baru dengan nama public_html di direktori tersebut, dengan perintah seperti berikut:
# sudo mkdir -p /var/www/html/public_html
Untuk memodifikasi file pada direktori /var/www/html/, anda harus mengubah permission atau hak mengakses, dengan cara sebagai berikut:
sudo chown -R $USER:$USER /var/www/html/public_html
Perintah tersebut, variabel $USER akan mengambil nilai dari user yang sedang aktif pada saat itu.
Terus, server yang dipakai sudah bisa dimodifikasi data dan/atau file yang ada di dalam direktori /var/www/html.
Berikutnya, masuk ke direktori public_html untuk bisa membuat file HTML yang akan dipakai untuk halaman testing virtual host, dengan cara sebagai berikut:
# cd /var/www/html/public_html
Lalu, buat file index.html di direktori public_html, dengan cara sebagai berikut:
# touch index.html
Terus, anda bisa membuka file index.html tadi, dengan cara:
# nano index.html
Setelah itu, salin kode HTML dibawah ini pada file tersebut:
<!DOCTYPE html>
<html>
<body>
<h1>Selamat!!!</h1>
<p>Pengaturan Server Block Berhasil.</p>
</body>
</html>
Simpanlah dengan menekan tombol CTRL + X >> Y >> ENTER pada keyboard.
Nginx mempunyai server block default. Buat server block dengan nama baru website-2 dengan cara menyalin file default, dengan cara:
# sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/website-2
Lalu, buka file website-2 dengan cara:
nano /etc/nginx/sites-available/website-2
Kemudian, anda akan melihat, seperti berikut:
Pertama, hapus semua baris text yang ada tanda # pada file website-2.
Lalu, tambah baris koder server name, untuk menentukan domain dan alamat yang akan dipakai pada virtual host.
server_name DomainAnda.com www.DomainAnda.com;
Atur Root server block, agar bisa bekerja dengan baik di dalam direktori public_html yang telah dibuat, seperti berikut:
Root /var/www/html/public_html
Inilah script dari hasil akhir isi file website-2, yaitu:
server {
listen 80;
listen [::]:80;
root
/var/www/html/public_html;
index index.html index.htm index.nginx-debian.html;
server_name DomainAnda.com www.DomainAnda.com;
location / {
try_files $uri
$uri/ =404;
}
}
Lalu simpanlah.
Setelah selesai membuat, aktifkan server block yang baru anda buat, dengan cara:
# sudo ln -s /etc/nginx/sites-available/website-2 /etc/nginx/sites-enabled/website-2
Lalu, cek lah apakah ada eror pada syntax konfigurasi yang baru anda buat:
sudo nginx -t
sudo systemctl restart nginx
Jika anda mau mengecek apakah pembuatan server block berhasil, maka anda bisa mengakses domain baru ini pada web browser anda. Jika muncul gambar seperti dibawah ini, maka berarti server block baru buatan anda berhasil dibuat.
Cara ketiga dan terakhir berikutnya adalah membuat virtual host di Ubuntu dan Debian dengan menggunakan Apache. Dimana anda perlu menginstal Apache pada server Ubuntu dan/atau Debian anda terlebih dahulu. Jika sudah selesai anda bisa mengikuti gara-gara seperti berikut:
Ikutilah gara-gara seperti berikut ini:
1. Membuat Direktori Baru
Cara pertama adalah membuat struktur direktori server. Direktori yang dibuat ini akan menjadi tempat penyimpanan data situs website yang nanti anda buat.
Penyimpanannya di Apache ada di direktori /var/www/html. Terus anda perlu membuat folder baru yaitu public_html pada direktori tadi, untuk bisa menyimpan konten masing-masing domain.
Pakailah cara sebagai berikut, untuk membuat folder baru pada direktori tadi, yaitu:
# sudo mkdir -p /var/www/html/public_html
2. Memberikan Permissions Folder
Dalam memodifikasi file yang ada pada direktori yang baru anda buat, anda perlu mengganti permissions atau hak akses dari user root. Agar user biasa bisa mengubah file di direktori /var/www/html/.
Pakailah cara sebagai berikut untuk mengubah permissions:
sudo chown -R $USER:$USER /var/www/html/public_html
Variabel $USER nanti akan mengambil nilai dari user yang sedang aktif saat tombol Enter ditekan.
Setelah itu, barulah anda bisa mengubah dan/atau menambah konten pada direktori /var/www/html.
3. Membuat Halaman Demo untuk Testing
Berikutnya, anda bisa lanjut membuat halaman HTML untuk menguji host baru. Dengan cara, masuk ke direktori public_html, seperti berikut:
# cd /var/www/html/public_html
Lalu buat file index.html pada direktori public_html dengan cara berikut:
# touch index.html
Selanjutnya anda bisa membuka file index.html, dengan cara berikut:
# nano index.html
Berikutnya, salin 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>
Simpanlah perubahan tadi dengan menekan tombol CTRL + X >> Y >> ENTER.
4. Membuat File Virtual Host Baru.
Di cara ini, anda sudah bisa membuat file host baru di web server Apache. Apache sendiri secara default mempunyai file virtual host bernama 000-default.conf. karena itulah untuk membuat file baru, anda harus menyalin file 000-default.conf tersebut, dengan cara:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/website-1.conf
Cara tadi akan membuat file baru dengan nama website-1.conf.
Lalu, anda bisa membuka file website-1.conf ini, dengan cara:
nano /etc/apache2/sites-available/website-1.conf
Saat file website-1.conf sudah terbuka.
File inilah, yang akan anda atur dan tambah dengan beberapa kode baru yang sesuai dengan kebutuhan domain yang anda ingini.
Pertama, hapuslah semua baris text yang ada tanda #. Text dengan tanda ini merupakan hanya text informasi tentang cara penggunaan file tersebut.
Lalu, anda bisa mengubah bari kode ServerAdmin menjadi email anda (administrator). Contohnya admin@website-1.com, maka kodenya adalah sebagai berikut:
ServerAdmin admin@website-1.com
Selanjutnya anda bisa menambah dua baris kode dibawah baris kode ServerAdmin, yaitu:
ServerName DomainAnda.com
ServerAlias www.DomainAnda.com
ServerName memiliki kegunaan sebagai informasi domain yang akan digunakan host ini. Sedangkan ServerAlias memiliki kegunaan untuk menentukan alamat lain yang ingin dipakai virtual host, contohnya www.
Berikutnya, anda bisa mengatur DocumentRoot virtual host untuk bisa bekerja dengan baik di dalam direktori public_html yang telah anda buat.
DocumentRoot /var/www/html/public_html
Berikut ini merupakan hasil akhir dari file website-1.conf. Dimana nanti anda bisa langsung menyalin script di bawah ini untuk dimasukkan ke dalam file virtual host yang baru. Akan tetapi, perlu diingat bahwa anda perlu menyesuaikan dengan email dan domain anda.
<VirtualHost *:80>
ServerAdmin admin@website-
1.com
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>
Setelah itu simpanlah dengan menekan tombol CTRL + X >> Y >> ENTER .
Setelah file virtual host selesai dibuat, anda harus mengaktifkannya, dengan cara:
sudo a2ensite website-1.conf
Terus non aktifkan konfigurasi default Apache yang ada di file 000-default.conf dengan cara:
sudo a2dissite 000-default.conf
Terus, anda bisa merestart Apache untuk menerapkan konfigurasi baru yang dibuat anda.
sudo systemctl restart apache2
Setelah tadi konfigurasi selesai, maka anda bisa mengecel apakah pembuatan virtual host anda berhasil atau tidak.
Untuk membuat sesuatu konfigurasi virtual host, maka anda perlu memasukkan script pada konfigurasi webserver yang anda gunakan. Berikut ini adalah beberapa contoh tentang script konfigurasi virtual host untuk domain contohwebsite.com dan di akses di port 8090, sebagai berikut: