บทความนี้ จะสอนให้คุณทำ virtual host สามารถเรียกเว็บได้จากชื่อต่าง ๆ ตามที่ต้องการได้เลย เช่น ทำเว็บ WordPress ก็เรียก http://mywordpress หรือ ทำเว็บ joomla ก็เรียก http://myjoomla ได้เลย หรือจะเรียกแบบโดเมนจริง ๆ ก็ยังทำได้ จะทำกี่โดเมนก็ได้ จะเก็บข้อมูลไว้ในไดรฟ์เดียวกันหรือต่างไดรฟ์ก็ได้ สะดวกในการทำเว็บต่าง ๆ หรือการนำข้อมูลจาก Online มาเป็น Offline ก็ทำได้สะดวกยิ่งขึ้น
เริ่มแรก เปิดไฟล์ c:\xampp\apache\conf\extra\httpd-vhosts.conf สำหรับ XAMPP หรือ c:\appserv\apache2.2\conf\extra\httpd-vhosts.conf สำหรับ AppServ ด้วย Text Editor แล้วค้นหาบรรทัด
view sourceprint?1.#
2.# Use name-based virtual hosting.
3.#
4.NameVirtualHost *:80
ตรงบรรทัด NameVirtualHost *:80 หากไม่เป็นแบบนี้ให้แก้เป็น
view sourceprint?1.NameVirtualHost *:80
จากนั้นคัดลอกข้อความด้านล่างนี้ไปวางไว้ที่ด้านล่างของไฟล์
view sourceprint?01.
02.
DocumentRoot c:/xampp/htdocs
03.
ServerName localhost
04.
05.
06.
Options Indexes FollowSymLinks Includes ExecCGI
07.
AllowOverride All
08.
Order Deny,Allow
09.
Allow from all
10.
11.
12.
คำอธิบาย
DocumentRoot คือ ไดเร็คทอรี่ที่เก็บไฟล์ของเว็บ ค่าเริ่มต้นของ AppServ คือ c:/AppServ/www ถ้าเป็นของ XAMPP คือ c:/xampp/htdocs ถ้าไดเร็คทอรี่มีช่องว่างอยู่ จะต้องใส่เครื่องหมาย ” เปิดหัวท้ายของไดเร็คทอรี่ด้วย เช่น “c:/my sites”
ServerName คือ ชื่อโดเมนที่เราจะใช้เรียกเว็บ เช่น ในตัวอย่างนี้คือ localhost เวลาเราเรียกชื่อเว็บ ก็พิมพ์ http://localhost ที่เบราเซอร์เพื่อเปิดเว็บนั่นเอง เราอยากได้ชื่อโดเมนอะไร เราก็ต้องชื่อตรงนี้
Directory คือ ไดเร็คทอรี่ที่เก็บไฟล์ของเว็บนั่นเอง ซึ่งจะต้องเหมือนกับ DocumentRoot แต่ตรงนี้เป็นการกำหนดคุณสมบัติของไดเร็คทอรี่บน Server นั่นเอง
หมายเหตุ โดยปกติแล้ว เราสามารถเปิด http://localhost ได้ตามปกติ โดยที่ไม่ต้องกำหนดในส่วนของ localhost ตามด้านบนเลย แต่หากเราทำ Virtual Host เราก็จะต้องกำหนดส่วนของ localhost ขึ้นมาด้วย เพราะหากไม่กำหนด ก็จะไม่สามารถเรียก localhost ได้
เพิ่มโดเมน/เซิร์ฟเวอร์
เมื่อเราต้องการเพิ่มโดเมนอื่น ๆ เพื่อทำเว็บเพิ่มเติม ให้คัดลอกข้อมูลจากด้านบน แล้วเปลี่ยนเฉพาะข้อมูลตรงส่วน DocumentRoot, ServerName และ Directory เท่านั้น เช่น
view sourceprint?01.
02.
DocumentRoot f:/xirbit
03.
ServerName xirbit
04.
05.
06.
Options Indexes FollowSymLinks Includes ExecCGI
07.
AllowOverride All
08.
Order Deny,Allow
09.
Allow from all
10.
11.
12.
จากตัวอย่างด้านบนนี้ ให้เราเก็บข้อมูลของเว็บไว้ที่ไดรฟ์ f:\xirbit เวลาจะดูเว็บให้พิมพ์ http://xirbit ที่เบราเซอร์ เราจะทำเพิ่มสักกี่เว็บก็ให้ทำในลักษณะนี้ตามที่ต้องการ เมื่อแก้ไขเสร็จแล้วให้บันทึกไฟล์
แก้ไขไฟล์ hosts
เปิดไฟล์ C:\WINDOWS\system32\drivers\etc\hosts ด้วย Text Editor
view sourceprint?1.127.0.0.1 localhost
2.127.0.0.1 xirbit
พิมพ์เลข 127.0.0.1 เว้นวรรค แล้วตามด้วยชื่อ ServerName ที่เรากำหนดไว้ในไฟล์ httpd-vhosts.conf ด้านบน กำหนดเท่ากับจำนวนของ ServerName โดยแยกบรรทัดกัน
restart Apache
เมื่อกำหนดค่าต่าง ๆ ทั้งไฟล์ httpd-vhosts.conf และไฟล์ hosts เสร็จแล้ว ให้ทำการ restart Apache อีกครั้ง เพื่อให้ Apache อ่านค่าต่าง ๆ ใหม่ จากนั้นก็สามารถพิมพ์ชื่อโดเมนที่กำหนดในเบราเซอร์ได้เลย
การตั้งชื่อ ServerName นั้นสามารถกำหนดเป็นเหมือนกับโดเมนอินเทอร์เน็ตก็ได้ เช่น xirbit.com แต่เครื่องนั้นจะต้องไม่เชื่อมต่ออินเทอร์เน็ต และการที่ทำในลักษณะ xirbit.com แบบนี้ จะช่วยให้เราสามารถนำข้อมูลจากอินเทอร์เน็ตในโดเมนเดียวกันมาใช้กับเครื่องที่ไม่ได้เชื่อมต่ออินเทอร์เน็ตได้ โดยที่เราไม่ต้องแก้ไขฐานข้อมูลเพิ่มเติมเลย
เช่น ผมทำเว็บ xirbit.com โดยใช้ WordPress และสำรองข้อมูลต่าง ๆ ของ xirbit.com มาทดสอบที่เครื่องที่ไม่ได้เชื่อมต่ออินเทอร์เน็ต และตั้ง virtual host เป็น xirbit.com ก็สามารถทดสอบข้อมูลต่าง ๆ ได้เหมือนกับอยู่บนอินเทอร์เน็ต โดยที่ไม่ต้องปรับแต่งข้อมูลอะไรเลย
