CentOS 7 安装 httpd-2.4.1.tar.gz 详细步骤(源码编译、配置、启动)

一、准备编译环境

Apache 2.4.1 是从源码编译安装的,先把编译器和基础工具装好:

复制代码
sudo yum groupinstall -y "Development Tools"
sudo yum install -y gcc make autoconf apr-devel apr-util-devel pcre-devel openssl-devel

二、下载并解压

安装包下载:https://pan.quark.cn/s/14aa7efc2a7b

复制代码
tar -zxvf httpd-2.4.1.tar.gz
cd httpd-2.4.1

三、配置编译参数

进入目录后先配置,指定安装位置和常用模块:

复制代码
./configure \
--prefix=/usr/local/apache2 \
--enable-so \
--enable-rewrite \
--enable-ssl \
--with-mpm=prefork
  • --prefix:安装目录

  • --enable-so:支持动态加载模块

  • --enable-rewrite:开启重写规则

  • --enable-ssl:支持 HTTPS

  • --with-mpm=prefork:使用 prefork 模式(老版本常用)

如果缺依赖,会明确提示缺什么包,按提示装即可。

四、编译并安装

配置没问题就开始编译:

复制代码
make
sudo make install

没有报错就说明安装完成。

五、启动 Apache

进入安装目录的 bin 目录启动:

复制代码
cd /usr/local/apache2/bin
sudo ./apachectl start

六、验证是否成功

打开浏览器访问:

复制代码
http://服务器IP

看到 "It works!" 就是成功了。

也可以在服务器上用 curl 测试:

复制代码
curl http://localhost

七、常用命令

  • 启动:

    sudo /usr/local/apache2/bin/apachectl start

  • 停止:

    sudo /usr/local/apache2/bin/apachectl stop

  • 重启:

    sudo /usr/local/apache2/bin/apachectl restart

  • 检查配置:

    sudo /usr/local/apache2/bin/apachectl configtest

八、常见问题

  1. 80 端口被占用

    修改 conf/httpd.conf里的:

    复制代码
    Listen 8080

    然后重启。

  2. **启动时报 "Address already in use"**​

    用:

    复制代码
    netstat -tlnp | grep 80

    找到占用进程并停掉。

  3. 远程访问不了

    放行防火墙端口:

    复制代码
    sudo firewall-cmd --add-port=80/tcp --permanent
    sudo firewall-cmd --reload

这样就完成了 Apache httpd-2.4.1 的源码安装,适合老项目或需要特定版本的环境。

相关推荐
Avan_菜菜19 小时前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
Sokach10151 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
SelectDB2 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
AlfredZhao2 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3103 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode3 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220704 天前
如何搭建本地yum源(上)
运维
A小辣椒5 天前
TShark:Wireshark CLI 功能
linux
A小辣椒5 天前
TShark:基础知识
linux
AlfredZhao5 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci