Build apache web server 2.4.46 ไว้ใช้เอง

Prawit Tangmanopeanchai
3 min readJul 10, 2021

--

10 June 2021

เนื่องจากใช้ os เป็น redhat ตอนแรกก็เลยไปใช้วิธีตาม link นี้

แต่ของ redhat เองมี apache http server ถึงแค่ version 2.4.37 เอง

แต่อยากได้ version 2.4.46 (ใหม่สุด ณ เวลานี้คือ 2.4.48) ก็เลยต้องไป download มาจาก apache project เอง

แต่เนื่องจาก file ที่ให้ download มายังไม่พร้อมให้ใช้งาน ต้องนำมา build ต่ออีกทีนึง

เรามาดูวิธีการ build apache http server 2.4.46 กันครับ

ก่อนอื่นก็ไป download file มาก่อน โดยให้ไป click ขวาที่ file “httpd-2.4.46.tar.gz” แล้วเลือก “Copy link address”

เราจะลง apache http server ไว้ที่ /opt/apache ดังนั้นเราจะทำดังนี้

ย้าย directory ไปที่ /opt

cd /opt

แล้วทำการ download file จาก link ที่เรา copy มา

wget https://downloads.apache.org/httpd/httpd-2.4.46.tar.gz

จากนั้นให้ทำการแตก file ออกมา

tar xvzf downloads.apache.org/httpd/httpd-2.4.46.tar.gz

จากนั้นเราจะได้ directory “httpd-2.4.46” เข้ามาภายใน /opt

ย้ำอีกทีครับ เราจะ build apache http server ไว้ที่ “/opt/apache”

จากนั้นให้ทำการย้าย directory ไปที่ /opt/httpd-2.4.46

cd /opt/httpd-2.4.46

จากนั้นก็เริ่มขั้นตอนการ build โดยใช้คำสั่งตามลำดับดังนี้

./configure — prefix=/opt/apache
make
make install

หลังเรา config make และ install เสร็จแล้ว เราก็จะได้ file ต่าง ๆ ที่พร้อมจะนำมาใช้งานอยู่ภายใต้ /opt/apache แล้วครับ

ลองมาตรวจสอบดูว่าที่เราลงไปนั้นถูกต้อง และใช้งานได้หรือไม่

ให้เปลี่ยน directory ไปที่ /opt/apache/bin แล้วใช้คำสั่ง “httpd -v” เพื่อตรวจสอบ version

จะเห็นว่าเราได้ version 2.4.46 ตรงกับที่เราต้องการ

ทำการ start apache http server โดยใช้คำสั่ง “./apachectl start” (ถ้าจะ stop ก็ ./apachectl stop)

./apachectl start

จากนั้นลองใช้ curl ดูค่า HEADER

หรือลองใช้ telnet ทดสอบโดยให้ telnet ไปที่เครื่อง apache http server ที่ port 80

telnet <ip ของเครื่อง apache server> 80

แล้วให้กดปุ่ม enter ไปเรื่อย ๆ จะได้หน้าจอแบบนี้ออกมา

ก็จะเห็นว่า apache http server ของเราเป็น version 2.4.46 ถูกต้องแล้วครับ 😄

***หมายเหตุ : ตอนที่ผมทำการ build จะพบ error 2 ครั้ง เนื่องจากไม่มีโปรแกรม gcc และ pcre ตามภาพด้านล่าง หลังจากติดตั้งส่วนที่ขาดไปเรียบร้อยแล้วก็สามารถ build ต่อไปได้อย่างเรียบร้อย

อ้างอิง

--

--

Prawit Tangmanopeanchai
Prawit Tangmanopeanchai

Written by Prawit Tangmanopeanchai

Head of Cloud Implementation Unit at gosoft (Thailand)

No responses yet