源码编译安装Apache关键在于按序安装APR、APR-Util、PCRE,显式指定--with-apr等路径,并提前装好gcc、make、apr-devel等系统依赖,否则configure必报错。

源码编译安装 Apache 不是解压后直接 make 就完事,关键在于依赖顺序、路径显式指定和环境变量协同。2.4+ 版本强制要求 APR、APR-Util 和 PCRE 三个底层库,缺一就会在 ./configure 阶段报错退出。
提前装好系统级依赖
即使后续要手动编译 APR 等组件,也得先装好开发工具链和基础头文件,否则连 configure 都跑不起来:
- 编译工具:
yum install -y gcc make autoconf(CentOS/RHEL)或apt install -y build-essential(Ubuntu/Debian) - 运行时支持:
yum install -y expat-devel openssl-devel zlib-devel - APR 相关:
yum install -y apr apr-devel apr-util apr-util-devel(仅作兜底,若版本太低仍需源码覆盖) - PCRE 支持:
yum install -y pcre pcre-devel
按顺序编译安装 APR 及其配套库
Apache 2.4.60+ 常见报错如 apr version too old 或 cannot find apr-config,多因系统自带 APR 版本过旧(如 CentOS 7 默认 apr-1.4.x)。此时必须手动安装新版:
- 下载并安装 APR(推荐 1.7.x):
tar -zxf apr-1.7.6.tar.gz -C /usr/src/<br>cd /usr/src/apr-1.7.6<br>./configure --prefix=/usr/local/apr<br>make && make install
- 安装 APR-Util,必须指向刚装的 APR:
tar -zxf apr-util-1.6.3.tar.gz -C /usr/src/<br>cd /usr/src/apr-util-1.6.3<br>./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr<br>make && make install
- PCRE 可默认安装:
tar -zxf pcre-8.45.tar.gz -C /usr/src/<br>cd /usr/src/pcre-8.45<br>./configure --prefix=/usr/local<br>make && make install
配置 Apache 主程序并完成编译安装
进入 httpd 源码目录后,先设置运行时库路径,再执行 configure —— 路径参数一个都不能少:
- 临时生效库路径:
export LD_LIBRARY_PATH=/usr/local/apr/lib:/usr/local/apr-util/lib:/usr/local/lib:$LD_LIBRARY_PATH - 关键 configure 参数示例:
./configure \<br> --prefix=/usr/local/apache \<br> --enable-so \<br> --enable-ssl \<br> --enable-rewrite \<br> --with-apr=/usr/local/apr \<br> --with-apr-util=/usr/local/apr-util \<br> --with-pcre=/usr/local
- 编译与安装:
make && sudo make install
启动服务并验证基本运行
安装完成后不是立即能用,还需初始化配置和权限:
- 检查主配置文件:
/usr/local/apache/conf/httpd.conf,确认ServerName已设为有效主机名(如localhost或实际域名) - 启动服务:
/usr/local/apache/bin/apachectl start - 验证端口监听:
ss -tlnp | grep :80 - 测试响应:
curl -I http://127.0.0.1应返回HTTP/1.1 200 OK - 网页根目录默认在:
/usr/local/apache/htdocs/,可放一个index.html测试访问


















