目次

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 ทำงานปกติ และอัปเดตระบบให้เป็นเวอร์ชันล่าสุด เพื่อลดปัญหาระหว่างการติดตั้ง

อัปเดตระบบ

  1. รันคำสั่งนี้เพื่ออัปเดตแพ็กเกจของ Ubuntu
sudo apt update
  1. อัปเกรดแพ็กเกจทั้งหมดด้วยคำสั่งนี้
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 อ่าน/เขียนไฟล์ได้อย่างถูกต้อง

ตั้งค่าความปลอดภัยพื้นฐาน

หากเผยแพร่เว็บสู่สาธารณะ ควรเพิ่มความปลอดภัยด้วยขั้นตอนเหล่านี้

  1. ปิด Directory Listing: แก้ไขไฟล์ /etc/apache2/apache2.conf เพิ่มบรรทัดนี้เพื่อป้องกันการเปิดเผยข้อมูลที่ไม่ต้องการ
Options -Indexes
  1. ตั้งค่าไฟร์วอลล์: ใช้ UFW เปิดเฉพาะพอร์ตที่จำเป็น ปิดที่ไม่ใช้
  2. ติดตั้ง 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 โดยละเอียด สาระสำคัญมีดังนี้:

  1. เตรียมระบบ Ubuntu: อัปเดตและตรวจสอบ SSH
  2. ติดตั้ง Apache: ใช้ apt ติดตั้งง่าย
  3. ตั้งค่า Firewall: เปิดพอร์ต 80 และ 443
  4. การใช้งานพื้นฐาน: สั่งเริ่ม/หยุด/รีสตาร์ทบริการ
  5. ตั้งค่าสิทธิ์และความปลอดภัย: ให้สิทธิ์โฟลเดอร์และเพิ่มความปลอดภัย
  6. การแก้ไขปัญหา: วิธีแก้ไขปัญหาพบบ่อย

ขั้นตอนถัดไป

หลังติดตั้ง Apache แล้ว สิ่งที่ควรทำถัดไปคือ เพิ่มความปลอดภัย สำหรับเว็บเซิร์ฟเวอร์ที่ใช้งานอินเทอร์เน็ต ขอแนะนำดังนี้

  1. ติดตั้ง SSL/TLS: เปิด HTTPS ด้วย Let's Encrypt ฟรี
  2. ติดตั้ง LAMP Stack: เพิ่ม MySQL และ PHP สำหรับเว็บแอปพลิเคชันแบบไดนามิก
  3. เพิ่มโมดูล: เพิ่มฟีเจอร์ เช่น mod_rewrite, mod_ssl ตามต้องการ

เท่านี้คุณก็จะพร้อมสำหรับการสร้างเว็บเซิร์ฟเวอร์ด้วย Apache บน Ubuntu ยินดีด้วย!

侍エンジニア塾