โดยดีฟอลต์คอนฟิกของ Apache เว็บเซิร์ฟเวอร์ที่ติดตั้งมากับลีนุกซ์เวอร์ชั่นต่างๆ จะเปิด (enable) การใช้งานโมดูลต่างๆ ทั้งหมด ทั้งนี้เพื่อสะดวกและง่ายต่อการเริ่มต้นใช้งาน
แต่การใช้งานจริงๆ ในระบบ production แนะนำให้ปิด (disable) คอนฟิกของโมดูลที่ไม่ได้ใช้งาน ทั้งนี้เพื่อประโยชน์ทางด้านความปลอดภัย (security) และประหยัดหน่วยความจำ Memory ที่ต้องถูกใช้งานโดยเปล่าประโยชน์ด้วย (แนะนำให้ใช้คำสั่ง ps เปรียบเทียบขนาด memory ที่ใช้ก่อนและหลังการปิดโมดูล)
บทความนี้ได้รวบรวมจัดกลุ่มโมดูลตามลักษณะการใช้งาน ซึ่งถ้าคุณไม่ได้ใช้คุณสมบัติในโมดูลนั้นๆ สามารถที่จะปิดได้ ด้วยการใส่เครื่องหมาย # หน้าบรรทัดของ LoadModule โดยคอนฟิกทั้งหมดจะเป็นตัวอย่างที่ทำบน Fedora 9 และหลังจากการแก้ไขทั้งหมดเพื่อปิดโมดูลทั้งหมดนี้แล้ว เว็บยังสามารถรัน PHP ได้ตามปกติ
บทความนี้ขอแนะนำการปรับแต่งคอนฟิกพื้นฐานของ Apache ซึ่งติดตั้งมากับ Fedora 9 ทำให้เว็บเซิร์ฟเวอร์ทำงานอย่างมีประสิทธิภาพ โดยการปิดคุณสมบัติที่ไม่ได้ใช้งานออกไป เพื่อประหยัดขนาด CPU, Memory ที่ต้องใช้ในการรันโปรแกรม
การแก้ไขทั้งหมดในบทความนี้เป็นการแก้ไขคอนฟิกในไฟล์ /etc/httpd/conf/httpd.conf ซึ่งจะเป็นไฟล์คอนฟิกหลักของ Apache เว็บเซิร์ฟเวอร์
เราสามารถใช้คำสั่ง telnet ตรวจสอบเวอร์ชั่นของเว็บเซิร์ฟเวอร์ที่รันอยู่บนเครื่องอื่นได้ ซึ่งเป็นข้อมูลส่วนหนึ่งของ HTTP Header ที่ส่งจากเซิร์ฟเวอร์กลับไปยังไคลเอนต์
วิธีการคือใช้คำสั่ง telnet ตามด้วยชื่อเว็บเซิร์ฟเวอร์ที่ต้องการตรวจสอบ ลงท้ายด้วยตัวเลข 80 ซึ่งเป็นพอร์ตที่รันโดยดีฟอลต์เป็นเว็บเซิร์ฟเวอร์
พอร์ตแลน (Ethernet) ของเครื่องเซิร์ฟเวอร์ถือว่าเป็นสิ่งสำคัญอย่างยิ่ง เพราะเป็นส่วนที่จะรับส่งข้อมูลกับเคื่องอื่นๆ ถ้าเซิร์ฟเวอร์มีแค่พอร์ตเดียวเชื่อมต่อเข้าเน็ตเวิร์ก แล้วสายที่เชื่อมต่อหลุดไป หรือไม่สามารถรองรับปริมาณการรับส่งข้อมูลได้เพียงพอ ก็อาจทำให้เกิดปัญหาการใช้งานได้
ในบทความนี้ขอแนะนำการคอนฟิก Ethernet Bonding (หรือ Teaming) เพื่อแก้ปัญหาที่อาจเกิดขึ้น โดยจะมีการจัดกลุ่มพอร์ตแลนเข้าด้วยกัน เพื่อช่วยในการรับส่งข้อมูล รูปแบบการส่งจะมีสองแบบใหญ่ๆ คือ
หลังจากแนะนำบทความ ติดตั้ง VMware Server บน Fedora 9 ไปแล้ว ซึ่งเป็นการติดตั้ง VMware Server โดยใช้ Host OS เป็นลีนุกซ์ Fedora 9
ในบทความนี้จะเพิ่มเติมวิธีการติดตั้ง VMware Tools ซึ่งเป็นโปรแกรมที่ติดตั้งบน Guest OS ที่ลงลีนุกซ์เพื่อเพิ่มประสิทธิภาพการทำงานของลีนุกซ์บน Guest OS ให้ดียิ่งขึ้น โดยตัวอย่างจะเป็นการติดตั้ง VMware Tools เวอร์ชั่น 1.0.7 บน Fedora 9
บทความนี้ขอแนะนำการใช้คำสั่ง ethtool บนลีนุกซ์เพื่อตรวจสอบสถานะของการ์ดเน็ตเวิร์กว่าเป็นอย่างไร เช่น สถานะของลิ้งก์ที่เชื่อมต่ออยู่ว่า Up หรือ Down ความเร็ว (speed) ของการเชื่อมต่อเท่าไร
ในบทความนี้จะกล่าวถึงวิธีการคอนฟิกลินุกซ์ให้สามารถเก็บปริมาณการใช้งาน network ที่เข้าออกเครื่องได้ โดยจะเป็นรายงาน (log) แบบค่อนข้างละเอียดคือ ดูได้ว่าแต่ละ packet ที่ส่งเข้า/ออกเครื่องนั้นมีประเภทไหนบ้าง มาจาก IP Address ต้นทาง ปลายทาง จากไหน ใช้ protocol เป็น TCP หรือ UDP และใช้ Port อะไร เช่นเป็น Web, Mail, Secure Shell
หมายเหตุ คุณสมบัตินี้จะคล้ายๆ กับการใช้งาน Netflow บนอุปกรณ์ Cisco Router
มีหลายวิธีที่สามารถทำได้ แต่ในที่นี้จะแนะนำการใช้โปรแกรม conntrack-tools จับปริมาณการใช้งาน โดย conntrack-tools ถือว่าเป็นโปรแกรม (userspace tools) ที่ติดต่อกับ Linux kernel ในส่วนของ Connection Tracking System จุดประสงค์หลักๆ ของโปรแกรมนี้จะสามารถนำไปทำเป็น High Availability stateful firewall ได้ แต่ในบทความนี้จะขอไม่กล่าวถึงการใช้งานคุณสมบัตินี้
โดยทั่วไป kernel ที่ติดตั้งมากับลินุกซ์เวอร์ชั่น (distribution) ต่างๆ รวมทั้ง Fedora ด้วย จะสามารถใช้งานได้เลย รองรับอุปกรณ์ hardware ได้ส่วนใหญ่หลากหลายชนิด ไม่จำเป็นต้องแก้ไขเพิ่มเติมแต่อย่างใด
แต่ในบางครั้งถ้ามีอุปกรณ์รุ่นใหม่ที่ kernel ไม่รู้จัก หรือต้องการจะปรับแต่ง kernel ให้เรียกใช้งานเฉพาะสำหรับอุปกรณ์ที่เราใช้อยู่จริงๆ ทั้งนี้เพื่อประหยัด CPU/Memory ที่ถูกใช้โดยเปล่าประโยชน์ รวมทั้งเพิ่มความปลอดภัยให้กับตัวลินุกซ์เองด้วย
ในบทความนี้จึงขอแนะนำวิธีปรับแต่ง kernel และคอมไพล์ใหม่ โดยจะทดสอบบน Fedora 9
การติดตั้งโปรแกรมบนลินุกซ์วิธีการหนึ่งที่นิยมกันคือใช้ไฟล์ประเภท rpm ซึ่งไฟล์ที่ติดตั้งนั้นจะถูกคอมไพล์เป็น binary โดยทีมงานที่พัฒนา Linux Distribution ซึ่งเป็นไฟล์จะติดตั้งได้สะดวกพร้อมใช้งาน ด้วยคำสั่ง rpm หรือ yum
ไฟล์ binary เหล่านี้ชื่อไฟล์จะมีการเพิ่มเติมประเภทของเครื่องที่โปรแกรมนี้สามารถติดตั้งใช้งานได้เช่น i386, i586, i686, x86_64 เป็นต้น
แต่ในบางครั้งเราจำเป็นต้องมีการคอมไพล์โปรแกรมใหม่ เพื่อปรับปรุงเรื่องเวอร์ชั่น ตัดหรือเพิ่มคุณสมบัติของโปรแกรมบางอย่างซึ่งไฟล์เหล่านี้อาจจะไม่มีในรูปแบบ binary
รหัสผ่านของ root หรือ root password เป็นสิ่งสำคัญอย่างยิ่งในลินุกซ์ เพราะการแก้ไขทุกอย่างในลินุกซ์ต้องเข้าเป็น root ก่อนถึงจะทำได้ การลืมรหัสผ่านจึงทำให้เราไม่สามารถแก้ไขอะไรได้เลยในลินุกซ์
บทความนี้แนะนำวิธีหนึ่งที่สามารถแก้ไขปัญหาเมื่อลืมรหัสผ่านของ root ได้ แต่ต้องมีการรีบู๊ตเครื่อง ซึ่งทำให้เวลาแก้ไขระบบไม่สามารถใช้งานได้ โดยตัวอย่างในบทความนี้จะทดสอบบน Fedora 9
read more…

