Apache源码编译安装核心是配置(./configure)、编译(make)、安装(make install)三步,关键在于路径、依赖(如apr-devel、pcre-devel、openssl-devel)和模块选项(如--enable-so、--enable-ssl)必须匹配实际环境;装完需用httpd -t验证配置语法,再apachectl start启动。
apache 通过源码编译安装,核心是三步:配置(./configure)、编译(make)、安装(make install)。关键不在“会不会敲命令”,而在于路径、依赖和模块选项是否匹配实际需求。装完找不到配置文件、启不动服务、或缺 https/重写功能,多数是这三步中某处没对齐。
先装好底层依赖,别跳过这步
源码不能凭空编译,系统得有编译器和基础库。在 CentOS/RHEL 7+ 上,至少要装:
- gcc 和 make:C语言编译和构建工具
- apr、apr-util 及其 -devel 包:Apache 运行时核心,没它 configure 直接报错
- pcre-devel:URL 重写(mod_rewrite)必需
-
openssl-devel:启用 HTTPS 必须,否则
--enable-ssl会失败 - zlib-devel(可选但推荐):支持 gzip 压缩传输
执行命令一次到位:
yum install -y gcc make apr-devel apr-util-devel pcre-devel openssl-devel zlib-devel
如果 configure 报 “xxx not found”,就按提示补装对应 *-devel 包,比如缺 APR 就 yum install apr* -y。
下载解压后,用 ./configure 定义行为
进入解压后的源码目录(如 httpd-2.4.57),运行 configure 脚本。它不编译,只检查环境、生成 Makefile —— 相当于画施工图。常用参数组合示例:
./configure \
--prefix=/usr/local/apache2 \
--enable-so \
--enable-ssl \
--enable-rewrite \
--with-pcre \
--with-apr=/usr/bin/apr-1-config \
--with-apr-util=/usr/bin/apu-1-config
说明:
-
--prefix决定所有文件装在哪,建议不用默认的/usr/local,避免和其他软件冲突 -
--enable-so是前提,不开它就不能用LoadModule动态加载模块 -
--enable-ssl必须配合系统已装的 OpenSSL 开发包,否则 configure 会提示 “no openssl found” -
--with-pcre和--with-apr*显式指向系统已有库,避免重复编译或路径错乱
编译安装与启动验证
确认 configure 输出末尾是 config.status: creating Makefile 且无 error 后,执行:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
make && make install
完成后,主程序在 /usr/local/apache2/bin/httpd,主配置文件在 /usr/local/apache2/conf/httpd.conf。
启动前建议先检查配置语法:
/usr/local/apache2/bin/httpd -t
没问题再启动:
/usr/local/apache2/bin/apachectl start
验证是否监听 80 端口:ss -tlnp | grep :80;浏览器访问服务器 IP,看到“It works!”即成功。
后续维护要点
源码安装不像 yum/dnf 那样自动注册 systemd 服务,需手动处理:
- 每次改完
httpd.conf,要用apachectl restart生效,不是 reload(某些旧版 reload 不可靠) - 想开机自启,得自己写 systemd unit 文件,放在
/etc/systemd/system/httpd.service - 日志默认在
/usr/local/apache2/logs/,生产环境建议用--localstatedir=/var/log/httpd改到标准路径 - 升级版本时,不能直接覆盖安装,要重新 configure-make-install,再迁移配置和站点文件

















