![]() |
| Sumber Gambar: https://storyset.com/ |
VirtualHost adalah sebuah cara yang dapat anda gunakan untuk menjadikan sebuah server (menggunakan sistem operasi linux), dapat menjalankan lebih dari satu domain. Artinya pengguna dapat menjalankan lebih dari satu website dengan domain yang berbeda – beda, namun masih dalam satu server. Pada praktiknya virtual host sering digunakan pada layanan shared hosting.
Layanan share hosting dalam hal ini biasanya membagi resource yang dia miliki seperti memory, processor, hard disk, bandwidth, dan lainnya untuk masing – masing virtualhost. Oleh karena itu, harga dari layanan share hosting biasanya cukup murah dan memiliki resource yang cukup terbatas.
Terdapat 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.
Web server apache pada sistem operasi linux memiliki sebuah konfigurasi virtualhost default yang sudah aktif, semenjak anda selesai melakukan proses instalasi web server apache (apt install apache2). Dimana direktori default dari konfigurasi virtualhost tersebut adalah di “/var/www/html”, itulah mengapa anda disarankan untuk menempatkan konten dari website yang akan anda hosting ke dalam direktori tersebut.
Misalnya anda memiiki sebuah server VPS dan hanya akan menjalankan satu website saja (blogjarkom.xyz) maka anda tidak perlu melakukan konfigruasi virtualhost. Namun, jika anda ingin menjalankan banyak website dalam satu server misalnya “web1.blogjarkom.xyz” dan “blogjarkom.xyz”, atau blogjarkom.xyz, jarkom.xyz, dsb, maka anda harus melakukan konfigurasi sebuah virtualhost. Dengan adanya virtualhost setiap file website kita bisa ditempatkan pada direktori yang terpisah – pisah. Tujuannya tentu untuk mempermudah dalam melakukan management terhadap web yang bersangkutan.
Untuk membuat sebuah virtualhost menggunakan web server apache pada sistem operasi linux Ubuntu Server 18.04 LTS, terdapat 6 buah tahapan yang harus anda ikuti. Tahapan – tahapan tersebut antara lain adalah sebagai berikut;
- Pembuatan direktori untuk website.
- Pemberian permission untuk direktori yang dibuat.
- Membuat file atau dokumen html.
- Membuat file VirtualHost baru.
- Mengaktifkan fitur VirtualHost baru.
- Melakukan pengujian konfigurasi.
Untuk lebih jelasnya perhatikan penjabaran tahapan – tahapan tersebut dibawah ini.
Persyaratan pembuatan VirtualHost
Sebelum pengguna melakukan pembuatan virtualhost menggunakan web server apache, maka persiapkan beberapa hal berikut ini;
- Pengguna memiliki user root (administrator) dari sistem operasi linux yang akan digunakan. Dalam kasus ini, penulis mencontohkan dengan menggunakan sistem operasi Linux Ubuntu Server 18.04 LTS.
- Pengguna sudah melakukan instalasi web server apache (ikuti tautan ini, jika anda belum melakukan instalasi web server apache) pada sistem operasi Linux Ubuntu Server 18.04 LTS.
- Sistem operasi linux Ubuntu Server 18.04 LTS sudah terhubung ke server mirror, sesuai dengan lokasi terdekat dengan tempat tinggal.
- Sistem operasi linux Ubuntu Server 18.04 sudah terhubung ke jaringan internet.
Perlu penulis berikan catatan disini, bahwa panduan ini dibangun dengan menggunakan VPS yang memiliki sistem operasi Linux Ubuntu Server 18.04 LTS. Untuk yang menggunakan local domain, atau server lokal pastikan anda memiliki DNS Server terlebih dahulu. Tutorialnya akan admin bahas pada lain kesempatan di blog ini.
Tahapan Ke – 1. Pembuatan Direktori Baru
Seperti yang sudah disinggung diatas, bahwa secara default web server apache menyediakan direktori utama untuk website anda, yang berada di direktori html (/var/www/html/). Agar tidak mengganggu lokasi web server apache yang default, kita akan membuat sebuah direktori baru untuk menyimpan file website kita yang lain.
Silahkan gunakan perintah dibawah ini untuk membuat sebuah direktori baru dengan nama web1 yang akan disimpan di /var/www/. Silahkan ganti nama “web1” sesuai dengan keinginan anda. Perintah yang dapat digunakan untuk membuat direktori tersebut adalah;
$ sudo mkdir /var/www/web1
Tahapan Ke – 2. Pemberian Permissions
Selanjutnya agar pengguna dapat melakukan proses baca, tulis dan eksekusi terhadap isi dari direktori (/var/www/web1) yang baru saja dibuat, kita perlu mengubah permissions dari direktori tersebut.
Silahkan gunakan perintah dibawah ini, untuk mengubah permission (hak milik) dari direktori “/var/www/web1”. Sesuaikan nama direktori dengan yang anda buat.
$ sudo chown -R $user:$user /var/www/web1
Variabel $USER akan mengambil nilai dari user yang sedang aktif saat tombol Enter ditekan. Setelah kepilikan diuabah sekarang kita lakukan konfigurasi agar direktori tersebut dapat dibaca dan dieksekusi oleh user selain user yang memilikinya. Utnuk melakukan itu, silahkan gunakan perintah dibawah ini;
$ sudo chmod -R 755 /var/www/web1/
Sampai dengan tahapan ini, pengguna selain yang memiliki direktori “/var/www/web1”, hanya memiliki hak untuk membaca dan mengeksekusi saja.
Tahapan Ke – 3. Pembuatan halaman Demo
Selanjutnya, pengguna perlu membuat sebuah halaman html yang nantinya akan digunakan untuk melakukan percobaan. Sebagai contoh disini, penulis akan membuat sebuah file html dengan nama “index.html”. File ini nantinya akan disimpan di direktori yang baru saja dibuat. Silahkan gunakan perintah berikut ini untuk membuat file index.html dan simpan di direktori /var/www/web1. Sesuikan lokasi direktori dengan yang anda buat pada tahapan sebelumnya.
$ sudo nano /var/www/web1/index.html
Dikarenakan ini adalah file yang baru kita buat, maka harusnya kondisinya masih kosong. Sekarang silahkan buat kode html sederhana, sebagai contoh penulis akan menggunakan kode html dibawah ini. Pengguna dapat mengubahnya sesuai dengan keinginan.
<html>
<head>
<title>Selamat Datang di Web 1</title>
</head>
<body>
<h1>Direktory dari web1 berada di /var/www/web1</h1>
</body>
</html>
Setelah selesai melakukan pembuatan file html, maka tahapan selanjutnya menyimpan file tersebut. Dikarenakan disini penulis menggunakan teks editor nano maka untuk menutup dan menyimpan silahkan tekan tombol Ctrl + X, kemudian tekan huruf Y pada keyboard, dan tekan tombol Enter.
Tahapan Ke – 4. Pembuatan File VirtualHost Baru
Secara default file konfigurasi virtualhost dari web server apache akan disimpan di “/etc/apache2/sites-available/”. Pada contoh ini kita akan membuat sebuah file virtualhost yang baru dengan nama web1.conf, untuk itu gunakan perintah dibawah ini,Nama web1.conf bisa anda ganti sesuai dengan keinginan;
$ sudo nano /etc/apache2/sites-available/web1.conf
Seharusnya file web1.conf masih dalam kondisi kosong. Selanjutnya silahkan ketikkan seluruh file konfigurasi dibawah ini kedalam file web1.conf;
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName web1.blogjarkom.xyz
DocumentRoot /var/www/web1
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Jika sudah, silahkan anda ganti baris ServerAdmin sesuai dengan email yang dipakai oleh administrator (email anda). Kemudian tambahkan dua baris kode dibawah ini, tepat dibawah 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, definisikan dimana anda menyimpan file website untuk virtualhost yang anda buat ini. Sebagai contoh pada kasus kali ini, penulis menyimpan file website nantinya di /var/www/web1.
Kurang lebih hasil dari konfigurasi file virtualhost yang penulis lakukan diatas akan tampak seperti dibawah ini.
<VirtualHost *:80>
ServerAdmin admin@blogjarkom.com
ServerName web1.blogjarkom.xyz
DocumentRoot /var/www/web1
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Untuk meyimpan file konfigurasi yang baru kita lakukan, silahkan tekan tombol Ctrl + X, kemudian tekan huruf Y pada keyboard, dan tekan tombol Enter.
Tahapan Ke – 5. Mengaktifkan file VirtualHost
Secara default file virtualhost yang baru saja kita buat, masih dalam kondisi nonaktif. Untuk mengaktifkan file virtualhost yang baru dibuat tadi gunakan perintah a2ensite dibawah ini;
$ sudo a2ensite web1.conf
Pastikan nama file virtualhost sama dengan yang anda buat pada tahapan sebelumnya. Jika tidak sama, maka akan terjadi sebuah kesalahan.
root@blogjarkom:~# a2ensite web1.conf
Enabling site web1.
To activate the new configuration, you need to run:
systemctl reload
Terakhir, agar file virtualhost yang baru dibuat bisa dikenali oleh web server apache yang kita miliki, maka kita harus melakukan restart service apache. Silahkan gunakan perintah dibawah ini untuk melakukan restart apche2;
$ sudo systemctl reload apache2
Tahapan Ke - 6. Pengujian
Sebagai tahapan pengujian pengguna tinggal memanggil domain yang sudah dilakukan konfigurasi. Sebagai contoh atau sebagai percobaan disini, penulis memiliki doamin utama blogjarkom.xyz. Dimana domain ini memiliki tampilan seperti berikut ini;
Sedangkan untuk konfigurasi VirtualHost ini penulis menyiapkan subdomain khusus, agar dapat menunjukkan kepada pembaca hasil dari konfigurasinya. Subdomain yang penulis gunakan untuk menguji VirtualHost adalah web1.blogjarkom.xyz, dan kurang lebih tampilannya akan tampak seperti pada gambar berikut ini.
Seharunya pengguna pada tahapan ini sudah mampu untuk membuat sebuah VirtualHost dan menjalankan dua buah website dalam satu server yang dimilikinya.



0 Komentar