Apache HTTP Server 2.4.65 详细安装教程(基于 CentOS 7)

Apache HTTP Server 2.4.65 详细安装教程(基于 CentOS 7)

一、安装说明

本文将详细介绍在 CentOS 7 系统中,通过源码编译的方式安装 Apache HTTP Server(httpd)2.4.65 版本的步骤。源码编译安装可自定义功能模块,适合需要灵活配置的生产环境。

二、准备工作

1. 环境要求

  • 操作系统:CentOS 7(最小化安装即可)
  • 权限:需使用root用户或具有sudo权限的用户
  • 网络:服务器需联网(用于下载依赖和安装包)

三、详细安装步骤

步骤 1:更换国内 yum 源(提高下载速度)

CentOS 默认源在国内访问较慢,先替换为阿里云镜像源:

bash

复制代码
# 备份并替换CentOS基础源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 替换EPEL扩展源(提供更多软件包)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

# 清理缓存并生成新缓存
yum clean all
yum makecache

步骤 2:安装编译依赖工具

Apache 源码编译需要依赖以下工具和库,执行命令安装:

bash

复制代码
yum install -y gcc make pcre-devel openssl-devel expat-devel apr*
  • gcc:C 语言编译器(源码编译必备)
  • make:编译工具(用于执行 Makefile)
  • pcre-devel:支持 URL 重写功能
  • openssl-devel:支持 HTTPS(SSL/TLS)功能
  • expat-devel:支持 XML 解析
  • apr*:Apache 可移植运行时库(核心依赖)

步骤 3:创建安装目录并下载源码包

  1. 统一管理安装路径,在/usr/local/下创建apache目录:

    bash

    复制代码
    cd /usr/local/
    mkdir -p apache  # -p确保目录不存在时创建,存在时不报错
    cd apache/
  2. 下载 Apache 2.4.65 源码包(官方镜像):

    bash

    复制代码
    wget https://dlcdn.apache.org/httpd/httpd-2.4.65.tar.gz
    • 若下载缓慢,可手动下载后通过scp上传至服务器的/usr/local/apache/目录

步骤 4:解压并编译安装

  1. 解压源码包:

    bash

    复制代码
    tar -zxvf httpd-2.4.65.tar.gz
    cd httpd-2.4.65/  # 进入解压后的源码目录
  2. 配置编译参数(自定义功能模块):

    bash

    复制代码
    ./configure --prefix=/usr/local/apache --enable-so --enable-ssl --with-ssl --enable-mods-shared=all --enable-headers --enable-proxy --enable-rewrite
    
    ./configure \                 #源码前配置安装参数
    
    --prefix=/usr/local/apache \  # 安装目录(与步骤3的目录一致)
    
    --enable-so \                 # 启用动态加载模块功能
    
    --enable-ssl \                # 启用SSL支持(HTTPS)
    
    --with-ssl \                  # 指定SSL库路径
    
    --enable-mods-shared=all \    # 编译所有共享模块
    
    --enable-headers \            # 启用HTTP头控制模块
    
    --enable-proxy \              # 启用代理模块
    
    --enable-rewrite              # 启用URL重写模块(用于伪静态等)
    • 配置过程中若提示缺少依赖,需根据报错信息补充安装对应工具(如yum install -y [缺失的依赖]
  3. 编译并安装:

    bash

    复制代码
    make && make install 2>> /root/apache_install.log
    • make:将源码编译为可执行文件
    • make install:将编译好的文件复制到--prefix指定的目录
    • 2>> /root/apache_install.log:将错误信息输出到日志文件(方便排查问题)

步骤 5:清理安装包(可选)

安装完成后,可删除源码包节省空间:

bash

复制代码
cd /usr/local/apache/  # 回到安装目录
rm -rf httpd-2.4.65.tar.gz  # 删除压缩包
rm -rf httpd-2.4.65/        # (可选)删除源码目录

步骤 6:配置 Apache 服务

  1. 启用默认监听端口(80 端口):Apache 默认配置中Listen 80可能被注释,需解除注释:

    bash

    复制代码
    sed -i 's/^#Listen 80/Listen 80/' /usr/local/apache/conf/httpd.conf
    • 若需修改端口(如 8080),可直接改为Listen 8080
  2. (可选)配置服务器名称:编辑配置文件/usr/local/apache/conf/httpd.conf,修改ServerName

    bash

    复制代码
    vi /usr/local/apache/conf/httpd.conf

    找到#ServerName www.example.com:80,修改为:

    plaintext

    复制代码
    ServerName localhost:80  # 或填写服务器IP:端口

步骤 7:启动 Apache 服务

bash

复制代码
/usr/local/apache/bin/apachectl start
  • 验证服务是否启动成功: bash

    复制代码
    # 查看进程
    ps -ef | grep httpd
    
    # 查看端口监听(默认80端口)
    netstat -tpln | grep 80  # 若未安装netstat,先执行yum install -y net-tools

步骤 8:设置防火墙(可选)

若需要从外部访问 Apache 服务,需开放 80 端口(或自定义端口):

bash

复制代码
# 开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent

# 重新加载防火墙规则
firewall-cmd --reload

四、验证安装

在本地电脑的浏览器中访问服务器 IP(如http://192.168.1.100),若看到如下页面,说明安装成功:

plaintext

复制代码
It works!

五、常用命令

  • 启动服务:/usr/local/apache/bin/apachectl start
  • 停止服务:/usr/local/apache/bin/apachectl stop
  • 重启服务:/usr/local/apache/bin/apachectl restart
  • 查看状态:/usr/local/apache/bin/apachectl status
  • 配置文件检查(修改配置后建议执行):/usr/local/apache/bin/apachectl -t

六、总结

通过以上步骤,已成功在 CentOS 7 中源码安装 Apache 2.4.65。如需进一步配置虚拟主机、HTTPS 证书等功能,可参考 Apache 官方文档或相关教程。

我这边还上传了一件部署的脚本,下载就可以使用了

https://www.123865.com/s/GCKAjv-6ddBv?pwd=k9fG#

相关推荐
Avan_菜菜13 小时前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB2 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode3 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220704 天前
如何搭建本地yum源(上)
运维
大树887 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠7 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质7 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工7 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
网络研究院7 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智7 天前
ARP代理--工作原理
运维·网络·arp·arp代理