Sebelum melakukan konfigurasi virtual host, pastikan web server sudah terinstall yang bisa dibaca terlebih dahulu di sini.
Langkah Pertama (buat user baru)
- Pembuatan user baru disini berfungsi sebagai host baru yang akan kita buat sebagai virtual host, sebagai contoh kita buat nama zonapenguin (nama bisa diganti)
$ sudo adduser zonapenguin
Adding user `zonapenguin' ...
Adding new group `zonapenguin' (1002) ...
Adding new user `zonapenguin' (1002) with group `zonapenguin' ...
Creating home directory `/home/zonapenguin' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for zonapenguin
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
- Setelah pembuatan user baru, buat folder dimana kita dapat mengakses alamat virtual host, misal di host asli terdapat di /var/www/, nah disini kita buat folder dengan nama public_html dan berkas index nya
$ mkdir /home/zonapenguin/public_html
$ touch /home/zonapenguin/public_html/index.html
- Bisa juga tanpa membuat user baru, inti dari user baru disini adalah folder untuk akses lokalhost di virtualhost
Langkah Kedua (aktifkan modul direktori user)
- Modul ini berfungsi berfungsi mengaktifkan direktori user untuk dipakai sebagai virtual host
$ sudo a2enmod userdir
- Setelah mengaktifkan userdir maka akan terdapat berkas /etc/apache2/mods-enabled/userdir.conf
$ sudo pico /etc/apache2/mods-enabled/userdir.conf
<'IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
<'Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<'Limit GET POST OPTIONS>
Order allow,deny
Allow from all
<'/Limit>
<'LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
<'/LimitExcept>
<'/Directory>
<'/IfModule>
- Dari konfigurasi di atas Directori /home/*/public_html berarti direktori lokal yang akan dibaca yaitu direktori public_html di semua user
- Kita bisa merubah lokasi direktori ataupun user sesuai dengan keinginan sebagai alamat lokal virtual host
Langkah Ketiga (test virtual)
- Untuk mengakses alamat tersebut bisa dibuka melalui browser dan mengetikkan alamat URL
127.0.0.1/~zonapenguin/
- Berarti alamat lokal tersebut akan membaca file index.html yang ada di /home/*/public_html
- Untuk file index.html sendiri bisa diisi sesuai keinginan
Langkah Keempat (aktifkan modul site)
- Untuk pembuatan domain virtual host kita harus menambah konfigurasi dari site-available
- Sebenarnya berkas ini sudah ada defaultnya, untuk mempermudah konfigurasi kita salin berkas default dan memberi nama baru
$ sudo cp /etc/apache2/sites-available/default /etc/apache/sites-available/zonapenguin
- Setelah membuat hasil duplikasi, ganti isi berkas /etc/apache/sites-available/zonapenguin
$ sudo pico /etc/apache/sites-available/zonapenguin
<'VirtualHost *:80>
ServerAdmin andhikacipta@gmail.com
ServerName virtualhost.com
ServerAlias virtualhost.com
DocumentRoot /home/zonapenguin/public_html
<'/VirtualHost>
- Setelah disimpan aktifkan modulnya
$ sudo a2ensite zonapenguin
Enabling site zonapenguin.
Run '/etc/init.d/apache2 reload' to activate new configuration
Langkah Kelima (pembuatan domain)
- Untuk pembuatan domain langkah yang harus di install yaitu bind9 yang bisa dibaca di sini
- Tambahkan script di file /etc/bind/zonapenguin.local
$ sudo pico /etc/bind/zonapenguin.local
menjadi
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA zonapenguin.com. root.zonapenguin.com. (
20110416 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS zonapenguin.com.
@ IN A 192.168.1.50
@ IN AAAA ::1
IN MX 20 mail.zonapenguin.com.
mail IN A 192.168.1.50
www IN A 192.168.1.50
ftp IN CNAME www
virtualhost IN A 192.168.1.50
- Dan tambahkan script di file /etc/bind/zonapenguin.127
$ sudo pico /etc/bind/zonapenguin.127
menjadi
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA zonapenguin.com. root.zonapenguin.com. (
20110417 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS zonapenguin.com.
IN PTR zonapenguin.com.
IN AAAA ::1
1 IN A 192.168.1.50
1 IN PTR www.zonapenguin.com
2 IN PTR www.virtualhost.com
- Di dalam konfigurasi /etc/hosts
$ sudo pico /etc/hosts
127.0.0.1 localhost
127.0.1.1 zones
192.168.1.50 zonapenguin.com zones
192.168.1.50 virtualhost.com zones
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
- Dan di konfigurasi resolv.conf
$ sudo pico /etc/resolv.conf
# Generated by NetworkManager
search zonapenguin.com
nameserver 192.168.1.50
search virtualhost.com
nameserver 192.168.1.50
Langkah Keenam (restart service)
- Setelah konfigurasi domain dan virtual host restart kedua service tersebut
$ sudo /etc/init.d/apache2 restart
$ sudo /etc/init.d/bind9 restart
Langkah Ketujuh (test hasil)
- Buka browser dan jalankan alamat sesuai dengan nama domain yang dibuat
0 comments: