Virtual Hosting digunakan untuk meng-host beberapa situs web pada satu server web. Server web mungkin apa saja dari Server web HTTP Apache , Microsoft IIS , Lighthttpd , openLiteSpeed , dll. Panduan ini akan menunjukkan cara menyiapkan host virtual Apache di Debian 9 / Ubuntu 16.04 / LinuxMint 18 .
Jenis Hosting Virtual
Ada dua jenis Virtual Hosting di server web Apache,
1. Hosting virtual berbasis nama
2. Hosting virtual berbasis IP
Dengan hosting virtual berbasis Nama, kita dapat mengonfigurasi beberapa situs web pada satu alamat ip, sedangkan dalam berbasis ip; kami hanya dapat mengonfigurasi satu situs web pada satu alamat ip.
Asumsi
Untuk demo, kami akan menghosting dua situs web bernama “www.itzgeek1.local dan “www.itzgeek2.local ” pada satu server web.
Nama Host Server:server.itzgeek.local
Alamat IP:192.168.12.3
Instal server Web Apache
Sebelum menginstal Apache, perbarui indeks repositori.
sudo apt-get update
Instal server Web Apache menggunakan perintah berikut.
sudo apt-get install apache2
Setelah diinstal, sistem akan secara otomatis memulai layanan Apache.
Untuk menguji penginstalan Anda, buka browser web dan arahkan ke URL.
http://localhostATAU
http://your.ip.add.ress
Anda akan mendapatkan halaman default seperti di bawah ini. Gambar di bawah menunjukkan halaman default Apache2 di Debian 9.
Siapkan host virtual Apache
Buat direktori publik
Sekarang, kita akan membuat direktori untuk menyimpan dokumen web kita, yaitu file .html. Gunakan perintah berikut untuk membuat direktori untuk setiap situs web, “www.itzgeek1.local ” dan “www.itzgeek2.local “.
sudo mkdir -p /var/www/html/www.itzgeek1.local sudo mkdir -p /var/www/html/www.itzgeek2.local
Buat halaman demo untuk Host Virtual
Sekarang, kita akan meletakkan file index.html di kedua direktori untuk memeriksa apakah hosting virtual berbasis nama berfungsi atau tidak.
Buat index.html untuk “www.itzgeek1.local ” tuan rumah virtual.
sudo nano /var/www/html/www.itzgeek1.local/index.html
Tempatkan konten di bawah ini ke dalam file.
<html> <head> <title>www.itzgeek1.local</title> </head> <body> <h1>Welcome To www.itzgeek1.local website</h1> </body> </html>
Buat index.html untuk “www.itzgeek2.local ” tuan rumah virtual.
sudo nano /var/www/html/www.itzgeek2.local/index.html
Tempatkan konten di bawah ini ke dalam file.
<html> <head> <title>www.itzgeek2.local</title> </head> <body> <h1>Welcome To wwww.itzgeek2.local website</h1> </body> </html>
Menyiapkan kepemilikan dan izin direktori
Secara default, layanan apache berjalan sebagai pengguna www-data. Sekarang, kedua direktori virtual yang kita buat tadi sudah dimiliki oleh root, dan kita harus mengubah kepemilikannya menjadi www-data sehingga server apache dapat menulis dan membaca data ke dalamnya.
sudo chown -R www-data:www-data /var/www/html
Selain itu, Anda dapat membuat direktori virtual dapat dibaca oleh dunia.
sudo chmod 755 /var/www/html/
Sekarang, kita siap untuk membuat file konfigurasi untuk virtual host.
Buat file Virtual Host
Sekarang, buat file host virtual “www.itzgeek1.local.conf untuk host virtual “www.itzgeek1.local. File konfigurasi virtual host harus diakhiri dengan ekstensi .conf.
sudo nano /etc/apache2/sites-available/www.itzgeek1.local.conf
Tambahkan konten berikut ke file.
<VirtualHost *:80> ServerAdmin [email protected] ServerName www.itzgeek1.local DocumentRoot /var/www/html/www.itzgeek1.local ErrorLog ${APACHE_LOG_DIR}/www.itzgeek1.local_error.log CustomLog ${APACHE_LOG_DIR}/www.itzgeek1.local_ccess.log combined </VirtualHost>
Cara yang sama, buat file host virtual kedua.
sudo nano /etc/apache2/sites-available/www.itzgeek2.local.conf
Tempatkan konten berikut ke dalam file.
<VirtualHost *:80> ServerAdmin [email protected] ServerName www.itzgeek2.local DocumentRoot /var/www/html/www.itzgeek2.local ErrorLog ${APACHE_LOG_DIR}/www.itzgeek2.local_error.log CustomLog ${APACHE_LOG_DIR}/www.itzgeek2.local_ccess.log combined </VirtualHost>
Setelah membuat file virtual host, aktifkan virtual host baru yang baru saja kita buat dengan membuat symlink ke sites-enabled direktori.
sudo ln -s /etc/apache2/sites-available/www.itzgeek1.local.conf /etc/apache2/sites-enabled/ sudo ln -s /etc/apache2/sites-available/www.itzgeek2.local.conf /etc/apache2/sites-enabled/
Mulai ulang layanan apache.
sudo service apache2 restart
Memverifikasi Host Virtual
Jika Anda tidak memiliki server DNS di lingkungan Anda, edit “/etc/hosts ” berkas.
sudo nano /etc/hosts
Tambahkan entri di bawah ini.
192.168.12.3 www.itzgeek1.local 192.168.12.3 www.itzgeek2.local
Jika Anda menggunakan mesin berbasis windows, edit “hosts ” di file “C:\Windows\System32\drivers\etc ” direktori.
Buka browser Anda dan arahkan ke URL http://www.itzgeek1.local atau http://www.itzgeek2.local . Anda akan melihat halaman demo yang telah kita buat sebelumnya.
www.itzgeek1.laman demo lokal:
laman demo www.itzgeek2.local:
Itu saja.