1. บทนำ
เกี่ยวกับการติดตั้ง Apache บน Ubuntu
Apache เป็นหนึ่งในซอฟต์แวร์เซิร์ฟเวอร์เว็บที่ใช้กันอย่างแพร่หลายที่สุดในโลก ในฐานะแพลตฟอร์มโอเพ่นซอร์ส มันเป็นที่รู้จักในเรื่องของฟังก์ชันการทำงานที่ครอบคลุมและความเสถียรสูง ทำให้เหมาะกับทุกอย่างตั้งแต่โครงการส่วนบุคคลจนถึงเว็บไซต์ระดับองค์กร โดยเฉพาะบนดิสโทรบิวท์ของ Linux อย่าง Ubuntu การติดตั้งและกำหนดค่า Apache ค่อนข้างง่าย ให้สภาพแวดล้อมที่เป็นมิตรแม้สำหรับผู้เริ่มต้น
ในบทความนี้ เราจะอธิบายขั้นตอนเฉพาะที่จำเป็นสำหรับการติดตั้ง Apache บน Ubuntu พร้อมทั้งครอบคลุมการกำหนดค่าพื้นฐานและเคล็ดลับการแก้ไขปัญหาหลังการติดตั้ง โดยการทำตามคู่มือนี้ ผู้ใช้ครั้งแรกก็จะสามารถตั้งค่า Apache ได้อย่างราบรื่นและเริ่มสร้างเว็บเซิร์ฟเวอร์โดยไม่มีความยากลำบาก
ทำไมต้องเลือก Apache?
Apache ได้รับการยอมรับอย่างกว้างขวางด้วยเหตุผลต่อไปนี้
- โอเพ่นซอร์ส : ใช้ได้ฟรีและได้รับการพัฒนาอย่างต่อเนื่องโดยชุมชนที่กระตือรือร้น
- การปรับแต่งที่ยืดหยุ่น : ระบบโมดูลช่วยให้คุณเพิ่มเฉพาะฟีเจอร์ที่ต้องการเท่านั้น
- ความเข้ากันได้สูง : ทำงานร่วมกับหลายภาษาโปรแกรมและมิดเดิลแวร์ เช่น PHP และ MySQL อย่างไร้รอยต่อ ทำให้เหมาะสำหรับการสร้างสภาพแวดล้อม LAMP
Ubuntu มีผู้ใช้จำนวนมากตั้งแต่ผู้เริ่มต้นจนถึงผู้เชี่ยวชาญ และทำงานร่วมกับ Apache ได้อย่างยอดเยี่ยม ทำให้เป็นตัวเลือกที่เหมาะสมสำหรับการตั้งค่าเซิร์ฟเวอร์แรกของคุณ
2. Apache คืออะไร? ภาพรวมและกรณีการใช้งาน
ภาพรวมพื้นฐานของ Apache
เปิดตัวครั้งแรกใน 1995 Apache ได้เติบโตเป็นหนึ่งในเว็บเซิร์ฟเวอร์ที่ได้รับความนิยมสูงสุดบนอินเทอร์เน็ต เป็นซอฟต์แวร์โอเพ่นซอร์สที่ดาวน์โหลดได้ฟรีและมีความเสถียรสูง เว็บไซต์ขนาดใหญ่หลายแห่งทั่วโลกพึ่งพา Apache ในการส่งมอบเนื้อหาเว็บของพวกเขา
กรณีการใช้งานของ Apache
วัตถุประสงค์หลักของ Apache คือการให้บริการเนื้อหา เช่น HTML, รูปภาพ, วิดีโอ และไฟล์ PHP ผ่านเว็บ ตัวอย่างการใช้งานทั่วไปได้แก่
- โฮสติ้งเว็บไซต์ : ให้บริการเนื้อหาเว็บสำหรับเว็บไซต์องค์กร, บล็อกส่วนบุคคล, แพลตฟอร์มข่าวสาร ฯลฯ
- รันแอปพลิเคชัน PHP : โฮสต์แอปพลิเคชันเว็บไดนามิกเช่น WordPress โดยผสาน PHP กับ MySQL
- สนับสนุน SSL : ใช้ HTTPS เพื่อการสื่อสารที่ปลอดภัย
สถาปัตยกรรม โมดูล ของ Apache ช่วยให้คุณเพิ่มฟีเจอร์ตามความต้องการ ตัวอย่างเช่น mod_ssl ทำให้การใช้งาน SSL/TLS ง่ายขึ้น ในขณะที่ mod_rewrite ช่วยจัดการการเขียน URL และกฎการเปลี่ยนเส้นทาง
การเปรียบเทียบกับเว็บเซิร์ฟเวอร์อื่น ๆ
คู่แข่งที่สำคัญได้แก่ Nginx และ LiteSpeed Nginx มีความเชี่ยวชาญในการจัดการการเชื่อมต่อพร้อมกันจำนวนมาก ทำให้เป็นที่นิยมสำหรับเว็บไซต์ที่มีทราฟฟิกสูง ส่วน Apache มีประวัติการใช้งานยาวนาน เอกสารอ้างอิงมากมาย และตัวเลือกการกำหนดค่าที่ยืดหยุ่น ทำให้การจัดการและการปรับแต่งง่ายขึ้น
3. ความต้องการและเงื่อนไขเบื้องต้น
การตั้งค่าเริ่มต้นบน Ubuntu
ก่อนที่จะติดตั้ง Apache บน Ubuntu จำเป็นต้องทำขั้นตอนเตรียมการบางอย่าง ให้แน่ใจว่า Ubuntu ทำงานได้อย่างถูกต้องและอัปเดตระบบตามความจำเป็น การทำเช่นนี้ช่วยหลีกเลี่ยงปัญหาในการติดตั้งโดยทำให้แพ็กเกจที่จำเป็นเป็นรุ่นล่าสุด
การอัปเดตระบบ
- อัปเดตรายการแพ็กเกจของ Ubuntu ด้วยคำสั่งต่อไปนี้:
sudo apt update
- เพื่ออัปเกรดแพ็กเกจทั้งหมดในระบบ ให้รันคำสั่งต่อไปนี้:
sudo apt upgrade
ขั้นตอนนี้ทำให้แน่ใจว่าขึ้นตอนการติดตั้ง Apache มีการพึ่งพาไลบรารีที่เป็นรุ่นล่าสุด
การเชื่อมต่อผ่าน SSH
ในหลายกรณี คุณจะจัดการเซิร์ฟเวอร์ Ubuntu ของคุณจากระยะไกล ใช้ SSH (Secure Shell) เพื่อสร้างการเชื่อมต่อที่ปลอดภัยไปยังเซิร์ฟเวอร์ เชื่อมต่อด้วยคำสั่งต่อไปนี้:
ssh username@server-ip-address
เมื่อเชื่อมต่อผ่าน SSH แล้ว คุณสามารถดำเนินการติดตั้ง Apache ต่อไปได้ 
4. การติดตั้ง Apache
วิธีการติดตั้ง Apache
การติดตั้ง Apache บน Ubuntu ทำได้ง่ายมากโดยใช้ตัวจัดการแพ็กเกจ apt ทำตามขั้นตอนด้านล่างนี้
1. ติดตั้ง Apache
รันคำสั่งต่อไปนี้ในเทอร์มินัลเพื่อทำการติดตั้ง Apache2:
sudo apt install apache2
คำสั่งนี้จะติดตั้ง Apache2 ร่วมกับ dependencies ที่จำเป็นทั้งหมด。
2. ตรวจสอบการติดตั้ง
ยืนยันว่า Apache ได้ติดตั้งอย่างถูกต้องโดยการตรวจสอบสถานะของมัน:
sudo systemctl status apache2
หากผลลัพธ์แสดง active (running) แสดงว่า Apache กำลังทำงานอย่างสำเร็จ。
เปิดใช้งานการเริ่มต้นอัตโนมัติ
เพื่อให้แน่ใจว่า Apache จะเริ่มทำงานอัตโนมัติทุกครั้งที่เซิร์ฟเวอร์รีบูต ให้รัน:
sudo systemctl enable apache2
การกำหนดค่า Firewall (UFW)
หาก firewall ของคุณเปิดใช้งานอยู่ ให้เปิดพอร์ต 80 (HTTP) และ 443 (HTTPS) เพื่อให้ Apache สามารถรับการรับส่งข้อมูลเว็บได้ ใช้เครื่องมือ UFW ของ Ubuntu เพื่ออนุญาตการเข้าถึง:
sudo ufw allow 'Apache'
นี่จะเปิดพอร์ตที่จำเป็นและอนุญาตการเข้าถึงจากภายนอกจาก Apache。
5. การกำหนดค่าและการจัดการ Apache
การจัดการบริการ
หลังจากติดตั้ง Apache แล้ว เรียนรู้คำสั่งพื้นฐานเหล่านี้เพื่อเริ่มต้น หยุด หรือรีสตาร์ทบริการ。
เริ่มต้น Apache
sudo systemctl start apache2
หยุด Apache
sudo systemctl stop apache2
รีสตาร์ท Apache
sudo systemctl restart apache2
ตรวจสอบเซิร์ฟเวอร์เว็บ
เพื่อยืนยันว่า Apache กำลังทำงาน ให้เปิดเบราว์เซอร์และเข้าถึงที่อยู่ IP ของเซิร์ฟเวอร์หรือ localhost:
http://localhost
6. การตั้งค่าสิทธิ์และความปลอดภัย
การตั้งค่าสิทธิ์สำหรับเซิร์ฟเวอร์เว็บ
หลังจากติดตั้งแล้ว ให้กำหนดค่าสิทธิ์บน document root /var/www/html เพื่อให้ผู้ใช้ Apache (www-data) สามารถเข้าถึงไฟล์ได้。
sudo chown -R www-data:www-data /var/www/html
การกำหนดค่าความปลอดภัยพื้นฐาน
เมื่อทำให้เซิร์ฟเวอร์เว็บของคุณเปิดสู่สาธารณะ ให้ใช้มาตรการความปลอดภัยต่อไปนี้:
- ปิดการแสดงรายการไดเรกทอรี : แก้ไข
/etc/apache2/apache2.confเพื่อป้องกันการเปิดเผยข้อมูลโดยไม่ได้ตั้งใจ。Options -Indexes
- การกำหนดค่า Firewall : เปิดเฉพาะพอร์ตที่จำเป็นโดยใช้ UFW.
- เปิดใช้งาน SSL/TLS : ใช้
Let's Encryptเพื่อเปิดใช้งาน HTTPS สำหรับการสื่อสารที่ปลอดภัย。
7. การแก้ไขปัญหาที่พบบ่อย
ปัญหาที่พบบ่อยและวิธีแก้ไข
1. Apache ไม่เริ่มต้น
ปัญหา: การรัน sudo systemctl start apache2 ไม่สามารถเริ่มต้น Apache ได้
สาเหตุ: บริการอื่นอาจกำลังใช้พอร์ต 80
วิธีแก้ไข:
sudo lsof -i :80
ระบุกระบวนการที่กำลังใช้พอร์ตและหยุดมัน:
sudo kill [process-id]
sudo systemctl start apache2
2. Firewall บล็อกการเข้าถึง
ปัญหา: Apache กำลังทำงาน แต่ไม่สามารถเข้าถึงไซต์ผ่านเบราว์เซอร์ได้
สาเหตุ: Firewall อาจบล็อกพอร์ต 80 หรือ 443
วิธีแก้ไข:
sudo ufw status
sudo ufw allow 'Apache'
3. ข้อผิดพลาดสิทธิ์
ปัญหา: คุณพบข้อผิดพลาดสิทธิ์เมื่ออัปโหลดไฟล์
สาเหตุ: การเป็นเจ้าของหรือสิทธิ์ของ document root ไม่ได้กำหนดค่าอย่างถูกต้อง
วิธีแก้ไข:
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
4. ข้อผิดพลาดไฟล์กำหนดค่า
ปัญหา: Apache เริ่มต้นได้ แต่ไม่ทำงานอย่างถูกต้องเนื่องจากข้อผิดพลาดการกำหนดค่า
วิธีแก้ไข:
sudo apache2ctl configtest
sudo systemctl restart apache2
8. สรุปและขั้นตอนถัดไป
สรุป
บทความนี้ได้อธิบายรายละเอียดเกี่ยวกับวิธีการติดตั้งและกำหนดค่า Apache บน Ubuntu ขั้นตอนหลักมีดังนี้:
- เตรียม Ubuntu : อัปเดตระบบและยืนยันการเข้าถึง SSH.
- ติดตั้ง Apache : ใช้
aptสำหรับการติดตั้งที่ง่ายดาย. - กำหนดค่า Firewall : เปิดพอร์ต 80 และ 443.
- การดำเนินการพื้นฐาน : เริ่มต้น หยุด และรีสตาร์ท Apache.
- สิทธิ์และความปลอดภัย : กำหนดค่าการเป็นเจ้าของและการตั้งค่าความปลอดภัยที่เหมาะสม.
- การแก้ไขปัญหา : แก้ไขปัญหาที่พบบ่อย.
ขั้นตอนถัดไป
หลังจากติดตั้ง Apache แล้ว พิจารณาการปรับปรุงต่อไปนี้:
- เปิดใช้งาน SSL/TLS : ใช้
Let's Encryptเพื่อรักษาความปลอดภัยการสื่อสารผ่าน HTTPS. - สร้าง LAMP Stack : ติดตั้ง MySQL และ PHP เพื่อปรับใช้แอปพลิเคชันแบบไดนามิก.
- เพิ่มโมดูล : ขยายฟังก์ชันด้วยโมดูลเช่น
mod_rewriteและmod_ssl.
เมื่อทำตามขั้นตอนเหล่านี้เสร็จแล้ว เซิร์ฟเวอร์เว็บที่ขับเคลื่อนด้วย Apache ของคุณพร้อมสำหรับการปรับใช้แล้ว ยินดีด้วย!


