ติดตั้ง Apache Web Server CentOS 7

ในบทนี้เราจะเรียนรู้เล็กน้อยเกี่ยวกับความเป็นมาของ Apache HTTP Server จากนั้นติดตั้งเวอร์ชันเสถียรล่าสุดบน CentOS Linux 7

ประวัติโดยย่อเกี่ยวกับ Apache WebServer

Apache เป็นเว็บเซิร์ฟเวอร์ที่มีมาอย่างยาวนาน ในความเป็นจริงเกือบจะตราบเท่าที่การมีอยู่ของ http!

Apache เริ่มต้นจากโครงการขนาดเล็กที่ National Center for Supercomputing Applications หรือที่เรียกว่า NCSA ในช่วงกลางทศวรรษที่ 90 "httpd" ตามที่เรียกกันว่าเป็นแพลตฟอร์มเว็บเซิร์ฟเวอร์ที่ได้รับความนิยมมากที่สุดบนอินเทอร์เน็ตโดยมีส่วนแบ่งการตลาดประมาณ 90% หรือมากกว่านั้น

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

บางครั้งในช่วงปลายทศวรรษที่ 90 ผู้พัฒนาอาวุโสและผู้จัดการโครงการของ httpd ได้ออกจาก NCSA เพื่อทำสิ่งอื่น ๆ สิ่งนี้ทำให้ web-daemon ที่ได้รับความนิยมสูงสุดอยู่ในสภาพชะงักงัน

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

Little Known Historical Fact- อาปาเช่ไม่ได้รับการตั้งชื่อตามชนเผ่านักรบพื้นเมืองอเมริกัน ในความเป็นจริงมันได้รับการประกาศเกียรติคุณและตั้งชื่อด้วยการบิด: สร้างขึ้นจากการแก้ไข (หรือแพทช์) จากนักวิทยาศาสตร์คอมพิวเตอร์ที่มีความสามารถหลายคน:patchy หรือ Apache.

ติดตั้งเวอร์ชันเสถียรปัจจุบันบน CentOS Linux 7

Step 1 - ติดตั้ง httpd ผ่าน yum

yum -y install httpd

ณ จุดนี้ Apache HTTP Server จะติดตั้งผ่าน yum

Step 2 - แก้ไขไฟล์ httpd.conf เฉพาะสำหรับความต้องการ httpd ของคุณ

ด้วยการเริ่มต้น Apache ติดตั้งไฟล์การกำหนดค่าสำหรับ Apache เป็นชื่อhttpd.confและตั้งอยู่ใน/ etc / httpd / ดังนั้นขอเปิดในกลุ่ม

httpd.confสองสามบรรทัดแรกเปิดในกลุ่ม -

# 
# This is the main Apache HTTP server configuration file.  It contains the 
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information. 
# In particular, see  
# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html> 
# for a discussion of each configuration directive.

เราจะทำการเปลี่ยนแปลงต่อไปนี้เพื่อให้การติดตั้ง CentOS ของเราให้บริการคำขอ http จาก http พอร์ต 80

โฮสต์การรับฟังและพอร์ต

# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80

จากที่นี่เราเปลี่ยน Apache เพื่อฟังพอร์ตหรือที่อยู่ IP บางพอร์ต ตัวอย่างเช่นหากเราต้องการเรียกใช้บริการ httpd บนพอร์ตอื่นเช่น 8080 หรือหากเรากำหนดค่าเว็บเซิร์ฟเวอร์ของเราด้วยอินเทอร์เฟซหลายรายการพร้อมที่อยู่ IP แยกกัน

ฟัง

ป้องกันไม่ให้ Apache เชื่อมต่อกับ daemon การฟังทุกตัวในทุก IP Address สิ่งนี้มีประโยชน์ในการหยุดระบุการรับส่งข้อมูล IPv6 หรือ IPv4 เท่านั้น หรือแม้กระทั่งการเชื่อมโยงกับอินเทอร์เฟซเครือข่ายทั้งหมดบนโฮสต์แบบ multi-homed

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
Listen 10.0.0.25:80
#Listen 80

DocumentRoot

"document root" เป็นไดเร็กทอรีเริ่มต้นที่ Apache จะค้นหาไฟล์ดัชนีเพื่อใช้สำหรับการร้องขอเมื่อไปที่เซิร์ฟเวอร์ของคุณ: http://www.yoursite.com/ จะดึงและให้บริการไฟล์ดัชนีจากรูทเอกสารของคุณ

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/html"

Step 3 - เริ่มและเปิดใช้งานบริการ httpd

[root@centos rdc]# systemctl start httpd && systemctl reload httpd 
[root@centos rdc]#

Step 4 - กำหนดค่าไฟร์วอลล์เพื่ออนุญาตการเข้าถึงพอร์ต 80 คำขอ

[root@centos]# firewall-cmd --add-service=http --permanent