Minimal Design

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it ...

Easy to use theme’s admin panel

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it ...

Featured posts

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it ...


Virtual Host merupakan cara untuk mengatur banyak website atau URL di dalam satu mesin atau satu IP. Misalkan kita mempunyai banyak domain tapi hanya mempunyai 1 IP public atau 1 server. Cara untuk mengatasi masalah itu adalah dengan cara membuat virtualhost yang ada di settingan apachenya. Virtual Host bisa anda gunakan setelah anda menginstall package-package apache dan sudah pasti web server anda sudah berjalan dengan baik.

Sekarang kita langsung saja masuk ke dalah konfigurasi. Misalkan saya mempunya 2 buah domain [aminudin.net dan kelelawar.net] saya kebingungan karena saya hanya mempunyai 1 server, solusinya adalah anda harus mengarahkan domain tersebut ke IP server kita untuk contoh silahkan baca http://aminudin.net/?p=230 . kemudian seterusnya konfigurasi di sisi server nya kita lakukan konfigurasi virtualhost anda edit file yang berada di /etc/apache2/http.conf. anda masukan text virual host,sebagai contoh begini :


ServerAdmin webmaster@aminudin.net
ServerName aminudin.net
DocumentRoot /home/amin
CustomLog /hom/amin/log/aminudin.net.log combined


ServerAdmin webmaster@kelelawar.net
ServerName kelelawar.net
DocumentRoot /home/kelelawar
CustomLog /home/kelelawar.net/log/kelelawar.net.log combined

Penjelasan:

<<–Awal dari virtual host ServerAdmin webmaster@kelelawar.net <<– Nama admin domain ServerName kelelawar.net <<– Nama domain yang akan masuk ke server kita DocumentRoot /home/kelelawar <– File domain kelelawar.net
CustomLog /home/kelelawar.net/log/kelelawar.net.log combined <<– Dimana File Log website diletakan
<<– Penutup VirtualHost

# untuk file log, anda membuat terlebih dahulu file kosong
# ex: amin@root~#touch /home/kelelawar/log/kelelawar.net.log

Berikutnya yang harus anda lakukan adalah restart apache:

amin@root~#/etc/init.d/apache2 restart

Jadi secara simple adalah VirtualHost itu adalah belokan dimana directory masing2 domain tersebut.

Jika anda mempunya 1 domain atau 2 masih bisa dibilang belum memusingkan untuk configurasi file http.conf-nya. Tetapi jika anda sudah mempunya banyak domain diarahkan ke 1 server, misal anda mempunya 10 domain hayoooo gimana? saya juga pernah mengalami hal serupa, file di http.conf itu banyak sekali nama domain dan hampir serupa bentuknya, bisa lelah mata kita melihatnya. Untuk masalah seperti itu anda sebaiknya membuat file configuration yang baru. Coba anda membuat directory dimana file konfigurasi domain tersebut berada.

ex: /home/vhost/aminudin.net.conf
/home/vhost/kelelawar.net.conf

Setelah itu coba anda pindahkan semua konfigurasi masing2 domain ke file konfigurasi domain tersebut, misal vhost aminudin.net di pindah ke /home/vhost/aminudin.net.conf. Setelah itu anda edit file yang bernama apache2.conf yang berada di /etc/apache2/apache2.conf kemudian anda cari baris yang ada text Include /etc/apache2/http.conf kemudian anda tambahkan baris di bawahnya itu sebagai contoh anda masukan Include /home/vhost/aminudin.net.conf dan Include /home/vhost/kelelawar.net.conf. kemudian karena file http.conf itu sudah kosong filenya maka anda kasih # di text Include /etc/apache2/http.conf menjadi #Include /etc/apache2/http.conf. tanda # itu menandakan bahwa yang berada di baris tersebut hanya komentar jadi tidak di tanggapi oleh apache tersebut. Kemudian setelah anda beres ini itu maka tinggal anda melakukan restart apache nya [amin@root~#/etc/init.d/apache2 restart].

Selesai….. Sekarang file virtualhost anda telah tersusun dengan baik. Jika anda ingin konfigurasi ga perlu pusing2 lagi tinggal pilih aja file konfigurasi salah satu domain.


Adapun Cara Lain membangun sebuah virtual host adalah sebagai berikut:

(Langkah ini dijalankan dengan tujuan untuk membuat sub domain dari website awal yang sudah kita miliki. MIsalnya dari website www.agungprasetyo.net, kita ingin menambah sub domain websiteku.agungprasetyo.net dan seterusnya.)

1. pertama-tama, buatlah folder untuk menampung file-file html yang nantinya akan diupload.

root@library:~#mkdir /var/www/website

2. Selanjutnya, kita akan melakukan konfirgurasi di apache. Masuk ke direktori sites-available

root@library:~#cd /etc/apache2/sites-available

3. Jika dilihat, disana ada file default dan default-ssl yang merupakan file awal terbantuknya apache2. Sekarang buat file baru

root@library:/etc/apache2/sites-available#nano websiteku


4. Tambahkan isi file berikut :

ServerAdmin admin@agungprasetyo.net
ServerName website.agungprasetyo.
ServerAlias website.agungprasetyo.net
DocumentRoot /var/www/website
ErrorLog /var/log/apache2/error-website.log
CustomLog /var/log/apache2/access-website.log combined


Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

5. Lakukan penyimpanan pada file tersebut

6. Karena kita ingin menambahkan nama baru, maka kita tidak perlu menonaktifkan yang lama. Kita tinggal mengaktifkan saja nama yang baru saja kita buat.

root@library:/etc/apache2/sites-available#a2ensite websiteku
Enabling site website.
Run ‘/etc/init.d/apache2 reload’ to activate new configuration!

7. Hasilnya bisa anda lihat dengan perintah

root@library:/etc/apache2/sites-available#ls -l ../sites-enabled/
lrwxrwxrwx 1 root root 26 2009-03-23 11:39 000-default -> ../sites-available/default
lrwxrwxrwx 1 root root 24 2009-03-23 14:35 websiteku -> ../sites-available/websiteku

8. Jika sudah tampak, maka sekarang lakukan perintah

root@library:/etc/apache2/sites-available#/etc/init.d/apache2 reload
* Reloading web server config apache2 [Mon Mar 23 14:48:08 2009] [warn] VirtualHost 212.166.10.230:80 overlaps with VirtualHost 212.166.10.230:80, the first has precedence, perhaps you need a NameVirtualHost directive
[Mon Mar 23 14:48:08 2009] [warn] VirtualHost 212.166.10.230:80 overlaps with VirtualHost 212.166.10.230:80, the first has precedence, perhaps you need a NameVirtualHost directive
[Mon Mar 23 14:48:08 2009] [warn] NameVirtualHost *:80 has no VirtualHosts

9. Ternyata muncul masalah, yaitu ada error spt diatas. Saya juga sempat mengalami hal ini, hingga sekitar 5 jam. Akhirnya soluasi dari masalah ini ketemu, yaitu anda harus mengeset juga ports.conf.

10. Sekarang menuju halaman apache2 dan buka file ports.conf

root@library:/etc/apache2/sites-available#cd ..

root@library:/etc/apache2/sites-available#nano ports.conf

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default

NameVirtualHost *:80
Listen 80


# SSL name based virtual hosts are not yet supported, therefore no
# NameVirtualHost statement here
Listen 443

11. Gantilah NameVirtualHost *:80 menjadi 212.166.10.230:80 sehingga hasilnya seperti dibawah ini

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default

NameVirtualHost 212.166.10.230:80
Listen 80


# SSL name based virtual hosts are not yet supported, therefore no
# NameVirtualHost statement here
Listen 443

12. Lakukan penyimpanan dan lakukan kembali perintah reload apache :

root@library:/etc/apache2# /etc/init.d/apache2 reload
* Reloading web server config apache2 [ OK ]

13. Oke, proses sudah tidak ada error lagi, sub domain anda sudah berhasil

14. Sekarang buka browser dan ketikkan : http://websiteku.agungprasetyo.net pada browser anda.

Leave a Reply