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#

相关推荐
非典型代码2 小时前
Jenkins发不出邮件
运维·servlet·jenkins
b***25113 小时前
储能电池组的生产流程|深圳比斯特自动化
运维·自动化
实心儿儿3 小时前
Linux系统 —— 基础命令1
linux·运维·服务器
FreeBuf_3 小时前
SesameOp 恶意软件滥用 OpenAI Assistants API 实现与 C2 服务器的隐蔽通信
运维·服务器·网络
噜啦噜啦嘞好4 小时前
Linux进程信号
linux·运维·服务器
tt5555555555554 小时前
Transformer原理与过程详解
网络·深度学习·transformer
REDcker4 小时前
Linux 进程资源占用分析指南
linux·运维·chrome
samroom4 小时前
Linux系统管理与常用命令详解
linux·运维·服务器
PKNLP4 小时前
07.docker介绍与常用命令
运维·docker·容器