RSS

Konfigurasi Virtual Host

Virtual Host merupakan suatu pengalokasian berbagai macam domain di dalam satu server yang memanfaatkan direktori lokal yang ada sebagai host. Jadi kita memiliki satu ip dengan nama domain yang berbeda - beda yang dapat kita buat sesuai dengan keinginan.
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:

Posting Komentar