Selasa, 03 Juni 2008

Virtual Host

Ini Boleh ambil dari

http://mustang.in.ruangkopi.com/index.php?mpage=full_news1&nid=3078&cat_id=3

maap ya saya copy plek hehehehe
buat nambah isi blo saya aja


Bagaimana Membuat Virtual Host di Apache 2.x

"Toba yang tampan, seorang web programmer amatiran memiliki beberapa project web yang harus ditanganinya, sebagian adalah project non-profit dan sebagian profit. Selesai dari satu project dia berpindah dari project lain, ketika harus memasukkan alamat project nya di browser dia dibuat jengkel oleh cache alamat : http://localhost yang segera saja mengeluarkan banyak alamat project lainnya yang ditampung oleh 'localhost' itu(localhost/monyet -lah localhost/bca -lah localhost/alfa-mart lah). Pengetikan localhost itu sendiri pun cukup menjadi effort tersendiri ketika ia sedang bekerja, karena ia sering berpindah dari satu halaman ke halaman lain dalam pengetesan kerjaannya.

'Kenapa sih harus terus ngetik localhost, kemudian nama project, kemudian halamannya???', begitu pikirnya.

Kenapa tidak langsung saja ngetik 'alfa-mart.com' atau cukup 'bca/nama_halaman.php' saja, tanpa embel-embel 'localhost', yang notabene memanggil
cache address browser berawalan localhost lainnya??? Timbul pertanyaan; 'bagaimana caranya melakukan itu di server lokal Apache gue?'.

Jawbannya adalah : Virtual Host."

Yup, lo orang dah baca skenario di atas kan, yah gak perlu mirip-mirip banget keadaannya, atau gak penting dengerin kisah itu, tapi kurang lebih begitulah gambaran untuk menunjukkan sebagian fungsi / manfaat dari virtual host di Apache.

Pertama, install atau setup Apache-nya dengan benar setelah itu baru kita mencoba membuat virtual host nya. Kalo lo belum setup Apache-Php nya dan kurang paham akan hal itu, coba liat artikel ini (step by step setup Apache-Php).

Hal yang akan kita lakukan ini sudah dicobakan pada Apache 2.x (versi 2 ke atas). Gue gak tau dan gak jamin bisa jalan di Apache 1.x. Dan gue baru nyoba hal ini di OS WinXP dan Vista. Perbedaan cara di XP dan Vista gue jabarin dibagian paling bawah artikel ini.

Sekarang mari kita mulai

1. Apa itu Virtual Host?
Ngggg, saat ini gue lagi males ngejelasinnya, jadi kita lewat dulu.

2. Kenapa Virtual Host?
Jawaban 'resmi'nya gue gak tau, tapi yang jelas ini diperluin untuk menghemat effort dalam pengembangan aplikasi di server lokal. Misalkan lo punya 4 project berbeda, daripada tiap kali harus ngetik 'http://localhost/upil_project', kemudian 'http://localhost/ingus_project' dan seterusnya, kan mending langsung 'http://upil_project' ato 'http://upil_project.com' dan 'http://ingus_project' dan seterusnya juga. Lagi pula dengan begitu setiap project jadi berada pada posisi root directory. Yang paling menariknya lagi tiap folder project itu bisa tersimpan dimana aja di hardisk kita, gak mesti semuanya ngumpul di satu folder 'htdocs' misalnya

3. Gimana caranya?
Ok, sekarang anggap Apache kita udah tersetup dengan benar, dan kita pengen bikin virtual host buat project kita yang bernama 'odong-odong'. Begini skenarionya:

  • - Nama project : Odong-odong
  • - Domain yang mau kita buat : bisnis_odong
  • - Lokasi folder: C:\My Webs\Odong (buat lah / tempatkan satu file teks ke dalamnya)
  • - Lokasi Apache : C:\Apache\Apache
  • - Sistem operasi : WinXp

Begini caranya:
1. Buka file konfigurasi apache menggunakan teks editor favorit lo. Di c:\Apache\Apache\conf\httpd.conf
Scroll ke bagian paling bawah dokumen konfig itu, atau pencet "ctrl+f" dan cari kata-kata 'Virtual Host'. Beginilah kira-kira kondisi awal konfigurasi virtual host di httpd.conf:

#
# Use name-based virtual hosting.
#
#NameVirtualHost *:80


# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.

#
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#


Rubah jadi begini:

#
# Use name-based virtual hosting.
#
NameVirtualHost *
# Liat sebelumnya ada *.80 kan? Karena kita gak mau pusing set port number
# ya bikin 'umum' sajalah smilie. --jujur, gue gak begitu ngerti hahahahaha--


# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.



# di tag pembuka ini (smilie tadinya ada *.80 nya kan? Sekarang ilangin ajah

ServerAdmin webmaster@bisnis_odong.com
# ini alamat email admin webnya. karena ini Cuma di lokal, gak penting lah

DocumentRoot "C:\My Webs\Odong"
# Document root nya project lo, tempat lo naro file2 project lo.
# Liat tanda kutipnya kan? Itu karena ada direktori yang mengandung spasi (My Webs)
# Kalo gak ada yang make spasi sih, gak pake kutip juga gak papa.

ServerName bisnis_odong
# ini nama domain nya



Ok kita selesai dengan file konfigurasi Apache, NEXT.

2. Sekarang kita bermain-main dengan file system nya 'Kusen' alias 'Jendela' alias 'WindowsXp' OS andalan kita yang penuh kompromi itu
Buka file C:\Windows\system32\drivers\etc\hosts . Biar gampangnya, pencet "Windows+R" (kotak dialog 'Run') kemudian ketik alamat file tadi, dan klik enter. Setelah itu akan muncul kotak dialog 'Open With', bukalah dia dengan teks editor favorit lo.
Isi file tersebut yang masih perawan akan seperti ini:

# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host

127.0.0.1 localhost

Nah tambahkan baris ini di bagian paling bawah (jangan lupa klik enter dulu) : 127.0.0.1 bisnis_odong
Jadi begini:

# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host

127.0.0.1 localhost
127.0.0.1 bisnis_odong

Save dokumennya, kemudian tutup.

3. Sekarang jalankan Apache nya, buka browser favorit lo, dan ketik alamat 'http://bisnis_odong' kemudian enter. Nah seharusnya lo sekarang udah bisa ngeliat file yang lo taro di webroot lo tadi di layar browser

Vista
Cara setup virtual host Apache di XP dan Vista gak beda jauh, Cuma bedanya kalo di Vista kita perlu privilege Admin supaya bisa ngedit file 'hosts' nya Windows. Lokasinya juga sama kok di 'WINDIR\System32\Drivers\etc\hosts'. That's it.

Tidak ada komentar: