GORAGOD.com

การสร้าง 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
  • ทำการ Add Domain Record โดยกำหนด Name เป็น * และกำหนด type เป็น A และ Value เป็น IP Address ของ Server ของคุณ
  • แล้วคลิก Add จะได้ผลลัพท์ดังรูป เป็นการเสร็จการติดตั้ง Wildcard DNS
  • เข้าไปที่ Admin Level -> Custom Httpd configurations แล้วคลิกที่ชื่อโดเมนที่ต้องการใส่ Wild Card ใส่โค้ดนี้ลงไปใน Textarea อันบน
    ServerAlias *.|DOMAIN|
    เสร็จแล้วกด Save เลยครับ
หมายเหตุ เมื่อเสร็จสิ้นการตั้งค่าแล้ว อาจต้องรอสักพักให้ Server ทำการ Restart Apache ใหม่ก่อน (อาจหลายนาที) หรือหากสามารถสั่ง Restart Apache ด้วยตัวเองก็สามารถทำได้ เพื่อให้มีผลทันที และการจะสามารถตั้งค่า Wild Card ได้ขั้นต่ำต้องเป็น VPS ขึ้นไปถึงจะทำได้ เพราะต้องใช้สิทธิ์ root ในการตั้งค่า (เข้าระบบเป็นผู้ดูแลสูงสุด) ส่วนใครที่ใช้บริการ Share Host ทั่วไป อาจต้องสอบถามผู้ให้บริการให้เขาดำเนินการให้ แต่โดยทั่วไปเขามักจะไม่ทำให้นะครับ (ทำให้เฉพาะ VPS ขึ้นไป)
สำหรับ Server ชนิดอื่นให้ทำตามหลักการเดียวกันนี้ หากไม่มี Control Panel คงต้องให้ Admin จัดการให้ละกันครับ