Apache คืออะไร?
หลังจากบทความที่แล้วที่เราทำความเข้าใจกับ LAMP กันไปแล้ว รวมถึง Linux ด้วยที่นี้ตัวต่อไปที่เราจะอธิบายคือ Apache ที่ทำหน้าที่เป็น Web Server กันครับ
Apache (อะแพช’ชี) หรือ Apache Webserver เป็นซอฟต์แวร์เซิร์ฟเวอร์ที่ใช้กันอย่างแพร่หลาย Apache พัฒนาและดูแลโดย Apache Software Foundation ซึ่งเป็นซอฟต์แวร์โอเพนซอร์สที่สามารถใช้งานได้ฟรี โดยมีการใช้โดยรวมประมาณ 67% ของเว็บเซิร์ฟเวอร์ทั้งหมดในโลก ซึ่งรวดเร็วเชื่อถือได้และปลอดภัย สามารถปรับแต่งได้เพื่อตอบสนองความต้องการของสภาพแวดล้อมที่หลากหลาย โดย สามารถเพิ่ม function พิเศษที่เป็น module pluginได้โดยง่าย
Web server คืออะไร?
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 ยอดนิยม
- Apache HTTP Server – Apache Software Foundation
- Internet Information Server (IIS) – Microsoft
- Sun Java System Web Server – Sun Microsystem
- Zeus Web Server – Zeus Technology
สรุปแล้ว Web server คือ เครื่องผู้ให้เก็บข้อมุลเว็บโดยใช้ HTTP (HyperText Transfer Protocol) ส่งสงผลเป็น html ให้ web Browser เพื่อให้ผู้ใช้สามารถเข้ามาดูข้อมูล ภาพ เสียง ผ่าน web browser
Author: Suphakit Annoppornchai
Credit: https://saixiii.com
[…] LAMP กันไปแล้ว รวมถึงเรื่อง Linux และ Apache ที่นี้ตัวต่อไปก็ คือ MySQL […]
[…] = Apache ใช้เป็น webserver สำหรับจัดเก็บ webpage […]
[…] server ซึ่งได้แก่ Apache, MySQL และ PhpMyAdmin หรือก็คือ LAMP […]
[…] Web servers อาทิเช่น Apache HTTP Server, Netscape Enterprise Server, Microsoft Internet Information Services (IIS), IBM HTTP Server for […]
[…] โดยไม่มีค่าใช้จ่าย ไม่ต้อง configure web server (apache) ให้ยุ่งยาก รวม ไม่ต้องยืนยันตัวตน […]
[…] 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 เพื่อกันการปลอมแปลงข้อมูลและยังมีการรับประกันว่าข้อมูลที่แลกเปลี่ยนจะไม่สามารถ แกะ และ ปลอมแปลงโดยผู้อื่นได้ เหมาะสำหรับธรุกิจ ที่มีข้อมูลเป็นความลับเช่นการเงิน ธนาคาร […]
[…] บน java application – JBoss Web Server – เป็น web server ซึ่งจะใช้ Apache และ Tomcat – JBoss Data Grid – in-memory distributed database. – JBoss Developer Studio […]
[…] foward HTTP request ได้แก่ Apache (ใช้ mod_proxy หรือTraffic Server), HAProxy, IIS configured as proxy, Nginx, Privoxy, […]
[…] web application ที่รันบน web server เช่น apache โดย Rail ทำงานเป็น server ในส่วนเบื้องหลัง […]
[…] Python เพื่อใช้ร่วมกัน webserver เช่น Apache และได้รับการยอมรับจาก community we pages […]
[…] ขั้นตอนการติดตั้ง Webserver Apache […]
[…] Software ที่ใช้ส่วนใหญ่คือ IIS, Apache […]
[…] install LAMP (Linux, Apache, MySQL, and PHP) […]