温馨提示×

ubuntu apache如何换版本

小樊
42
2026-10-02 06:03:43
栏目: 智能运维

在 Ubuntu 上“换 Apache 版本”通常有两种情况:

  1. 在同一个大版本内重装/切换(如 2.4.x 小版本)
  2. 跨大版本切换(如 Apache 2.2 ↔ 2.4,或 Ubuntu 自带版本不满足需求)

下面按常见场景说明。


一、查看当前 Apache 版本

apache2 -v
# 或
apache2ctl -v

二、使用 Ubuntu 官方源切换(最常见)

1️⃣ 卸载当前 Apache(可选)

sudo systemctl stop apache2
sudo apt remove apache2 apache2-bin apache2-utils
sudo apt autoremove

⚠️ 注意:会删除配置文件(如 /etc/apache2)


2️⃣ 安装指定版本(Ubuntu 源中有的)

查看可用版本:

apt-cache policy apache2

安装:

sudo apt update
sudo apt install apache2=2.4.41-4ubuntu3.1

(版本号以你系统为准)


3️⃣ 锁定版本(防止自动升级)

sudo apt-mark hold apache2

取消锁定:

sudo apt-mark unhold apache2

三、跨大版本(如 Apache 2.2 / 2.4 自定义)

Ubuntu 官方源通常只提供一个大版本,所以要换大版本一般有两种方式:

方式 A:换 Ubuntu 版本(最稳妥)

  • Ubuntu 18.04 → Apache 2.4
  • 老系统需要 2.2 → 不建议,已 EOL

方式 B:编译安装(不推荐生产环境)

sudo apt install build-essential libpcre3-dev libssl-dev
wget https://archive.apache.org/dist/httpd/httpd-2.4.57.tar.gz
tar -xzf httpd-2.4.57.tar.gz
cd httpd-2.4.57
./configure --prefix=/opt/apache2
make
sudo make install

然后手动管理 systemd 服务。


四、多版本共存(高级)

可以用:

  • 不同端口(80 / 8080)
  • 不同 prefix 编译安装
  • 或用 Docker 隔离版本(✅ 推荐)
docker run -d -p 8080:80 httpd:2.2

五、常见坑提醒

✅ 配置不兼容

  • Apache 2.2 → 2.4 配置差异很大(Order / Allow 改为 Require)

✅ PHP 模块

  • libapache2-mod-php 版本要匹配

✅ 虚拟主机路径

  • /etc/apache2/sites-enabled

六、推荐做法(总结)

需求 建议
小版本切换 apt 安装指定版本
大版本切换 换系统 / Docker
测试多版本 Docker
生产环境 用系统源 + 版本锁定

如果你能告诉我:

  • Ubuntu 版本
  • 当前 Apache 版本
  • 想换到哪个版本

我可以给你精确命令。

0 踩