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#

相关推荐
霍格沃兹软件测试开发14 分钟前
Playwright MCP浏览器自动化指南:让AI精准理解你的命令
运维·人工智能·自动化
郝学胜-神的一滴1 小时前
Linux命名管道:创建与原理详解
linux·运维·服务器·开发语言·c++·程序人生·个人开发
wanhengidc1 小时前
云手机性能如何?
运维·服务器·科技·智能手机·云计算
阿珊和她的猫1 小时前
HTTP 状态码 301 和 302 的区别与使用场景
网络·网络协议·http
wan_da_ren2 小时前
Docker安装Elasticsearch9.2.1与Kibana9.2.1 保姆教程(带验证版)
运维·docker·jenkins
深度学习04072 小时前
【网络实验】-VLAN工作原理
网络
Eric.Lee20213 小时前
ubuntu 安装 Miniconda
linux·运维·python·ubuntu·miniconda
会飞的土拨鼠呀3 小时前
通过Linux进程id找到程序路径
linux·服务器·网络
杭州泽沃电子科技有限公司3 小时前
在线监测:为医药精细化工奠定安全、合规与质量基石
运维·人工智能·物联网·安全·智能监测
GIS数据转换器3 小时前
GIS+大模型助力安全风险精细化管理
大数据·网络·人工智能·安全·无人机