1. บทนำ
เกี่ยวกับการติดตั้ง Apache บน Ubuntu
Apache เป็นซอฟต์แวร์เว็บเซิร์ฟเวอร์ที่ถูกใช้งานมากที่สุดในโลก ด้วยความเป็นโอเพนซอร์ส ฟีเจอร์ที่หลากหลาย และเสถียรภาพสูง จึงถูกใช้งานตั้งแต่โปรเจกต์ส่วนตัวจนถึงเว็บไซต์องค์กรขนาดใหญ่ โดยเฉพาะอย่างยิ่งบนดิสทริบิวชัน Linux อย่าง Ubuntu การติดตั้งและตั้งค่า Apache ค่อนข้างง่าย เหมาะสำหรับผู้เริ่มต้น
บทความนี้จะอธิบายขั้นตอนการติดตั้ง Apache บน Ubuntu แบบละเอียด พร้อมทั้งแนะนำการตั้งค่าพื้นฐานและการแก้ไขปัญหาเบื้องต้น เพื่อให้แม้แต่ผู้ที่เริ่มต้นสร้างเว็บเซิร์ฟเวอร์ก็สามารถติดตั้ง Apache ได้อย่างราบรื่น
ทำไมถึงเลือกใช้ Apache?
Apache ได้รับความนิยมด้วยเหตุผลดังนี้:
- โอเพนซอร์ส: ใช้งานฟรี และมีชุมชนที่พัฒนาต่อเนื่อง
- ปรับแต่งได้ยืดหยุ่น: ระบบโมดูล สามารถเพิ่มฟีเจอร์ได้ตามต้องการ
- รองรับการทำงานร่วมกับซอฟต์แวร์อื่นสูง: รองรับภาษาโปรแกรมและมิดเดิลแวร์หลากหลาย เช่น PHP, MySQL เหมาะสำหรับการสร้าง LAMP stack
โดยเฉพาะ Ubuntu ได้รับความนิยมทั้งในหมู่ผู้เริ่มต้นและผู้เชี่ยวชาญ และเข้ากันได้ดีกับ Apache จึงเป็นตัวเลือกที่เหมาะสมสำหรับการเริ่มต้นสร้างเซิร์ฟเวอร์

2. Apache คืออะไร? ภาพรวมและการใช้งาน
ภาพรวมพื้นฐานของ Apache
Apache เปิดตัวครั้งแรกในปี 1995 และกลายเป็นเว็บเซิร์ฟเวอร์ที่ได้รับความนิยมสูงสุดในอินเทอร์เน็ต ด้วยความเป็นโอเพนซอร์ส ทำให้ทุกคนสามารถดาวน์โหลดและใช้งานได้ฟรี Apache ยังมีเสถียรภาพสูง เว็บไซต์ขนาดใหญ่ทั่วโลกจำนวนมากก็ใช้ Apache ในการให้บริการ
การใช้งานของ Apache
Apache มีหน้าที่หลักในการให้บริการคอนเทนต์บนเว็บ เช่น HTML, รูปภาพ, วิดีโอ, ไฟล์ PHP ตัวอย่างการใช้งาน ได้แก่:
- โฮสต์เว็บไซต์: ทั้งเว็บไซต์องค์กร, บล็อกส่วนตัว, หรือเว็บไซต์ข่าว
- รันแอปพลิเคชัน PHP: ใช้งานร่วมกับ MySQL ในการรันเว็บแอปพลิเคชันแบบไดนามิก (เช่น WordPress)
- รองรับ SSL: สร้างเว็บไซต์ที่รองรับ HTTPS เพื่อการสื่อสารที่ปลอดภัย
นอกจากนี้ Apache ยังมีโครงสร้างแบบ โมดูลาร์ สามารถเพิ่มความสามารถเพิ่มเติมได้ เช่น mod_ssl
สำหรับ SSL/TLS หรือ mod_rewrite
สำหรับตั้งค่า URL Rewrite
เปรียบเทียบกับเว็บเซิร์ฟเวอร์อื่น
คู่แข่งของ Apache ได้แก่ Nginx และ LiteSpeed โดยเฉพาะ Nginx เหมาะสำหรับเว็บไซต์ที่มีการเชื่อมต่อพร้อมกันจำนวนมาก ส่วน Apache ได้รับความนิยมมายาวนาน มีเอกสารและการสนับสนุนจำนวนมาก จึงติดตั้งและใช้งานได้ง่ายและยืดหยุ่น
3. การเตรียมตัวและข้อกำหนดเบื้องต้น
การตั้งค่าเริ่มต้นของ Ubuntu
ก่อนติดตั้ง Apache บน Ubuntu ควรตรวจสอบว่า Ubuntu ทำงานปกติ และอัปเดตระบบให้เป็นเวอร์ชันล่าสุด เพื่อลดปัญหาระหว่างการติดตั้ง
อัปเดตระบบ
- รันคำสั่งนี้เพื่ออัปเดตแพ็กเกจของ Ubuntu
sudo apt update
- อัปเกรดแพ็กเกจทั้งหมดด้วยคำสั่งนี้
sudo apt upgrade
การทำเช่นนี้จะช่วยให้การติดตั้ง Apache ไม่มีปัญหาเรื่องแพ็กเกจที่ขาดหรือเก่า
การเชื่อมต่อผ่าน SSH
ในหลายกรณี จำเป็นต้องเข้าถึงเซิร์ฟเวอร์ Ubuntu จากระยะไกล โดยใช้ SSH (Secure Shell) เพื่อความปลอดภัยในการจัดการเซิร์ฟเวอร์ ใช้คำสั่งนี้เพื่อเชื่อมต่อ
ssh ชื่อผู้ใช้@IP ของเซิร์ฟเวอร์
เมื่อต่อ SSH ได้แล้วจึงเริ่มติดตั้ง Apache ในขั้นตอนถัดไป

4. ขั้นตอนการติดตั้ง Apache
วิธีติดตั้ง Apache
การติดตั้ง Apache บน Ubuntu ทำได้ง่ายผ่าน apt เพียงทำตามขั้นตอนนี้
1. ติดตั้ง Apache
ใส่คำสั่งนี้ใน Terminal เพื่อติดตั้ง Apache2
sudo apt install apache2
คำสั่งนี้จะติดตั้ง Apache2 และแพ็กเกจที่เกี่ยวข้องทั้งหมด
2. ตรวจสอบการติดตั้ง
หลังติดตั้งเสร็จ สามารถตรวจสอบสถานะ Apache ได้ด้วยคำสั่ง
sudo systemctl status apache2
หากผลลัพธ์แสดง active (running)
แสดงว่า Apache ทำงานปกติ
ตั้งค่าให้เริ่มอัตโนมัติ
เพื่อให้ Apache เริ่มทำงานอัตโนมัติเมื่อรีบูตเซิร์ฟเวอร์ ใช้คำสั่งนี้
sudo systemctl enable apache2
เท่านี้ Apache จะเริ่มทุกครั้งที่เซิร์ฟเวอร์รีบูต
ตั้งค่า Firewall (UFW)
หากเปิดใช้งานไฟร์วอลล์ ต้องเปิดพอร์ต 80 (HTTP) และ 443 (HTTPS) ให้ Apache โดยใช้ UFW ตามนี้
sudo ufw allow 'Apache'
เท่านี้ก็จะสามารถเข้าถึง Apache จากภายนอกได้
5. การตั้งค่าและการใช้งานพื้นฐานของ Apache
การจัดการบริการ Apache
หลังติดตั้ง Apache แล้ว ควรรู้วิธีสั่งเริ่ม หยุด หรือรีสตาร์ทบริการ
สั่งเริ่มบริการ
sudo systemctl start apache2
สั่งหยุดบริการ
sudo systemctl stop apache2
สั่งรีสตาร์ทบริการ
sudo systemctl restart apache2
ตรวจสอบเว็บเซิร์ฟเวอร์
ทดสอบว่า Apache ทำงานปกติหรือไม่ ให้เปิดเว็บเบราว์เซอร์แล้วเข้าที่ IP ของเซิร์ฟเวอร์หรือ localhost
หากขึ้นหน้าเริ่มต้นของ Apache แสดงว่าติดตั้งสำเร็จ
http://localhost
หรือใช้ IP ของเซิร์ฟเวอร์ในกรณี remote

6. การตั้งค่าสิทธิ์และความปลอดภัยของเว็บเซิร์ฟเวอร์
การตั้งค่าสิทธิ์ของ Document Root
หลังติดตั้ง Apache ควรตั้งค่าสิทธิ์ของโฟลเดอร์ /var/www/html
ให้เหมาะสม เพื่อให้ Apache (ผู้ใช้ www-data
) สามารถเข้าถึงไฟล์ในนั้นได้
sudo chown -R www-data:www-data /var/www/html
คำสั่งนี้จะให้ Apache อ่าน/เขียนไฟล์ได้อย่างถูกต้อง
ตั้งค่าความปลอดภัยพื้นฐาน
หากเผยแพร่เว็บสู่สาธารณะ ควรเพิ่มความปลอดภัยด้วยขั้นตอนเหล่านี้
- ปิด Directory Listing: แก้ไขไฟล์
/etc/apache2/apache2.conf
เพิ่มบรรทัดนี้เพื่อป้องกันการเปิดเผยข้อมูลที่ไม่ต้องการ
Options -Indexes
- ตั้งค่าไฟร์วอลล์: ใช้ UFW เปิดเฉพาะพอร์ตที่จำเป็น ปิดที่ไม่ใช้
- ติดตั้ง SSL/TLS: แนะนำให้ใช้
Let's Encrypt
เพื่อเปิดใช้ HTTPS ฟรี
7. การแก้ไขปัญหาและปัญหาที่พบบ่อย
ปัญหาที่พบบ่อยและวิธีแก้ไข
แม้จะติดตั้งและตั้งค่าตามขั้นตอน แต่ผู้เริ่มต้นมักจะเจอปัญหาดังนี้
1. Apache ไม่เริ่มทำงาน
ปัญหา: รัน sudo systemctl start apache2
แล้ว Apache ไม่เริ่ม
สาเหตุ: มีบริการอื่นใช้พอร์ต 80 อยู่
วิธีแก้ไข:
ตรวจสอบว่ามีโปรเซสอื่นใช้พอร์ต 80 หรือไม่
sudo lsof -i :80
ถ้ามีให้หยุดโปรเซสนั้น
sudo kill [PID]
แล้วลองสตาร์ท Apache ใหม่
sudo systemctl start apache2
2. เข้าถึงไม่ได้เพราะไฟร์วอลล์
ปัญหา: Apache ทำงาน แต่เข้า localhost
หรือ IP ไม่ได้
สาเหตุ: Firewall ปิดพอร์ต 80/443
วิธีแก้ไข:
ตรวจสอบ UFW ว่าพอร์ตเปิดหรือยัง
sudo ufw status
ถ้าไม่เปิด ให้รัน
sudo ufw allow 'Apache'
ก็จะเข้าใช้งานได้
3. พบ Error เรื่องสิทธิ์
ปัญหา: อัปโหลดไฟล์ไป /var/www/html
แล้วขึ้น error
สาเหตุ: สิทธิ์เจ้าของหรือสิทธิ์การเข้าถึงโฟลเดอร์ผิด
วิธีแก้ไข:
เปลี่ยน owner เป็น www-data
sudo chown -R www-data:www-data /var/www/html
ถ้ายัง error ให้เพิ่มสิทธิ์
sudo chmod -R 755 /var/www/html
4. ไฟล์คอนฟิก Apache ผิดพลาด
ปัญหา: Apache ทำงานแต่มี error ที่คอนฟิก
สาเหตุ: อาจมี error ที่ apache2.conf
หรือ sites-available/default.conf
วิธีแก้ไข:
ตรวจสอบคอนฟิกด้วยคำสั่งนี้
sudo apache2ctl configtest
ถ้ามี error ให้แก้ตามที่แจ้ง แล้ว restart Apache
sudo systemctl restart apache2
8. สรุปและขั้นตอนถัดไป
สรุปเนื้อหา
บทความนี้ได้อธิบายวิธี ติดตั้งและตั้งค่า Apache บน Ubuntu โดยละเอียด สาระสำคัญมีดังนี้:
- เตรียมระบบ Ubuntu: อัปเดตและตรวจสอบ SSH
- ติดตั้ง Apache: ใช้
apt
ติดตั้งง่าย - ตั้งค่า Firewall: เปิดพอร์ต 80 และ 443
- การใช้งานพื้นฐาน: สั่งเริ่ม/หยุด/รีสตาร์ทบริการ
- ตั้งค่าสิทธิ์และความปลอดภัย: ให้สิทธิ์โฟลเดอร์และเพิ่มความปลอดภัย
- การแก้ไขปัญหา: วิธีแก้ไขปัญหาพบบ่อย
ขั้นตอนถัดไป
หลังติดตั้ง Apache แล้ว สิ่งที่ควรทำถัดไปคือ เพิ่มความปลอดภัย สำหรับเว็บเซิร์ฟเวอร์ที่ใช้งานอินเทอร์เน็ต ขอแนะนำดังนี้
- ติดตั้ง SSL/TLS: เปิด HTTPS ด้วย
Let's Encrypt
ฟรี - ติดตั้ง LAMP Stack: เพิ่ม MySQL และ PHP สำหรับเว็บแอปพลิเคชันแบบไดนามิก
- เพิ่มโมดูล: เพิ่มฟีเจอร์ เช่น
mod_rewrite
,mod_ssl
ตามต้องการ
เท่านี้คุณก็จะพร้อมสำหรับการสร้างเว็บเซิร์ฟเวอร์ด้วย Apache บน Ubuntu ยินดีด้วย!