เซิร์ฟเวอร์ Apache HTTP เป็นเว็บเซิร์ฟเวอร์ที่ใช้กันอย่างแพร่หลายมากที่สุดในโลก มีคุณสมบัติมากมาย รวมถึงโมดูลที่สามารถโหลดได้แบบไดนามิก และมีการบูรณาการกับซอฟต์แวร์ยอดนิยมอื่น ๆ อีกมากมาย ก่อนที่จะเริ่มดำเนินการติดตั้ง แนะนำให้ ตั้งค่า server เบื้องต้นด้วย CentOS 8 ก่อน
ขั้นตอนที่ 1 — ติดตั้ง Apache
Apache มีอยู่ในซอฟต์แวร์เริ่มต้นของ CentOS ซึ่งหมายความว่าเราสามารถติดตั้งด้วยตัวจัดการแพ็คเกจ dnf 1และเนื่องจากเราได้สร้างผู้ใช้ที่ไม่ใช่ root ที่เรากำหนดค่าไว้ใน ตั้งค่า server เบื้องต้นด้วย CentOS 8 เราจึงต้องใช้คำสั่ง sudo ในการติดตั้งแพ็คเกจ Apache ด้วยคำสั่งต่อไปนี้
sudo dnf install httpd
หลังจากยืนยันการติดตั้งแล้ว dnf จะติดตั้ง Apache และการขึ้นต่อกันที่จำเป็นทั้งหมด หากวางแผนที่จะกำหนดค่า Apache เพื่อแสดงเนื้อหาผ่าน HTTPS อย่าลืมว่าต้องเปิดพอร์ต 443 ด้วยคำสั่งต่อไปนี้
sudo firewall-cmd --permanent --add-service=https
จากนั้น ให้ reload ไฟร์วอลล์ใหม่เพื่อให้มีผลบังคับใช้
sudo firewall-cmd --reload
หลังจากโหลดไฟร์วอลล์ใหม่แล้ว ก็พร้อมที่จะเริ่มบริการและตรวจสอบเว็บเซิร์ฟเวอร์
ขั้นตอนที่ 2 — ตรวจสอบเว็บเซิร์ฟเวอร์
Apache จะไม่เริ่มทำงานบน CentOS โดยอัตโนมัติ เมื่อการติดตั้งเสร็จ ดังนั้นจะต้องเริ่มกระบวนการ Apache ด้วยตนเอง
sudo systemctl start httpd
ตรวจสอบว่าบริการกำลังทำงานด้วยคำสั่งต่อไปนี้
sudo systemctl status httpd
จะเห็นได้ว่าสถานะใช้งานอยู่ (Active) เมื่อบริการกำลังทำงานอยู่
คุณสามารถเข้าถึงหน้าเริ่มต้นของ Apache เพื่อยืนยันว่าซอฟต์แวร์ทำงานอย่างถูกต้องผ่านที่อยู่ IP หากไม่ทราบที่อยู่ IP ของเซิร์ฟเวอร์ คุณสามารถตรวจสอบได้จาก
hostname -I
คำสั่งนี้จะแสดงที่อยู่ทั้งหมดของโฮสต์ ดังนั้นจะได้ที่อยู่ IP บางส่วนกลับมาโดยคั่นด้วยช่องว่าง คุณสามารถลองแต่ละรายการในเว็บเบราว์เซอร์เพื่อดูว่าใช้งานได้หรือไม่ หรืออีกทางเลือกคือ คุณสามารถใช้ curl เพื่อขอ IP จาก icanhazip.com ซึ่งจะให้ที่อยู่ IPv4 สาธารณะของคุณเมื่ออ่านจากที่อื่นบนอินเทอร์เน็ต
curl -4 icanhazip.com
เมื่อคุณมีที่อยู่ IP ของเซิร์ฟเวอร์แล้ว ให้ป้อนลงในแถบที่อยู่ของเบราว์เซอร์
http://your_server_ip
จะได้ผลลัพธ์ดังต่อไปนี้
ขั้นตอนที่ 3 — การจัดการกระบวนการของ Apache
หลังจากติดตั้งและเรียกใช้บริการแล้ว ตอนนี้คุณสามารถใช้คำสั่ง systemctl อื่นเพื่อจัดการเซิร์ฟเวอร์ตามที่ต้องการได้
หากต้องการหยุดเว็บเซิร์ฟเวอร์ของคุณ ให้พิมพ์
sudo systemctl stop httpd
หากต้องการรีสตาร์ทเว็บเซิร์ฟเวอร์เมื่อหยุดทำงาน ให้พิมพ์
sudo systemctl start httpd
หากต้องการหยุดแล้วเริ่มบริการอีกครั้ง ให้พิมพ์
sudo systemctl restart httpd
หากต้องการเปลี่ยนแปลงการกำหนดค่า Apache เมื่อมีการโหลดซ้ำได้โดยไม่ทำให้การเชื่อมต่อหลุดให้ใช้คำสั่งนี้
sudo systemctl reload httpd
ตามค่าเริ่มต้น Apache ได้รับการกำหนดค่าให้เริ่มทำงานโดยอัตโนมัติเมื่อเซิร์ฟเวอร์ถูก boots หากไม่ต้องการ ให้ปิดการใช้งานการทำงานนี้โดยการพิมพ์
sudo systemctl disable httpd
หากต้องการเปิดใช้งานบริการอีกครั้งเพื่อเริ่มต้นระบบ boots ให้พิมพ์
sudo systemctl enable httpd
ปกติแล้วการกำหนดค่าเริ่มต้นสำหรับ Apache จะอนุญาตให้เซิร์ฟเวอร์สามารถสร้างเว็บไซต์เดียวได้ หากต้องการที่จะใช้งานหลายโดเมนบนเซิร์ฟเวอร์ จะต้องกำหนดค่าโฮสต์เสมือนบนเว็บเซิร์ฟเวอร์ Apache ก่อน