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#

相关推荐
爱尔兰极光1 分钟前
计算机网络--网络基础概述
网络·计算机网络
春日见8 分钟前
如何跑通,吃透一个开源项目?
linux·运维·开发语言·数码相机·matlab
Blueeyedboy52110 分钟前
服务器监控工具-netdata
运维·服务器
hkNaruto14 分钟前
【docker】docker exec -it 报错 open /dev/pts/0: operation not permitted
运维·docker·容器
TG:@yunlaoda360 云老大16 分钟前
华为云国际站代理商DSS的跨区域备份与恢复具体是如何实现的?
运维·服务器·华为云
Ccjf酷儿22 分钟前
计算机网络 (郑烇) 2 应用层
运维·服务器·计算机网络
Lvan的前端笔记23 分钟前
python:用 dotenv 管理环境变量&生产环境怎么管理环境变量
网络·数据库·python
寰天柚子26 分钟前
服务器性能优化实战:从资源瓶颈定位到极致调优(附租赁服务器适配指南)
运维·服务器·udp
卓豪终端管理28 分钟前
构建主动免疫:终端零日漏洞防护新体系
网络·安全·web安全
未来之窗软件服务32 分钟前
服务器运维(十九)web服务管理Nginx UI介绍——东方仙盟炼气期
运维·服务器·服务器运维·东方仙盟