[#1 vhosts] มาลองทำ vhosts บน XAMPP ใน Windows กันเถอะ 🐫
ก่อนอื่นเราลองมาทำความรู้จักกับ vhosts(Virtual Host) กันสักเล็กน้อยยก่อน(น้อยจริงๆนะ อิอิ) ปกติเวลาเราจะเข้าไปดูหน้า web โดยใช้ package xampp หรืออื่นๆ จะต้องพิมพ์ว่า localhost/ชื่อ folder/ชื่อไฟล์นั้นๆอย่างเดียว ใช่มั้ยล่ะ ใช่!(ถามเองตอบเองก็ได้ แฮร่ ปล.มีภาพภาพปลากรอบด้านล่าง)
แต่ไม่ต้องกังวลไปนะ vhosts จะมาเป็นฮีโร่ในส่วนนี้เองจ้า โดย vhosts จะทำให้เราสามารถเรียกชื่อเว็บได้ตามที่เราต้องการได้เลยล่ะ อยากทำแล้วล่ะสิ ไปดูขั้นตอนต่อไปกันดีกว่า ไปๆๆๆๆ
1.ขั้นการติดตั้ง Xampp
โดยขั้นแรกเราจะมาทำการติดตั้ง Xampp กันก่อนนะ โดยสามารถเข้าไปดาวน์โหลดได้ตาม link ด้านล่างจ้า (โดยให้เราเลือก Dowload Xampp for Windows 7.3.5)
→ https://www.apachefriends.org/index.html
ต่อมาเมื่อดาวน์โหลดสำเร็จเราจะได้หน้าต่างแบบนี้ขึ้นมา ให้ทำการกด start เพื่อเริ่มการทำงาน Apache เลย และถ้ากด stop ก็จะเป็นการหยุดการทำงาน
2.ขั้นการแก้ไขไฟล์
ในขั้นนี้เราจะต้องทำการแก้ไขไฟล์ 2 ไฟล์ ดังนี้เลย
- httpd-vhosts.conf
- hosts
2.1 การแก้ไขไฟล์ httpd-vhosts.conf
เข้าไปที่ (C:\xampp\apache\conf\extra) เลือกไฟล์ชื่อ httpd-vhosts.conf
เมื่อเข้ามาในไฟล์ให้พิมพ์ตามกรอบสีฟ้าในภาพด้านล่างนี้เลยจ้า แล้วกด Save
มาอ่าน Lecture สั้นๆเพิ่มความเข้าใจกันสักหน่อย หรือสามารถที่จะ ยาวไป..ไม่อ่านก็ได้ แต่อ่านเถอะพลีสสส
- <VirtualHost *:80> โดย * หมายถึงสามารถเข้าใช้งานได้ทุกคน และ 80 คือ port ที่ใช้ใน virtual host นี้เท่านั้น โดยสามารถเปลี่ยน port ได้ตามที่ต้องการเลย เช่น 81,8080 ,8181 และอื่นๆ
- ServerAdmin → ชื่อตามต้องการเลย
- DocumentRoot → ตัวนี้เป็น directory ที่เก็บไฟล์ของเว็บ โดยไฟล์จะเก็บใน drive ไหนก็ได้ ตรงหน้า desktop เลยก็ได้(โดยในที่นี้ไฟล์นี้เราลอง test ขึ้นมา เราก็พิมพ์ “Hello world” หรืออะไรก็ได้ที่ใจเธอต้องการ แล้ว save ใน folder ชื่อ kanv และอยู่ในไฟล์ชื่อ index.php ควรใช้ชื่อนี้เพราะโดยปกติมันจะ direct ไปที่หน้าที่เป็น index.php ก่อนเลย ลองดูจ้า)
- ServerName → เป็นชื่อโดเมนเนมที่จะใช้เรียกเว็บของเรา (จะไม่ใช้ localhost แล้วน้า) ทีนี้ตอนเราพิมพ์จะดูเว็บ ก็พิมพ์ว่า joinstick.local ไปเลย ไม่ต้องพิมพ์ localhost/ชื่อโฟลเดอร์ แล้วล่ะ
- Directory → เป็น directory สมชื่อเลย เป็นที่เก็บไฟล์ของเว็บ แต่เราสามารถกำหนดสิทธิ์การเข้าถึง,คุณสมบัติให้ server ได้ผ่านเจ้าตัวนี้ ตามภาพด้านบนเลย เช่น Require all granted , AllowOverride All เป็นต้น
2.2 การแก้ไขไฟล์ hosts
ทำตามขั้นตอนดังนี้เลย
1.Run notepad as Administrator (คลิกขวาที่ Notepad → กด Run as Administrator)
2.กด open ใน notepad
3. จากนั้นเข้าไปที่ Windows → System32 → drivers → etc จากนั้นเลือกเป็น All files ดังภาพ ก็จะเจอไฟล์ hosts ให้คลิกเข้าไปในไฟล์ hosts
4.เมื่อเข้ามาในไฟล์ hosts แล้ว ให้พิมพ์ 127.0.0.1 ตามด้วยชื่อ โดเมนเนมของเรา ในที่นี้เป็น joinstick.local (พิมพ์ตามกรอบสีเหลือง)โดยชื่อนี้ต้องตรงกับชื่อ ServerName ในไฟล์ httpd-vhosts.conf ด้วยจ้า
5.อย่าลืม กด Save ด้วยนะ
3.ขั้นทดสอบ vhosts
ขั้นตอนนี้ไม่มีอะไรมาก เราก็ลองทำการทดสอบ โดยการพิมพ์ ้http:// (ปล. http://ไม่มี s นะจ้ะ)แล้วตามด้วยชื่อ ServerName หรือโดเมนเนมของเรา แล้วไปดูว่า หน้าเว็บขึ้นตามภาพด้านล่างแล้วหรือไม่
แท่นแท๊นนนนนน~~~~~~~ เสร็จแล้ววว
จะเห็นว่าเราสามารถเข้ามาหน้าเว็บโดยใช้ชื่อ โดเมนเนมที่เรากำหนดเองได้แล้ว ไม่ยากเลยใช่มั้ยล่ะะ ใช่!(ตอบเองก็ได้ ฮ่าๆ) แล้วเราก็สามารถลองเพิ่มหน้าเว็บอื่นๆโดยใช้ vhosts เพิ่มได้นะ ลองทำดูเลยจ้า (จะลองทำให้ดูมีภาพปลากรอบด้านล่างอีกเช่นเคย)
จริงๆก็จบแล้วล่ะน้า แต่ถ้าเราลองเข้าแบบ localhost ปกติ แล้วดันเกิดมีปัญหาแบบนี้เกิดขึ้นละก็… (ดูภาพปลากรอบด้านล่าง)
เข้าแบบ localhost ไม่ได้ omg!!! แต่อย่าพึ่งตกใจไป ลองทำตามนี้ดูก่อนนะ
มาลองเข้าเว็บกันอีกสักที
…
..
.
แท่นแท๊นนนนนน~~~~~~~ ได้แล้วว เย้ๆ
ปล.ถ้าไม่ขึ้นลอง restart ตัว apache โดยการกด stop แล้วกด start ใหม่อีกสักทีนะ น่าจะได้แล้วใช่มั้ยล่ะะ ใช่!(ตอบเองอีกแล้ว ถถถถ)