เดี๋ยวนี้ชีวิตการเขียนโค้ดของผมจะใช้ XAMPP เป็นหลัก และเปิด mod vhost ตลอด เรียกว่าถ้ามีการฟอร์แมตเครื่องลงวินโดวใหม่ สิ่งแรกที่จะต้องทำคือติดตั้ง XAMPP และเปิด mod vhost

สำหรับน้องใหม่ที่ไม่ทราบว่าการทำ vhost คืออะไร จงฟัง มันก็คือการทำให้การเรียกใช้โปรแกรมของเราที่เขียนขึ้นมาด้วยภาษา PHP เรียกด้วย URL สวยๆ  ปกติแล้วเราจะสร้างโฟลเดอร์ขึ้นมาใน htdocs ใช่เปล่า แล้วเวลาเรียกโปรแกรมของเราเราก็พิมพ์ http://localhost/myfolder ใช่เปล่า ขึ้นต้นด้วย localhost เสมอ  การทำ vhost คือการปรับแต่งตรงนี้แหละให้เราตั้งชื่อสวยๆให้มันได้ ไม่ต้องใช้แต่ localhost ยัน

แล้วมันมีประโยชน์อะไร ที่ควรค่าแก่การเสียเวลาไปนั่งทำมัน มีสิ

  1. URL มันมัดใจ อยากได้อะไร ตั้งได้  เอาให้สอดคล้องไปกับของจริงได้เลย ของจริงชื่อ  pannipa.com ตอนพัฒนาในเครื่องก็ตั้งเป็น pannipa.dev
  2. ได้ฟิลลิ่งในการทำงาน  localhost/bts กับ bts.dev พินาสิพินา อันไหนได้จะได้ฟิลลิ่งในการเดฟมากกว่ากัน
  3. หมดแล้ว เหี้ยจริง คิดได้แค่ 2 ข้อ

เออก่อนอื่นให้ท่านทำความเข้าใจตรงนี้ก่อนนะ  ผมจะเขียนโปรแกรมตัวหนึ่งชื่อ bts  สร้างโฟลเดอร์ชื่อ bts ไว้ในโฟลเดอร์ htdocs แล้ว ตั้งใจไว้ว่าอยากให้ URL มันชื่อว่า bts.dev

มาดูวิธีทำ  ขอแบ่งแยกเป็น 3 เซ็กชั่น เพราะต้องแก้ 3 ไฟล์

– แก้ไฟล์  hosts

  1.  เปิดไฟล์ C:\Windows\System32\drivers\etc\hosts ขึ้นมา ไฟล์ตัวนี้อาจจะถูกซ่อนไว้นะครับให้ท่านใช้วิธีพิมพ์พาธเพื่อเปิดโฟลเดอร์
  2. เพิ่มโค้ดด้านล่างต่อท้ายเข้าไปในไฟล์
  3. บันทึก  ไอ้ไฟล์นี้มันจะมีระบบป้องกันอย่างหนึ่งนะครับ ปกติมันจะไม่ให้เปิดขึ้นมาแล้วแก้บันทึกกันโต้งๆ มันจะห้าม ให้ท่านก้อปปี้ไฟล์ออกมานอกโฟลเดอร์ แก้ไขให้เสร็จ บันทึกให้เรียบร้อย แล้วเอากลับไปใส่โฟลเดอร์ นี่คือหนึ่งวิธี  หรือไม่งั้นท่านก็ต้องเปิดโปรแกรมที่จะใช้แก้ไขไฟล์ด้วยสิทธิ์ของ Administrator ก็ได้เหมือนกัน

– แก้ไฟล์ httpd.conf

  1. เปิดไฟล์ C:\xampp\apache\conf\httpd.conf ขึ้นมา
  2. หาคำว่า mod_vhost_alias.so ซึ่งมันควรจะอยู่บรรทัดที่  175 เอาเครื่องหมาย # หน้าบรรทัดออก เพื่อเป็นการเปิดใช้งาน
  3. จากนั้นหาคำว่า conf/extra/httpd-vhosts.conf ซึ่งมันควรจะอยู่บรรทัดที่ 503  หากมีเครื่องหมาย # อยู่หน้าบรรทัด ให้เอาออกซะ เพราะมันต้องใช้คู่กับข้อสอง ข้อสองเป็นการบอกว่า เปิดใช้ mod ตัวนี้นะเว้ย ข้อสามเป็นตัวบอกว่าข้อกำหนดต่างๆมันถูกเก็บไว้ที่ไหน

– แก้ไขไฟล์ httpd-vhosts.conf

  1. เปิดไฟล์ C:\xampp\apache\conf\extra\httpd-vhosts.conf ขึ้นมา
  2. เพิ่มคำสั่งนี้ต่อท้ายไฟล์เข้าไป

    *:80 : เป็นตัวบอกว่าถ้ามีการเรียกเข้ามาผ่านพอร์ต 80  ท่านเวลาท่านเข้าเว็บไซต์ใดๆแล้วท่านพิมพ์ว่า http นั่นแหละเบื้องหลังของมันมันเรียกใช้พอร์ต 80
    *:443 : เรียกเข้ามาด้วย https
    DocumentRoot : โค้ดเก็บไว้ที่ไหน
    ServerName : URL อะไร
    ErrorLog : ที่เก็บ log
    CustomLog : ที่เก็บ log 
    Directory : สำหรับโฟลเดอร์นี้ อนุญาติให้ทำอะไรกับมันได้บ้าง
    SSLEngine : เปิดใช้งาน SSL หรือไม่ มันจะเรียกเว็บขึ้นต้นด้วย https://
    SSLCertificateFile : ไฟล์ cert ซึ่งจำเป็นต้องใช้
    SSLCertificateKeyFile : ไฟล์ cert key จำเป็นต้องใช้

หลังจากที่ผมเซ็ตค่าอะไรต่างๆเรียบร้อยแล้ว

ผมลองพิมพ์  http://bts.dev  ได้ผลกลับมาดังนี้

ผมลองพิมพ์ https://bts.dev/ ได้ผลกลับมาดังนี้