คนที่ได้เคยลองทำเว็บในเครื่องตัวเองมานาน จะพบความลำบาก หรือความขัดใจเรื่องนึงนั่นก็คือเรื่องของ url ที่ใช้ในเครื่องกับเวลาที่เอาขึ้นไปรันจริงบนเว็บนั้นจะแตกต่างกันเสมอ และมักจะส่งผลให้การทำงานผิดพลาดได้
เช่นตอนทดสอบในเครื่องเว็บชื่อ http://localhost/a
แต่เว็บจริงเป็น http://www.abc.com
ดังนั้นในหลายครั้ง เราลืมแก้ไฟล์ก่อน Upload เราก็เลย upload เว็บที่มี url เป็น http://localhost/a ขึ้นไป
หรือบางคนก็แก้ไขด้วยการ ตั้งเป็นตัวแปรใส่ไว้ในไฟล์สักไฟล์นึงแล้วแก้ไขไฟล์นี้แค่ไฟล์เดียวพอ แต่บางครั้งก็ลืมอยู่ดี หรือว่าก็ต้องคอยแก้ไขกลับไปกลับมาตอน upload
เสนอวิธีการตั้งค่าเว็บให้การทดสอบเว็บในเครื่อง เหมือนเป็นชื่อเว็บที่ใช้บน host จริงๆเลย เวลาทดสอบจะได้ไม่ต้องคอยแก้ไขไฟล์ไปมา เป็นเรื่องที่น่าจุกจิกกวนใจ (แต่อาศัยแก้ไขไฟล์ host จุดเดียวเท่านั้นทุกค่าพร้อมใช้ไม่ต้องยุ่งกับโค้ดใดๆ)
เพื่อให้เป็นการเข้าใจตรงกันผมจะกำหนดค่าต่างๆดังนี้
1.ต้องการทำเว็บบนโดเมนจริงชื่อว่า www.xxx.com สมมุติว่าจะจดโดเมนทำเว็บในชื่อนี้เลย
2.เว็บที่เก็บในเครื่องตัวเองตอนนี้เก็บไฟล์เอาไว้ที่ C:/wamp/www/xxx จริงๆมันจะอยู่ที่ไหน แฟ้มเป็นชื่ออะไรก็ได้ครับ เพราะเดี๋ยวการตั้งค่าเราจะกำหนดลงไปได้
เริ่มต้นจากท่านต้องเตรียมดังต่อไปนี้
1.มีเว็บอยู่ในเครื่อง
2.ติดตั้ง wamp แล้วเรียบร้อยใช้งานได้ เพราะว่าการตั้งค่าจุดนี้ จะเป็นการตั้งค่าสำหรับผู้ที่ใช้ wamp
3.ใช้ windows โดยต้องมีสิทธ์การแก้ไขไฟล์ใน C:/windows ด้วย
ขั้นตอนทั้งหมดไม่ยาก มีดังนี้
1.เปิดให้มองเห็น hidden file ในเครื่อง
2.ตั้งค่าชื่อโดเมนในไฟล์ hosts
3.ตั้งค่า virtual host ของ wamp
4.restart apache
แค่ 4 ขั้นเท่านี้ เราก็จะสามารถใช้งานเว็บในเครื่องเราเองได้เหมือนการทำบน server จริงได้แล้ว
โดยถ้าอธิบายโดยละเอียด ก็จะมีดังนี้
1.เปิดให้มองเห็น hidden file ในเครื่อง อ่านวิธีทำให้มองเห็น hidden file ในเครื่อง เนื่องจากไฟล์ hosts มันเป็น Hidden file ครับในบางเครื่อง เราเลยต้องเปิดให้มองเห็นเพื่อที่จะได้แก้ไขได้ตรงกัน
2. ตั้งค่าชื่อโดเมนในไฟล์ hosts ให้ชี้โดเมน vir9local.com ทำได้ดังนี้
–เปิดไฟล์ hosts ซึ่งอยู่ที่ C:\\WINDOWS\\system32\\drivers\\etc ถ้าใครมองไม่เห็นไฟล์ hosts ในแฟ้มนี้ให้ทำข้อ 1 ก่อน
บรรทัดล่างสุดขึ้นบรรทัดใหม่ เติมไปว่า
127.0.0.1 vir9local.com
127.0.0.1 www.vir9local.com
beelocal.com คือโดเมนที่ผมต้องการ และเราจะใส่ทั้งแบบมี www และไม่มี www ครับ ให้ชี้กลับเข้ามาที่เครื่องตัวเองคือ 127.0.0.1
3.ตั้งค่า virtual host wamp เพื่อให้รับโดเมนที่ชี้เข้ามา
— ก่อนอื่นเปิดใช้ vhost ก่อน โดยให้เปิดไฟล์ httpd.conf ซึ่งเก็บใน C:\\wamp\\bin\\apache\\Apache2.2.11\\conf (ถ้าท่านใช้ wamp เวอร์ชั่นไม่ตรงกับผม ค่าตรง Apache2.2.11 อาจจะเปลี่ยนได้นะครับ ก็ให้เปิดตามที่ท่านมีอยู่)
แล้วค้น
# Virtual hosts #Include conf/extra/httpd-vhosts.conf ให้แก้ไขเป็น # Virtual hosts Include conf/extra/httpd-vhosts.conf
จากนั้น เปิดไฟล์ httpd-vhosts.conf ซึ่งอยู่ใน C:\\wamp\\bin\\apache\\Apache2.2.11\\conf\\extra (ถ้าท่านใช้ wamp เวอร์ชั่นไม่ตรงกับผม ค่าตรง Apache2.2.11 อาจจะเปลี่ยนได้นะครับ ก็ให้เปิดตามที่ท่านมีอยู่)
ให้เติม
<VirtualHost *:80> ServerAdmin admin@vir9local.com DocumentRoot "C:/wamp/www/vir9" ServerName vir9local.com ServerAlias www.vir9local.com </VirtualHost>
เอาไว้ที่ด้านล่างสุดของไฟล์ และอย่าลืมนะครับว่าเครื่องผมเก็บเว็บเอาไว้ที่นี่เลยต้งมาชี้ที่นี่ครับ
จากนั้น restart wamp 1 ที (จริงๆรีแค่ apache ก็พอแล้ว)
เมื่อเราทำเสร็จก็จะได้โดเมนในเครื่องตัวเองทันที ทดสอบด้วยการเปิดเว็บ www.vir9local.com นั่นล่ะครับ ถ้าเจอหน้าเว็บที่มีอยู่ถึงจะถูก ถ้าเจอหน้า local ให้ตรวจสอบตั้งแต่ข้อ 3 ครับ
และก็มีคำถามมาว่า เมื่อเราต้องการจะเปิดเว็บจริงๆ เราจะทำอย่างไร เพราะว่าตอนนี้มันชี้เข้าเครื่องเราเอง ก็ทำง่ายๆด้วยการลบบรรทัดที่เราตั้งค่าออกจาก hosts (ที่เราทำข้อที่ 2 ) และ save รอประมาณ 5 นาทีเปิดเว็บอีกครั้งมันก็เป็นเว็บที่อยู่บน server จริงๆแล้วครับ ง่ายๆเท่านี้เอง
อาจจะดูทำยุ่งยาก แต่ใช้แล้วมันสะดวกมาก