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:创建安装目录并下载源码包
-
统一管理安装路径,在
/usr/local/下创建apache目录:bash
cd /usr/local/ mkdir -p apache # -p确保目录不存在时创建,存在时不报错 cd apache/ -
下载 Apache 2.4.65 源码包(官方镜像):
bash
wget https://dlcdn.apache.org/httpd/httpd-2.4.65.tar.gz- 若下载缓慢,可手动下载后通过
scp上传至服务器的/usr/local/apache/目录
- 若下载缓慢,可手动下载后通过
步骤 4:解压并编译安装
-
解压源码包:
bash
tar -zxvf httpd-2.4.65.tar.gz cd httpd-2.4.65/ # 进入解压后的源码目录 -
配置编译参数(自定义功能模块):
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 [缺失的依赖])
- 配置过程中若提示缺少依赖,需根据报错信息补充安装对应工具(如
-
编译并安装:
bash
make && make install 2>> /root/apache_install.logmake:将源码编译为可执行文件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 服务
-
启用默认监听端口(80 端口):Apache 默认配置中
Listen 80可能被注释,需解除注释:bash
sed -i 's/^#Listen 80/Listen 80/' /usr/local/apache/conf/httpd.conf- 若需修改端口(如 8080),可直接改为
Listen 8080
- 若需修改端口(如 8080),可直接改为
-
(可选)配置服务器名称:编辑配置文件
/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 官方文档或相关教程。
我这边还上传了一件部署的脚本,下载就可以使用了