linux源码编译安装apache需先装依赖(apr/apr-util/pcre等)、再配路径、最后configure编译;缺依赖configure会报错,旧版apr需手动编译1.7.x,配置时须指定--with-apr等路径,启用--enable-so和--with-mpm=event,安装后需配置servername并启动验证。

Linux 中用源码包编译安装 Apache,核心是“先装依赖、再配路径、最后编译安装”,不是解压完就能直接 configure。Apache 2.4+ 强制依赖 APR、APR-Util 和 PCRE,缺一不可,否则 configure 阶段会报错退出。
装齐编译依赖和底层库
不装对依赖,configure 会直接失败。按系统类型执行对应命令:
-
Ubuntu/Debian 系统:运行
sudo apt update && sudo apt install build-essential libpcre3-dev libssl-dev libapr1-dev libaprutil1-dev zlib1g-dev perl -y -
RHEL/CentOS/Rocky/AlmaLinux:运行
sudo dnf groupinstall "Development Tools" && sudo dnf install pcre-devel openssl-devel apr-devel apr-util-devel expat-devel zlib-devel -y
注意:若系统自带 APR 版本太低(如 CentOS 7 的 apr-1.4.x),而你用的是 httpd-2.4.60+,仍可能提示 “apr version too old”。此时需手动编译新版 APR(推荐 1.7.x)和 APR-Util。
手动编译 APR 和 APR-Util(必要时)
如果系统包版本不满足要求,就自己装:
- 下载
apr-1.7.6.tar.gz和apr-util-1.6.3.tar.gz,解压后依次进入目录 - 编译 APR:
./configure --prefix=/usr/local/apr && make && sudo make install - 编译 APR-Util:
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && sudo make install - PCRE 可选但推荐,若未装:
./configure --prefix=/usr/local && make && sudo make install
完成后,建议把新库路径加入环境变量:export LD_LIBRARY_PATH=/usr/local/apr/lib:/usr/local/apr-util/lib:/usr/local/lib:$LD_LIBRARY_PATH
配置并编译 Apache 主程序
从官网下载稳定版源码包(如 httpd-2.4.61.tar.gz),解压后进入目录:
- 执行 configure 命令,关键参数示例:
./configure \<br> --prefix=/usr/local/apache \<br> --enable-so \<br> --enable-rewrite \<br> --enable-ssl \<br> --with-mpm=event \<br> --with-apr=/usr/local/apr \<br> --with-apr-util=/usr/local/apr-util \<br> --with-pcre=/usr/local
-
--enable-so必须开启,否则无法动态加载模块 -
--with-mpm=event可提升高并发性能;若要兼容 PHP-FPM,event 模式也适用 - 成功后会生成 Makefile,并提示 “config.status: creating include/ap_config_auto.h”
接着运行:make && sudo make install。安装完成后,可执行 /usr/local/apache/bin/httpd -v 验证版本。
启动服务与基础验证
安装完不等于能用,还需几步收尾:
- 编辑配置文件:
sudo vim /usr/local/apache/conf/httpd.conf - 取消注释或添加
ServerName localhost:80,避免启动警告 - 检查端口占用:
sudo ss -tlnp | grep :80 - 启动服务:
/usr/local/apache/bin/apachectl start - 浏览器访问
http://localhost或服务器 IP,看到 “It works!” 页面即成功
默认首页位于 /usr/local/apache/htdocs/index.html,可自行替换内容测试。











