
Apache Web Server — ติดตั้งและตั้งค่าบน Linux
ติดตั้ง Apache บน Ubuntu/CentOS ตั้งค่า VirtualHost, mod_rewrite, SSL, MPM tuning พร้อมตัวอย่าง Config จริงที่ใช้ได้ทันที
Apache HTTP Server คืออะไร

Apache HTTP Server หรือที่เรียกสั้นๆว่า Apache เป็น Web Server แบบ Open Source ที่ได้รับความนิยมสูงสุดมาตั้งแต่ปี 1995 พัฒนาโดย Apache Software Foundation ปัจจุบันยังคงเป็น Web Server ที่ใช้งานมากที่สุดในโลกโดยมี Market Share ประมาณ 30% จากข้อมูลของ Netcraft Survey ปี 2026
Apache ทำงานบนระบบปฏิบัติการหลักทุกตัวทั้ง Linux, Windows และ macOS แต่ในบทความนี้จะเน้นการติดตั้งและตั้งค่าบน Linux ซึ่งเป็น Platform ที่นิยมใช้งานมากที่สุดสำหรับ Production Server
ติดตั้ง Apache บน Ubuntu/Debian
การติดตั้งบน Ubuntu หรือ Debian ทำได้ง่ายผ่าน apt package manager ดังนี้
หลังติดตั้งเสร็จ Apache จะเริ่มทำงานที่ Port 80 ทันที เปิด Browser ไปที่ http://your-server-ip จะเห็นหน้า Default Page ของ Apache
โครงสร้างไฟล์สำคัญบน Ubuntu:
- /etc/apache2/apache2.conf — ไฟล์ Config หลัก
- /etc/apache2/sites-available/ — เก็บ VirtualHost Config
- /etc/apache2/sites-enabled/ — Symlink ของ VirtualHost ที่เปิดใช้งาน
- /etc/apache2/mods-available/ — Module ที่มีให้ใช้
- /etc/apache2/mods-enabled/ — Module ที่เปิดใช้งานอยู่
- /var/www/html/ — Document Root เริ่มต้น
- /var/log/apache2/ — ไฟล์ Log ทั้ง access.log และ error.log
ติดตั้ง Apache บน CentOS/RHEL/AlmaLinux
บน CentOS หรือ RHEL-based distros ใช้ dnf หรือ yum:
โครงสร้างไฟล์บน CentOS แตกต่างจาก Ubuntu เล็กน้อย:
- /etc/httpd/conf/httpd.conf — Config หลัก
- /etc/httpd/conf.d/ — Config เพิ่มเติม (VirtualHost, SSL)
- /var/www/html/ — Document Root
- /var/log/httpd/ — Log Files
ตั้งค่า VirtualHost — รันหลายเว็บบน Server เดียว
VirtualHost คือฟีเจอร์ที่ทำให้ Apache รันหลายเว็บไซต์บน Server เครื่องเดียวได้ โดยแยกตาม Domain Name ซึ่งเป็นสิ่งที่ใช้งานจริงแทบทุก Server
สร้าง VirtualHost บน Ubuntu
เนื้อหาของไฟล์ VirtualHost:
คำสั่ง a2ensite และ a2dissite เป็นเครื่องมือเฉพาะของ Debian/Ubuntu ที่ช่วยจัดการ Symlink ใน sites-enabled โดยอัตโนมัติ บน CentOS ให้วาง Config ไว้ใน /etc/httpd/conf.d/ แล้ว Reload ได้เลย
ตั้งค่า mod_rewrite — URL Rewriting
mod_rewrite เป็น Module ที่ใช้สำหรับเปลี่ยนแปลง URL ทำ Redirect และสร้าง Clean URL ซึ่งสำคัญมากทั้งเรื่อง SEO และ User Experience
ตัวอย่างการใช้ .htaccess สำหรับ WordPress หรือ CMS ทั่วไป:
สิ่งสำคัญคือต้องตั้ง AllowOverride All ใน VirtualHost Config ด้วย ไม่งั้น .htaccess จะไม่ทำงาน ถ้าไม่ต้องการใช้ .htaccess (เพื่อประสิทธิภาพที่ดีกว่า) ให้ใส่ Rewrite Rules ใน VirtualHost Config โดยตรงแทน
ติดตั้ง SSL Certificate ด้วย Let's Encrypt
HTTPS เป็นสิ่งจำเป็นสำหรับทุกเว็บไซต์ในปัจจุบัน ทั้งเรื่องความปลอดภัยและ SEO Ranking วิธีที่ง่ายที่สุดคือใช้ Certbot กับ Let's Encrypt ซึ่งให้ SSL Certificate ฟรี
Certbot จะแก้ไข VirtualHost Config ให้อัตโนมัติ สร้างไฟล์ example.com-le-ssl.conf ที่ Listen Port 443 พร้อม Redirect จาก HTTP ไป HTTPS
ตัวอย่าง SSL VirtualHost ที่ Certbot สร้างให้:
แนะนำให้เพิ่ม HSTS Header เพื่อบอก Browser ว่าเว็บนี้ใช้ HTTPS เท่านั้น และตั้ง Cron Job สำหรับ Renew Certificate อัตโนมัติ:
ปรับแต่ง MPM — Multi-Processing Module
MPM เป็นหัวใจของ Apache ที่กำหนดวิธีจัดการ Connection จาก Client มี 3 แบบหลัก:
- prefork — ใช้ Process แยกกัน เสถียรแต่กิน RAM เยอะ เหมาะกับ mod_php
- worker — ใช้ Thread ภายใน Process ประหยัด RAM กว่า prefork
- event — ปรับปรุงจาก worker จัดการ Keep-Alive Connection ได้ดีกว่า แนะนำสำหรับ Production ในปี 2026
ตั้งค่า MPM Event สำหรับ Server ที่มี RAM 8GB:
คำอธิบายค่าสำคัญ:
- StartServers — จำนวน Process ที่สร้างตอนเริ่มต้น
- MaxRequestWorkers — จำนวน Connection สูงสุดที่รับได้พร้อมกัน คำนวณจาก ServerLimit × ThreadsPerChild
- MaxConnectionsPerChild — จำนวน Request สูงสุดต่อ Process ก่อน Recycle ตั้งไว้ป้องกัน Memory Leak
- ThreadsPerChild — จำนวน Thread ต่อ Process ถ้า Server มี RAM เยอะเพิ่มค่านี้ได้
สูตรคำนวณ MaxRequestWorkers: ดู RAM ที่เหลือหลังหัก OS และ Service อื่น หารด้วย RAM ที่ Apache ใช้ต่อ Process ตรวจสอบด้วย ps aux | grep apache2 | awk '{sum+=$6} END {print sum/NR/1024 " MB"}'
Security Hardening สำหรับ Apache
การตั้งค่าความปลอดภัยเป็นสิ่งที่ต้องทำทันทีหลังติดตั้ง อย่ารอจนมีปัญหา
นอกจากนี้ควรตั้งค่า Firewall ด้วย UFW หรือ iptables ให้เปิดเฉพาะ Port 80, 443 และ SSH เท่านั้น:
Performance Tuning — เพิ่มความเร็ว Apache

นอกจาก MPM แล้ว ยังมีอีกหลายจุดที่ปรับแต่งได้:
เปิด Compression ด้วย mod_deflate
ตั้งค่า Cache ด้วย mod_expires
ปิด .htaccess Lookup (ถ้าไม่ใช้)
การตั้ง AllowOverride None จะทำให้ Apache ไม่ต้องค้นหาไฟล์ .htaccess ในทุก Directory ซึ่งช่วยเพิ่มความเร็วได้มาก โดยเฉพาะเว็บที่มีโครงสร้าง Directory ลึกหลายชั้น ย้าย Rules จาก .htaccess ไปใส่ใน VirtualHost Config แทน
เปิด HTTP/2
HTTP/2 รองรับ Multiplexing ทำให้โหลดหลาย Resource พร้อมกันได้เร็วขึ้นมาก แต่ต้องใช้คู่กับ mpm_event เท่านั้น ไม่ทำงานกับ mpm_prefork
Monitoring และ Log Analysis
การดูแล Apache ที่ดีต้องมีระบบ Monitoring ครบถ้วน:
เข้าดูได้ที่ http://localhost/server-status จะเห็นข้อมูล Connection ปัจจุบัน, Workers ที่ใช้งาน, Request per Second และอื่นๆ
สำหรับ Log Analysis แนะนำ GoAccess ซึ่งวิเคราะห์ Log แบบ Real-time:
เปรียบเทียบ Apache กับ Nginx
| คุณสมบัติ | Apache | Nginx |
|---|---|---|
| สถาปัตยกรรม | Process/Thread-based | Event-driven (Async) |
| .htaccess | รองรับ | ไม่รองรับ |
| Dynamic Content | ประมวลผลเองได้ (mod_php) | ต้อง Proxy ไป PHP-FPM |
| Static Content | เร็ว | เร็วกว่า |
| RAM Usage | สูงกว่า (prefork) | ต่ำกว่า |
| Config Flexibility | สูงมาก (.htaccess) | ต้องแก้ Config แล้ว Reload |
| Module System | โหลดแบบ Dynamic ได้ | ต้อง Compile ใหม่ (ส่วนใหญ่) |
ในทางปฏิบัติ หลายองค์กรใช้ Nginx เป็น Reverse Proxy ด้านหน้าแล้วส่ง Request ไปให้ Apache ที่อยู่ด้านหลัง ได้ข้อดีของทั้งสองฝั่งคือ Nginx จัดการ Static Files และ SSL Termination ส่วน Apache จัดการ Dynamic Content ผ่าน mod_php หรือ mod_rewrite
FAQ คำถามที่พบบ่อย
สรุป
Apache HTTP Server ยังคงเป็น Web Server ที่เชื่อถือได้และเหมาะกับงาน Production ในปี 2026 จุดเด่นคือ Module System ที่ยืดหยุ่น, รองรับ .htaccess, Community ขนาดใหญ่ และ Documentation ที่ครบถ้วน
สิ่งสำคัญที่ต้องจำ:
- ใช้ mpm_event แทน prefork สำหรับ Production ใหม่
- ติดตั้ง SSL ด้วย Let's Encrypt ฟรีไม่มีข้อแม้
- ตั้งค่า Security Headers ตั้งแต่วันแรก
- เปิด mod_deflate และ mod_expires เพื่อเพิ่มความเร็ว
- Monitor ด้วย mod_status และวิเคราะห์ Log เป็นประจำ
- ปิด .htaccess Lookup ถ้าไม่จำเป็นต้องใช้ จะเร็วขึ้นอย่างเห็นได้ชัด
หวังว่าบทความนี้จะช่วยให้ทุกคนติดตั้งและตั้งค่า Apache ได้อย่างมั่นใจครับ ถ้ามีคำถามเพิ่มเติมสอบถามได้เลย

IT Expert & Founder of SiamCafe.net Since 1997
ประสบการณ์ IT 30+ ปี, Forex 13+ ปี, XM VIP Partner
Apache Web Server
Apache Web Server เป็นส่วนสำคัญที่ช่วยเพิ่มประสิทธิภาพการทำงานของระบบ การตั้งค่าอย่างถูกต้องจะช่วยลดปัญหาและเพิ่มความเสถียรให้กับ Infrastructure โดยรวม
อ่านเพิ่มเติม: สอนเทรด Forex | XM Signal | IT Hardware | อาชีพ IT
