离线安装apache需先在同版本联网机用yumdownloader --resolve下载httpd及全部依赖rpm,再拷贝至离线机执行sudo rpm -uvh *.rpm安装;若批量部署,可建本地createrepo仓库并配置file://源。
离线安装 apache(httpd)时,直接用 yum install httpd 会失败,因为系统无法联网获取依赖。必须提前在有网环境下载所有 rpm 包及其完整依赖链,再拷贝到目标机器安装。
明确目标系统和 httpd 版本
先确认离线机的发行版和版本号,例如:
-
CentOS 7.9 x86_64 → 对应仓库路径:
http://mirror.centos.org/centos/7/os/x86_64/Packages/ - RHEL 7.9 → 需 Red Hat 订阅或使用 CentOS 兼容包
- CentOS 8 / Rocky Linux 8 → 使用 dnf + AppStream/BaseOS 仓库
再确定要装的 httpd 版本,比如 httpd-2.4.6-95.el7.centos.x86_64.rpm。版本必须与系统完全匹配,否则依赖冲突。
用 yumdownloader 批量下载全部依赖
在一台**同版本、已联网的干净系统**上操作(推荐用相同 OS 的虚拟机):
- 安装工具:
yum install -y yum-utils - 创建空目录:
mkdir /tmp/httpd-offline && cd /tmp/httpd-offline - 下载主包及所有依赖(含间接依赖):
yumdownloader --resolve --destdir . httpd - 验证是否齐全:
rpm -qpR httpd-*.rpm | grep "not found"—— 若无输出,说明依赖已全
常见必需 RPM 包包括:httpd、httpd-tools、apr、apr-util、pcre、expat、mailcap、systemd(基础系统已有可不重复下)。
导入并安装到离线机
将整个目录(如 /tmp/httpd-offline/)打包传到离线机(可用 U 盘、scp、共享文件夹等):
- 解压后进入目录:
cd /path/to/httpd-offline - 一次性安装所有 RPM(自动处理依赖顺序):
sudo rpm -Uvh *.rpm - 若提示缺失 key,先导入 GPG 公钥:
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
安装完成后,运行 httpd -v 和 sudo systemctl status httpd 确认服务就绪。
备用方案:用 createrepo 搭本地仓库(适合多台离线机)
如果要批量部署多台同类服务器,更推荐建本地 YUM 仓库:
- 在有网机运行:
createrepo .(当前目录含所有 RPM) - 把整个目录同步到离线机(如
/mnt/local-repo) - 配置 repo 文件:
/etc/yum.repos.d/local.repo写入:
[local-httpd]
name=Local HTTPD Repo
baseurl=file:///mnt/local-repo
enabled=1
gpgcheck=0 - 执行:
yum clean all && yum install httpd











