เริ่มต้นใช้งาน Webmin ตอนที่ 3 – Apache Web Server (httpd)

กลับมาสอน Webmin ต่อกันเลย โดยตอนนี้ จะพูดถึงโปรแกรมสำคัญที่สุดในการทำเว็บ นั่นคือ Apache Web Server ซึ่งเป็นโปรแกรม Web Server ยอดนิยมสำหรับชาว VPS เลยครับ

จริงๆยังมี Web Server อีกหลายตัว เช่น lighttpd ซึ่งอ้างว่ากินหน่วยความจำน้อยกว่า Apache และทำงานได้เร็วกว่า แต่จะใช้งานลำบาก หรือไม่คุ้นเคยกับคนหมู่มาก ถ้ามีปัญหาก็หาคนปรึกษาลำบาก ดังนั้น ถ้าไม่สุดทนกับ Apache หรือมี RAM น้อยมากๆ ผมแนะนำให้ใช้ Apache จะดีกว่าครับ

เข้าสู่เมนู Apache Web Server

จากหน้าจอของ Webmin ให้เลือกเมนูหลัก Server หาเมนูย่อยที่ชื่อ Apache Web Server ครับ ปกติจะอยู่อันแรกเลย คลิกเข้าไปได้เลย

เมนู Apache Web Server

เมื่อคลิกแล้ว จะพบรายชื่อของ Virtual Host (เว็บไซต์) ของเราทั้งหมด สำหรับคนที่เพิ่งลงใหม่ๆ ก็จะเห็นแต่ Default Server ครับ

หน้าหลักของ Apache Web Server

เปิด AllowOverride

ค่าที่ให้มาตั้งแต่แรกบางอย่าง อาจจะไม่เหมาะสมสำหรับการใช้งานบางประเภท เช่น ตั้ง AllowOverride เป็น None ตั้งแต่แรก ซึ่งทำให้สคริปต์บางตัวที่ใช้ .htaccess ในการกำหนดค่าบางอย่าง ใช้งานไม่ได้ หรือบางทีก็ไม่ได้เปิดการใช้งานแบบ Virtual Host มาให้ ทำให้เราใช้งานเว็บหลายๆเว็บในเครื่อง VPS เดียวกันไม่ได้ ดังนั้นจึงควรมาตั้งค่าพวกนี้ให้เรียบร้อยก่อนครับ

เริ่มด้วยการคลิกที่แท็บ Global configuration ดังรูป

แท็บ Global Configuration

หน้าจอจะแสดงไอคอนต่างๆดังรูป ให้คลิกที่ Edit Config Files

เมนู Edit Config File

จะเห็นว่ามีช่องให้แก้ไข Config File ด้วย ให้หาคำว่า AllowOverride ก่อนครับ

หา AllowOverride None

ให้สังเกต AllowOverride ที่มีคำอธิบายคล้ายๆในรูปนะครับ ถ้าเป็น AllowOverride ที่อื่น เราไม่จำเป็นต้องไปแก้ก็ได้

ถ้าตอนนี้เป็น AllowOverride None ให้เราเปลี่ยนคำว่า None เป็น All ตามรูปครับ

แก้เป็น AllowOverride All

เสร็จแล้วก็กดปุ่ม Save ไปเลยครับ เราจะแก้แค่นี้แหละครับ เพราะที่เหลือ สามารถแก้ผ่านเมนูต่างๆได้

เปิด NameVirtualHost

ต่อมาเราจะเปิดการใช้งาน Virtual Host กันนะครับ โดยให้คลิกที่แท็บ Global Configuration อีกครั้ง แต่คราวนี้เลือกเมนู Networking and Addresses ดังรูปครับ

เลือกเมนู Networking and Addresses

เมื่อคลิกเลือกเมนูแล้ว จะพบหน้าจอดังรูปครับ

หน้า Networking and Addresses

ที่หน้านี้ ให้เราสนใจเฉพาะหัวข้อดังนี้ครับ

  • Addresses for name virtual servers ให้เรากรอก *:80 ลงไป
  • Keep-alive timeout หมายถึง เวลา เป็นวินาที ที่จะตัดการเชื่อมต่อที่ค้างอยู่ ให้ติ๊กเลือกอันที่อยู่หน้าช่องกรอกข้อความ แล้วกรอกเลข 5 ลงไป
  • Request timeout หมายถึง เวลา เป็นวินาที ที่จะตัดการเชื่อมต่อที่ติดต่อเข้ามาแล้วยังไม่ได้ขอข้อมูลอะไร ให้ติ๊กเลือกอันที่อยู่หน้าช่องกรอกข้อความ แล้วกรอกเลข 5 ลงไป

เมื่อกรอกเสร็จแล้ว จะมีหน้าตาแบบนี้ครับ

เมื่อกรอกเสร็จแล้ว

เมื่อตรวจสอบเรียบร้อย ก็กดปุ่ม Save ได้เลยครับ

การสร้าง Virtual Host

โดยปกติแล้ว เรามักจะลงหลายๆเว็บไซต์ไว้ในเครื่องเดียว ดังนั้นเราจึงควรสร้าง Virtual Host สำหรับแต่ละเว็บไซต์ของเราครับ ถ้าคุณคิดจะมีแค่เว็บเดียวในเครื่องเดียว ก็อาจไม่ต้องทำขั้นตอนนี้ก็ได้ครับ แค่เอาไฟล์หน้าเว็บทั้งหมดวางไว้ใน /var/www/html แค่นั้นก็พอครับ

แต่สำหรับคนที่ต้องการสร้าง Virtual Host ให้ทำตามขั้นตอนดังนี้ครับ

คลิกที่แท็บด้านบน ที่ชื่อ Create virtual host เพื่อเข้าสู่หน้าการสร้าง Virtual Host ใหม่

แท็บ Create virtual host

เมื่อคลิกที่แท็บแล้ว จะพบหน้าดังนี้ครับ

หน้า Create virtual host

จะเห็นว่ามีอะไรให้กรอกมากมาย แต่ที่เราควรสนใจ มีดังนี้ครับ

  • Port คือ หมายเลขพอร์ตที่ virtual host นี้จะสนใจครับ ให้ติ๊กเลือกอันสุดท้าย ที่อยู่หน้ากล่องข้อความว่างๆ แล้วในกล่องข้อความว่างๆนั้น ให้ใส่เลข 80 (แปดสิบ) ลงไปครับ
  • Document Root คือ ตำแหน่ง root ของไฟล์เว็บไซต์ของเราครับ กรณีที่มีหลายเว็บไซต์ แนะนำให้เอาชื่อโดเมนและซับโดเมนเป็นชื่อ directory ด้วยนะครับ อย่างเว็บของผม ก็วางไว้ที่ /var/www/html/hellomaffia.com/www โดยที่ hellomaffia.com คือชื่อโดเมน ส่วน www จะเป็นซับโดเมนครับ เวลามีหลายเว็บจะได้หาเจอสะดวกๆ อย่าลืมว่าตำแหน่งไฟล์นี้จะต้องมีอยู่จริงนะครับ ไม่งั้นมันจะไม่ยอมให้สร้าง ดังนั้นควรจะไปสร้าง directory รอไว้ก่อนครับ
  • Server Name คือ ชื่อโฮสท์สำหรับเว็บไซต์ของเราแหละครับ อย่างของผม ก็จะเป็น www.hellomaffia.com สำหรับคนที่ไม่ชอบให้เว็บมี www. นำหน้า ก็ใส่แค่ hellomaffia.com ก็พอครับ

สำหรับค่าอื่นๆ เราไม่ต้องสนใจนะครับ สนใจแล้วจะปวดหัวเปล่าๆ ถ้ากรอกเสร็จแล้ว จะคล้ายๆอย่างนี้ครับ

ตรวจสอบว่ากรอกครบหรือยัง

ตรวจสอบดีๆ ว่ากรอกครบทั้ง 3 ค่าหรือยัง ถ้าเรียบร้อยแล้วก็กดปุ่ม Create Now ได้เลยครับ ถ้าไม่มีปัญหา จะกลับมายังหน้าแรก คือหน้าที่แสดงรายการ Virtual Host ทั้งหมด ซึ่งตอนนี้จะมี Virtual Host ที่เราเพิ่งสร้างอยู่ด้วย

สร้าง Virtual host เรียบร้อยแล้ว

เพิ่ม Alias ให้กับ Virtual Host

สำหรับบางคนที่กลัวว่า เว็บเราอาจจะมีคนเข้าโดยไม่ได้พิมพ์ www. นำหน้า หรืออยากจะให้เว็บของเรา เข้าได้จากหลายชื่อ ก็สามารถไปกำหนดเพิ่มใน Virtual host ดังนี้ครับ

ขั้นแรก ให้คลิกที่ Virtual Server ที่เราต้องการแก้ไข

คลิกที่ Virtual server ที่เราต้องการ

เมื่อคลิกแล้ว จะมีเมนูย่อยๆขึ้นมามากมายดังรูป ให้คลิกเลือกที่ Networking and Addresses ดังรูป

เลือกเมนูย่อย Networking and Addresses

เมื่อคลิกเลือกแล้ว จะเห็นหน้าตาดังรูป

เมนู Networking and Addresses

ให้เรากรอกชื่อ host ทั้งหมดที่ต้องการให้วิ่งมาที่เว็บตัวนี้ ไว้ในช่อง Alternate virtual server names ที่อยู่ด้านขวา

อย่างเว็บของผมปกติจะมีชื่อโฮสท์เป็น www.hellomaffia.com แต่ผมต้องการให้คนที่พิมพ์แค่ hellomaffia.com เข้าเว็บผมได้ด้วย ผมก็กรอก hellomaffia.com ลงไปในช่องนี้ ดังรูป

กรอกชื่อโฮสท์ที่ต้องการลงไป

ถ้ามีชื่อโฮสท์หลายตัว ให้พิมพ์ลงไปให้หมดนะครับ อย่าลืมเว้นวรรคแยกระหว่างชื่อโฮสท์แต่ละตัวด้วยครับ เมื่อเสร็จแล้วก็กดปุ่ม Save ได้เลยครับ

สั่งให้ Apache เริ่มทำงานใหม่

เมื่อเราตั้งค่าต่างๆเรียบร้อยแล้ว ก็ควรจะเอาค่าเหล่านี้ไปใช้งานเสียที ให้มองที่มุมบนด้านขวา หาคำว่า Apply Changes ครับ ถ้าเจอก็กดเข้าไปเลยครับ เพื่อทำการ Restart Apache เพื่อให้เอาค่าต่างๆที่เรากำหนดไว้ ไปใช้งานครับ

คลิก Apply Changes

ลองเปิดเว็บดู

เมื่อตั้งค่าต่างๆเสร็จแล้ว และ Apply Changes เรียบร้อยแล้ว อย่าลืมลองไปเปิดเว็บดูนะครับว่าดูได้หรือเปล่า ถ้าได้หรือไม่ได้ยังไง ลองเขียน comment มาสอบถามกันได้ครับ ยินดีตอบคำถามครับ แต่อาจจะช้าหน่อยนะครับ เนื่องจากช่วงนี้งานยุ่งครับ สำหรับตอนหน้า ผมจะมาแนะนำวิธีการปรับค่าของ Apache ให้เหมาะสมกับเครื่องที่มีแรมน้อยๆ ซึ่งเหมาะสำหรับชาว VPS อย่างเราๆมากครับ

24 thoughts on “เริ่มต้นใช้งาน Webmin ตอนที่ 3 – Apache Web Server (httpd)

  1. ขอบคุณมาก สำหรับข้อเขียนดี ๆ
    จากที่ผมไม่รู้เรื่อง VPS ตอนนี้เริ่มจะมองภาพลาง ๆ ออกแล้ว
    ผมมีโดเมนหลายชื่อ แต่ต้องการลองใช้ webmin คอนโทรล ผ่าน VPS
    แต่ว่ายังทำไม่ได้ คงต้องรออ่านไปเรื่อย ๆ จนกว่าจะมองภาพรวมออก

  2. อยากใช้ webmin ทำ wildcard dns สำหรับ sub domain ด้วยครับ ติดปัญหานี้อยู่
    คือจะทำ wordpress mu ให้คนมาสร้าง blog เป็นชื่อของเขาเอง
    เช่น abab.domain.com
    cbx.domain.com

    ขอบคุณมากๆ

  3. เป็นประโยชน์มากเลยครับขอเก็บไว้ก่อน
    ได้ใช้ vps แล้วจะมาทำตามนำครับ

  4. ขอบคุณมากครับกำลังเช่า VPS อยู่พอดีเลยครับ

  5. เว็ปคุณนี่สุดยอดจริงๆ เนื้อหาดีมากมาย อ่านแล้วทำตามได้เป๊ะ เลย
    ว่าแต่ไม่เขียนต่อแล้วเหรอครับ

  6. ขอบคุณครับ เป็นประโยชน์มากจริงๆ

  7. มีประโยชน์มากครับ
    ตอนนี้เช่า VPS มา 10ดอล/เดือน
    ยังใช้ webmin ไม่เป็นเลย

  8. <>
    อยากอ่านต่อครับ เมื่อไหร่เขียนเสร็จครับ จะได้ลองเช่าVPSบ้าง

    ขอบคุณล่วงหน้า

  9. คือว่ามีคำถาม ถ้าเราการสร้าง dns server ไม่จดโดเมน ได้ป่าวครับ
    อาจารย์เขา ให้ทำแบบว่า เฉพาะเครื่องในห้องเดียวกันอะครับ แบบ lan
    ผมก็ไม่รู้เรื่องอะไรหรอกครับ ถ้าถามอะไรแปลก ๆไป ก็ขอโทษด้วยครับ

  10. DNS Server มองง่ายๆ คือเป็น Server ให้บริการค้นหา IP จากชื่อเครื่องน่ะครับ ถ้าจะทำแบบไม่จดโดเมนก็คงได้ แต่ว่าจะเหมือนที่เราตั้ง Web server ขึ้นมาใน LAN เฉยๆน่ะครับ ซึ่งทำไปก็แค่ใช้ใน LAN

    ถ้าจะทำจริงๆ ก็คือต้องตั้ง DNS Server แบบให้มี Root Zone เพื่อ forward request ต่อไปที่ DNS Server จริงๆอีกที แล้วก็เพิ่มโดเมนของเราลงไป แล้วไปตั้งค่าเครื่องลูกๆทั้งหมดใน LAN ก็ชี้ให้มาใช้ DNS Server ตัวนี้ของเราแทนครับ เวลาเครื่องลูกๆถามถึงโดเมนของเรา มันก็จะตอบได้ทันที ถ้าถามถึงเว็บอื่นๆ ตัว DNS Server ของเราก็จะวิ่งไปถาม DNS จริงๆมาตอบให้ครับ

  11. แล้ว Visual host จำเป็นต้องทำ dns server ก่อนป่าว
    หรือทำ visual host ก่อน dns server ก่อนครับ

  12. ขอโทษที่ตอบช้านะครับ จริงๆจะทำ dns server หรือ virtual host ก่อนก็ได้ เพราะมันต้องตั้งเสร็จทั้งคู่ก่อนถึงจะทำงานได้ครับ ไม่จำเป็นต้องทำอะไรก่อนหลัง ยกเว้นกรณีที่ใช้ control panel บางตัว อาจจะโดนบังคับให้ต้องทำ dns server ก่อน แต่สำหรับ webmin จะทำอะไรก่อนก็ได้

    แต่ถ้าจะแนะนำ ผมว่าการทำ virtual host นั้น น่าจะทำหลังการตั้งค่าที่ DNS Server ให้เรียบร้อยนะครับ เวลา config ที่ web server เสร็จแล้วจะได้ทดสอบดูได้เลยว่าใช้ได้หรือเปล่า

  13. ขอบคุณที่เข้ามาอ่านนะครับ จริงๆก็ไม่มีอะไรจะเขียนต่อแล้วล่ะครับ เพราะถ้าทำตามผมแค่นี้ก็ตั้ง web server ได้แล้วนะครับ

  14. เวลาที่ลง phpmyadmin เรียบร้อยแล้ว
    เวลาเรียกใช้งาน ก็ไปที่ …………/phpmyadmin แต่มันขึ้นให้โหลดไฟล์ application/x-httpd-php แล้วก็เข้าไม่ได้น่ะครับ แก้ยังไงดี *0*

  15. อยากใช้ webmin ทำ wildcard dns สำหรับ sub domain ด้วยครับ ติดปัญหานี้อยู่
    ทำยังงัย ครับ !

  16. ขอบคุณสำหรับเนื้อหาดีดีค่ะพี่ พี่นี่เจ๋งสุดยอด….

  17. ถ้ามีหลาย ๆ โดเมน ต้อง set ยังไงค่ะ มือใหม่มาก
    ลองทำเป้นตัวอย่างให้ดูหน่อยได้ไหม

  18. มีหลายโดเมนเนมแต่ขึ้นแค่ แค่ 1 โดเมน ต้อง set ยังไงคะ

  19. ขอถามครับ พอผมเข้าไปที่ var/www/html/ แล้ว ผมหาไฟล์ .html ของผมไม่เจอครับ ทำยังไงได้ครับ

  20. นำเสนอได้ดีมากครับ

    ผมลองทำตามแล้ว ปรากฏดังนี้ครับ
    Failed to apply changes :
    sh: /etc/rc.d/init.d/httpd: No such file or directory

Leave a Reply

Your email address will not be published. Required fields are marked *