在完全隔离物理机上部署Apache静态网站,需离线初始化系统、最小化安装httpd、专用路径部署内容、SELinux加固、禁用非必要模块与信息泄露,并通过本地健康检查验证服务可用性。

在完全隔离的物理机上部署 Apache 静态网站生产服务,核心是“零外部依赖、最小攻击面、配置可审计、运行可验证”。不联网、不拉镜像、不走包管理器远程源——所有组件必须本地可控,权限与策略严格收敛。
一、系统初始化与离线环境准备
物理机首次启动后,禁用所有网络接口(包括 lo 以外的网卡),仅保留必要硬件驱动。挂载操作系统安装介质(如 CentOS/RHEL 8/9 光盘镜像)作为本地 yum 源:
- 创建挂载点:
mkdir -p /media/cdrom - 挂载镜像:
mount /dev/sr0 /media/cdrom(或对应光驱设备) - 配置离线 repo:
/etc/yum.repos.d/local.repo中写入baseurl=file:///media/cdrom,gpgcheck=0(若无 GPG 密钥则需提前导出并本地导入) - 清理缓存并生成元数据:
yum clean all && yum makecache
二、Apache 安装与最小化服务启用
只安装 httpd 主程序及必要依赖(禁用 mod_ssl、mod_php、httpd-tools 等非必需模块):
- 执行:
yum install -y httpd --setopt=skip_missing_names_on_install=False - 关闭所有非核心模块:编辑
/etc/httpd/conf.modules.d/下配置,注释掉loadmodule行(除mpm_event、authz_core、dir、mime等基础模块外) - 启动前验证:
httpd -t确保语法正确;httpd -M | grep -E "(mpm|authz|dir|mime)"确认仅加载必需模块 - 启用服务:
systemctl enable --now httpd,确认systemctl is-active httpd返回active
三、静态内容部署与安全加固
网站文件不放默认 /var/www/html,改用专用路径(如 /srv/www/prod),全程避免 root 写入:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 创建独立用户与目录:
useradd -r -s /sbin/nologin www-data,mkdir -p /srv/www/prod,chown www-data:www-data /srv/www/prod - 修改主配置:
DocumentRoot "/srv/www/prod",并同步更新块,仅保留Require all granted和AllowOverride None - SELinux 上下文强制重标:
semanage fcontext -a -t httpd_sys_content_t "/srv/www/prod(/.*)?",再执行restorecon -Rv /srv/www/prod - 禁用目录遍历与脚本执行:确保
Options未启用Indexes或ExecCGI,且.htaccess被全局忽略(AllowOverride None)
四、访问控制与可观测性闭环
物理隔离不等于放弃监控——日志与状态必须本地可查,且不依赖网络传输:
- 日志落盘到独立磁盘分区(如
/var/log/httpd-prod),设置 logrotate 本地归档,保留最近 30 天 - 开放防火墙仅限内网管理口(如有):
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.10.0/24" port port="80" protocol="tcp" accept',然后 reload - 禁用 ServerSignature 和 ServerTokens:
ServerTokens Prod、ServerSignature Off,减少信息泄露 - 添加健康检查端点:
Alias "/healthz" "/srv/www/prod/healthz.html",内容仅为OK,供本地巡检脚本调用
整个过程不引入任何外部 DNS、证书、CDN 或 API 调用。所有配置文件、HTML 资源、SELinux 策略均通过离线介质拷贝或人工校验录入。服务上线后,仅需本地终端执行 curl -s http://localhost/healthz 即可完成可用性确认。










