编译安装httpd2.4(Apache)

1.httpd简介

httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。

通常,httpd不应该被直接调用,而应该在类Unix系统中由apachectl调用,在Windows中作为服务运行。

apache和httpd是一个,到apache2后就叫httpd了

2.源码编译安装三部曲:

安装步骤:

./configure
make
make install

环境说明:

系统平台IP服务
Redhat8.2192.168.8.132httpd2.4

3.获取httpd软件包

apache官方网站:https://www.apache.org/

  • 去官网获取软件包:
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 右键复制httpd安装包的链接
    在这里插入图片描述
  • 用wget命令加上复制的链接下载,后面的两个依赖包依然如此
[root@localhost ~]# cd /usr/src/
[root@localhost src]# wget https://downloads.apache.org/httpd/httpd-2.4.48.tar.gz
--2021-08-07 22:48:27--  https://downloads.apache.org/httpd/httpd-2.4.48.tar.gz
正在解析主机 downloads.apache.org (downloads.apache.org)... 135.181.209.10, 88.99.95.219, 135.181.214.104, ...
正在连接 downloads.apache.org (downloads.apache.org)|135.181.209.10|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:9418226 (9.0M) [application/x-gzip]
正在保存至: “httpd-2.4.48.tar.gz”

httpd-2.4.48.tar.gz         100%[===========================================>]   8.98M   293KB/s  用时 40s     

2021-08-07 22:49:08 (229 KB/s) - 已保存 “httpd-2.4.48.tar.gz” [9418226/9418226])

[root@localhost src]# 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@localhost src]# wget https://downloads.apache.org/apr/apr-1.7.0.tar.gz
--2021-08-07 22:55:34--  https://downloads.apache.org/apr/apr-1.7.0.tar.gz
正在解析主机 downloads.apache.org (downloads.apache.org)... 88.99.95.219, 135.181.214.104, 135.181.209.10, ...
正在连接 downloads.apache.org (downloads.apache.org)|88.99.95.219|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1093896 (1.0M) [application/x-gzip]
正在保存至: “apr-1.7.0.tar.gz”

apr-1.7.0.tar.gz            100%[===========================================>]   1.04M   209KB/s  用时 5.3s    

2021-08-07 22:55:40 (202 KB/s) - 已保存 “apr-1.7.0.tar.gz” [1093896/1093896])

[root@localhost src]# 

在这里插入图片描述

[root@localhost src]# wget https://downloads.apache.org/apr/apr-util-1.6.1.tar.gz
--2021-08-07 22:58:17--  https://downloads.apache.org/apr/apr-util-1.6.1.tar.gz
正在解析主机 downloads.apache.org (downloads.apache.org)... 135.181.209.10, 88.99.95.219, 135.181.214.104, ...
正在连接 downloads.apache.org (downloads.apache.org)|135.181.209.10|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:554301 (541K) [application/x-gzip]
正在保存至: “apr-util-1.6.1.tar.gz”

apr-util-1.6.1.tar.gz       100%[===========================================>] 541.31K   263KB/s  用时 2.1s    

2021-08-07 22:58:20 (263 KB/s) - 已保存 “apr-util-1.6.1.tar.gz” [554301/554301])

[root@localhost src]# 

4.安装开发环境

[root@localhost src]# dnf -y install groups mark install "Development Tools"


[root@localhost src]# dnf -y install openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ make

5.编译安装

注意:
编译安装的顺序必须遵守:

apr-1.7.0>apr-util-1.6.1>httpd-2.4.48
  • 解压刚刚下载的三个包
[root@localhost src]# ls
apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  debug  httpd-2.4.48.tar.gz  kernels
[root@localhost src]# tar xf apr-1.7.0.tar.gz 
[root@localhost src]# tar xf apr-util-1.6.1.tar.gz 
[root@localhost src]# tar xf httpd-2.4.48.tar.gz 
[root@localhost src]# ls
apr-1.7.0         apr-util-1.6.1         debug         httpd-2.4.48.tar.gz
apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.48  kernels
[root@localhost src]# 


  • 修改配置文件
[root@localhost src]# cd apr-1.7.0/
[root@localhost apr-1.7.0]# vim configure
31875       setopt NO_GLOB_SUBST
31876     fi
31877 
31878     cfgfile=${ofile}T
31879     trap "$RM \"$cfgfile\"; exit 1" 1 2 15
31880 #    $RM "$cfgfile"   //删除或者注释这一行
31881 
31882     cat <<_LT_EOF >> "$cfgfile"
31883 #! $SHELL
31884 # Generated automatically by $as_me ($PACKAGE) $VERSION
31885 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
31886 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
31887 
31888 # Provide generalized library-building support services.
31889 # Written by Gordon Matzigkeit, 1996
31890 
:set nu                                                                                       31880,10      98%

[root@localhost apr-1.7.0]# ./configure --prefix=/usr/local/apr

[root@localhost apr-1.7.0]# make && make install

[root@localhost apr-1.7.0]# cd ..
[root@localhost src]# cd apr-util-1.6.1/
[root@localhost apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

[root@localhost apr-util-1.6.1]# make && make install

[root@localhost apr-util-1.6.1]# cd ..
[root@localhost src]# cd httpd-2.4.48/
[root@localhost httpd-2.4.48]# ./configure --prefix=/usr/local/apache \
--enable-so \
--enable-ssl \
--enable-cgi \
--enable-rewrite \
--with-zlib \
--with-pcre \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util/ \
--enable-modules=most \
--enable-mpms-shared=all \
--with-mpm=prefork

[root@localhost httpd-2.4.48]# make && make install

  • 没有启动apache前先查看一下有没有80端口
[root@localhost ~]# 
[root@localhost ~]# ss -antl
State         Recv-Q         Send-Q                 Local Address:Port                 Peer Address:Port        
LISTEN        0              5                          127.0.0.1:631                       0.0.0.0:*           
LISTEN        0              128                        127.0.0.1:6010                      0.0.0.0:*           
LISTEN        0              128                          0.0.0.0:111                       0.0.0.0:*           
LISTEN        0              32                     192.168.122.1:53                        0.0.0.0:*           
LISTEN        0              128                          0.0.0.0:22                        0.0.0.0:*           
LISTEN        0              5                              [::1]:631                          [::]:*           
LISTEN        0              128                            [::1]:6010                         [::]:*           
LISTEN        0              128                             [::]:111                          [::]:*           
LISTEN        0              128                             [::]:22                           [::]:*   
  • 启动apache服务
[root@localhost ~]# /usr/local/httpd/bin/apachectl start
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
[root@localhost ~]# ss -antl   再次查看80端口
State         Recv-Q         Send-Q                 Local Address:Port                 Peer Address:Port        
LISTEN        0              5                          127.0.0.1:631                       0.0.0.0:*           
LISTEN        0              128                        127.0.0.1:6010                      0.0.0.0:*           
LISTEN        0              128                          0.0.0.0:111                       0.0.0.0:*           
LISTEN        0              32                     192.168.122.1:53                        0.0.0.0:*           
LISTEN        0              128                          0.0.0.0:22                        0.0.0.0:*           
LISTEN        0              5                              [::1]:631                          [::]:*           
LISTEN        0              128                            [::1]:6010                         [::]:*           
LISTEN        0              128                             [::]:111                          [::]:*           
LISTEN        0              128                                *:80                              *:*           
LISTEN        0              128                             [::]:22                           [::]:*           
[root@localhost ~]# 

6.验证效果

如果网页访问不了,请检查你的防火墙是否关闭,是否遵守了编译安装的顺序以及配置文件。

  • 利用命令行去访问网页
[root@localhost ~]# curl http://192.168.8.132
<html><body><h1>It works!</h1></body></html>
[root@localhost ~]# 

  • 浏览器访问
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彭宇栋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值