การสร้าง Dynamic Sub Domain ตอนที่ 1
Dynamic Sub Domain คืออะไร?... หลายท่านอาจจะงง
โดยปกติแล้วการสร้าง sub domain เราสามารถทำได้ หากเราเป็นเจ้าของ Server หรือเป็นผู้เช่า Server โดยการเข้าไปที่ Control Panel ของ Web Server นั้นๆ จะมีหน้าการสร้าง Sub Domain เช่น เว็บผม https://www.goragod.com เมื่อทำการสร้าง sub domain จะได้เป็น https://subdomain.goragod.com และจะได้โฟลเดอร์ชื่อ subdomain ภายใต้ root ไดเร็คทอรี่สำหรับเก็บไฟล์ของ sub domain นั้นๆ บน Server เช่น
https://www.goragod.com => /public_html/
http://chat.goragod.com => /public_html/chat/
http://blog.goragod.com => /public_html/blog/
ส่วน Dynamiic Sub Domain ก็จะมีความหมายประมาณว่า การสร้าง sub domain เทียม โดยไม่ต้องทำการสร้าง (หรือสร้างก็ได้) ไดเร็คทอรี่สำหรับเก็บไฟล์ หรือ อาจสร้างโฟลเดอร์ไว้ที่อื่นๆก็ได้ตามแต่เรากำหนด โดยที่ไม่จำเป็นต้องกระทำกับ Server จริงๆบน Control Panel เช่นการสร้าง sub domain แล้วเก็บข้อมูลของหน้าเพจนั้นๆไว้บน MySQL เวลาเรียกดูก็เรียกผ่าน MySQL เป็นต้น หรืออีกตัวอย่างหนึ่งก็เช่น ไดอารี่ หรือ บล๊อก ที่มีชื่อเจ้าของเป็น ชื่อ sub domain (เช่น GBlog)
ในตอนก่อนผมได้เสนอการทำ Subdomain บน Localhost ไปแล้ว สำหรับการทำบน Server ก็มีวิธีทำคล้ายๆกัน ต่างกันที่เราไม่สามารถทำการ config Apache ด้วยตัวเองได้เท่านั้น สำหรับหลักการในการ config Web Server เพื่อทำ dynamic sub domain ก็คือการทำ Wildcard DNS
ปกติแล้วการทำ sub domain เราต้องทำการ config DNS ให้กับ sub domain ของเรา เช่น chat.goragod.com ส่วนการทำ Wildcard DNS คือการทำ ทุก sub domain ให้กับ DNS เช่น *.goragod.com อันหมายถึงการทำให้มันรู้จักได้ทุก sub domain เลยทีเดียว สำหรับขั้นตอนในการทำ Wildcard DNS มีข้อแตกต่างกันตาม Server แต่ละชนิด
ผมยกตัวอย่างของ Direct Admin นะครับ โดยให้เข้าไปที่หน้า DNS Setup บน Control Panel ของ Direct Admin
โดยปกติแล้วการสร้าง sub domain เราสามารถทำได้ หากเราเป็นเจ้าของ Server หรือเป็นผู้เช่า Server โดยการเข้าไปที่ Control Panel ของ Web Server นั้นๆ จะมีหน้าการสร้าง Sub Domain เช่น เว็บผม https://www.goragod.com เมื่อทำการสร้าง sub domain จะได้เป็น https://subdomain.goragod.com และจะได้โฟลเดอร์ชื่อ subdomain ภายใต้ root ไดเร็คทอรี่สำหรับเก็บไฟล์ของ sub domain นั้นๆ บน Server เช่น
https://www.goragod.com => /public_html/
http://chat.goragod.com => /public_html/chat/
http://blog.goragod.com => /public_html/blog/
ส่วน Dynamiic Sub Domain ก็จะมีความหมายประมาณว่า การสร้าง sub domain เทียม โดยไม่ต้องทำการสร้าง (หรือสร้างก็ได้) ไดเร็คทอรี่สำหรับเก็บไฟล์ หรือ อาจสร้างโฟลเดอร์ไว้ที่อื่นๆก็ได้ตามแต่เรากำหนด โดยที่ไม่จำเป็นต้องกระทำกับ Server จริงๆบน Control Panel เช่นการสร้าง sub domain แล้วเก็บข้อมูลของหน้าเพจนั้นๆไว้บน MySQL เวลาเรียกดูก็เรียกผ่าน MySQL เป็นต้น หรืออีกตัวอย่างหนึ่งก็เช่น ไดอารี่ หรือ บล๊อก ที่มีชื่อเจ้าของเป็น ชื่อ sub domain (เช่น GBlog)
ในตอนก่อนผมได้เสนอการทำ Subdomain บน Localhost ไปแล้ว สำหรับการทำบน Server ก็มีวิธีทำคล้ายๆกัน ต่างกันที่เราไม่สามารถทำการ config Apache ด้วยตัวเองได้เท่านั้น สำหรับหลักการในการ config Web Server เพื่อทำ dynamic sub domain ก็คือการทำ Wildcard DNS
ปกติแล้วการทำ sub domain เราต้องทำการ config DNS ให้กับ sub domain ของเรา เช่น chat.goragod.com ส่วนการทำ Wildcard DNS คือการทำ ทุก sub domain ให้กับ DNS เช่น *.goragod.com อันหมายถึงการทำให้มันรู้จักได้ทุก sub domain เลยทีเดียว สำหรับขั้นตอนในการทำ Wildcard DNS มีข้อแตกต่างกันตาม Server แต่ละชนิด
ผมยกตัวอย่างของ Direct Admin นะครับ โดยให้เข้าไปที่หน้า DNS Setup บน Control Panel ของ Direct Admin
- ทำการ Add Domain Record โดยกำหนด Name เป็น * และกำหนด type เป็น A และ Value เป็น IP Address ของ Server ของคุณ
- แล้วคลิก Add จะได้ผลลัพท์ดังรูป เป็นการเสร็จการติดตั้ง Wildcard DNS
- เข้าไปที่ Admin Level -> Custom Httpd configurations แล้วคลิกที่ชื่อโดเมนที่ต้องการใส่ Wild Card ใส่โค้ดนี้ลงไปใน Textarea อันบน
เสร็จแล้วกด Save เลยครับServerAlias *.|DOMAIN|