apache webserver

Apache คืออะไร?

หลังจากบทความที่แล้วที่เราทำความเข้าใจกับ LAMP กันไปแล้ว รวมถึง Linux  ด้วยที่นี้ตัวต่อไปที่เราจะอธิบายคือ Apache ที่ทำหน้าที่เป็น Web Server กันครับ

webserver

Apache (อะแพช’ชี)  หรือ Apache Webserver เป็นซอฟต์แวร์เซิร์ฟเวอร์ที่ใช้กันอย่างแพร่หลาย Apache  พัฒนาและดูแลโดย  Apache Software Foundation ซึ่งเป็นซอฟต์แวร์โอเพนซอร์สที่สามารถใช้งานได้ฟรี โดยมีการใช้โดยรวมประมาณ 67% ของเว็บเซิร์ฟเวอร์ทั้งหมดในโลก ซึ่งรวดเร็วเชื่อถือได้และปลอดภัย สามารถปรับแต่งได้เพื่อตอบสนองความต้องการของสภาพแวดล้อมที่หลากหลาย โดย สามารถเพิ่ม function พิเศษที่เป็น module pluginได้โดยง่าย

Web server คืออะไร?

webserver

Webserver (เว็บเซิร์ฟ)  เป็นเหมือน host ร้านอาหาร เมื่อคุณมาถึงร้านอาหาร host จะทักทายคุณตรวจสอบข้อมูลการจองของคุณและพาคุณไปที่โต๊ะ โดยเว็บเซิร์ฟเวอร์จะทำหน้าที่ตรวจสอบหน้าเว็บที่คุณขอและทำการดึงข้อมูลออกมาให้ อย่างไรก็ตามเซิร์ฟเวอร์เว็บไม่ใช่ host อย่างเดียว แต่รวมถึงเซิร์ฟเวอร์ของคุณ เมื่อพบหน้าเว็บที่คุณขอแล้ว ระบบจะแสดงหน้าเว็บดังกล่าวด้วย เว็บเซิร์ฟเวอร์จะทำการสื่อสารกับเว็บไซต์ จัดการกับคำขอของคุณทำให้แน่ใจได้ว่า ระบบพร้อมให้บริการคุณ นอกจากนี้ยังคอยเป็น hosekeeping ทำความสะอาดหน่วยความจำแคชโมดูล และล้างข้อมูลเหล่านี้สำหรับคำขอใหม่ๆ

ดังนั้นโดยทั่วไปเว็บเซิร์ฟเวอร์คือซอฟต์แวร์ที่ได้รับคำขอให้เข้าใช้เว็บเพจ รวมถึงตรวจสอบความปลอดภัยบางอย่างในคำขอ HTTP ของคุณและนำคุณไปที่หน้าเว็บ หน้านี้อาจขอให้เซิร์ฟเวอร์เรียกใช้โมดูลพิเศษบางโมดูลในขณะที่สร้างเอกสารเพื่อให้บริการคุณ ทั้งนี้ขึ้นอยู่กับหน้าเว็บที่คุณ request ขึ้นมา จากนั้นจะแสดงข้อมูลนั้นให้กับคุณ

Install Apache

การติดตั้งก็ง่ายมากสำหรับ Linux Ubumtu

# Ubuntu
sudo apt install apache2

Configure Apache

path configure file อยู่ที่  “/etc/apache2/”

  • apache2.conf:  Configure file หลักของ Apache2  ประกอบไปด้วย Global configure ทั้งหมด

  • httpd.conf: อดีตเคยเป็น file main หลัก ซึ่งปัจจุบันถูกแทนที่ด้วย apache2.conf

  • conf-available: directory ของ available configuration files  ก่อนหน้านี้อยู่ที่ file  “/etc/apache2/conf.d”  ภายหลัง apache แยก split ออกมาเป็น file ของแต่ละ virtual server ภายใต้ “/etc/apache2/conf-available”

  • conf-enabled: จะทำ symlinks ไปที่ directory “/etc/apache2/conf-available” ซึ่งจะ active หลังจากมีการ run command ของ apache เพื่อน enable virtual host นั้น และจะ active หลังจาก restart apache

  • envvars: file ตัวแปร Apache2 environment

  • mods-available: หลักการเดียวกับ conf แต่ใช้สำหรับเก็บ module apache

  • mods-enabled: เช่นเดียวกันกับ  conf  ถ้ามีการ enable จะสร้าง symlink ขึ้นมา แสดงว่า apache มีการใช้งาน module นั้นๆ

  • ports.conf: Configure listen port ของ apache ซึ่งโดยปกติจะเป็น default port 80 แต่ถ้ามีการ enable https (ssl) ก็จะมี port 443 ด้วย

  • sites-available: ทำหน้าที่เก็บ configure Virtual host มั้งหมดของ apache ซึ่งหลักการทำงานเหมือนกับ conf และ mods directory

  • sites-enabled: หลักการทำงานเหมือนกับ conf และ mods directory  โดยสร้าง symlink ขึ้นมา แสดงว่า apache มีการใช้งาน Virtual host นั้นๆ

  • magic: instructions for determining MIME type based on the first few bytes of a file.

Top 4 Web Server ยอดนิยม

  1.  Apache HTTP Server –  Apache Software Foundation
  2. Internet Information Server (IIS) – Microsoft
  3. Sun Java System Web Server – Sun Microsystem
  4. Zeus Web Server –  Zeus Technology

apache logo        microsoft sun oracle

สรุปแล้ว Web server คือ เครื่องผู้ให้เก็บข้อมุลเว็บโดยใช้ HTTP (HyperText Transfer Protocol) ส่งสงผลเป็น html ให้ web Browser เพื่อให้ผู้ใช้สามารถเข้ามาดูข้อมูล ภาพ เสียง ผ่าน web browser

Author: Suphakit Annoppornchai

Credit: https://saixiii.com

13 Thoughts to “Apache Webserver คืออะไร โปรแกรมรองรับคำขอเพื่อเชื่อมต่อ application”

  1. […] LAMP กันไปแล้ว รวมถึงเรื่อง Linux และ Apache ที่นี้ตัวต่อไปก็ คือ MySQL […]

  2. […] = Apache ใช้เป็น webserver สำหรับจัดเก็บ webpage […]

  3. […] server ซึ่งได้แก่ Apache, MySQL และ PhpMyAdmin หรือก็คือ LAMP […]

  4. […] Web servers อาทิเช่น Apache HTTP Server, Netscape Enterprise Server, Microsoft Internet Information Services (IIS), IBM HTTP Server for […]

  5. […] โดยไม่มีค่าใช้จ่าย ไม่ต้อง configure web server (apache) ให้ยุ่งยาก รวม ไม่ต้องยืนยันตัวตน […]

  6. […] HTTPS หรือ  HTTP over Transport Layer Security (TLS) หรือ HTTP over SSL คือโปรโตรคอลที่สือสารด้วยการเข้ารหัสบนระบบ network โดยใช้กันแพร่หลายบน internet โดย HTTPS ประกอบไปด้วย HTTP + TLS ซึ่งจุดที่สำคัญเลยคือส่วน authentication ในการเข้าสู่ website เพื่อป้องกัน และสร้างความเป็นส่วนตัวในการแลกเปลี่ยนข้อมูล โดยตรงกับทาง web server ไม่ให้เกิดการโจรกรรมข้อมูลระหว่างกลางหรือ man-in-the-middle attacks มากกว่านั้นยังสามารถเข้ารหัสทั้ง 2 ทาง ระหว่าง client – server เพื่อกันการปลอมแปลงข้อมูลและยังมีการรับประกันว่าข้อมูลที่แลกเปลี่ยนจะไม่สามารถ แกะ และ ปลอมแปลงโดยผู้อื่นได้ เหมาะสำหรับธรุกิจ ที่มีข้อมูลเป็นความลับเช่นการเงิน ธนาคาร […]

  7. […] บน java application – JBoss Web Server – เป็น web server ซึ่งจะใช้ Apache และ Tomcat – JBoss Data Grid – in-memory distributed database. – JBoss Developer Studio […]

  8. […] foward HTTP request ได้แก่  Apache (ใช้ mod_proxy หรือTraffic Server), HAProxy, IIS configured as proxy, Nginx, Privoxy, […]

  9. […] web application ที่รันบน web server เช่น apache โดย Rail ทำงานเป็น server ในส่วนเบื้องหลัง […]

  10. […] Python เพื่อใช้ร่วมกัน webserver เช่น Apache และได้รับการยอมรับจาก community we pages […]

Leave a Reply