Linux编译安装Apache与PHP环境配置指南
本文详细记录了在Linux系统下,通过源码编译方式从零搭建Apache Web服务器与PHP运行环境的完整操作步骤,重点解析 ./configure 参数配置及 Apache 与 PHP 模块的集成方法。
环境准备:安装编译工具链
由于 Apache 和 PHP 采用源码编译安装方式,系统必须预先安装 C/C++ 编译环境。建议使用以下命令安装 build-essential 包:
$ sudo apt-get install build-essential
注意:如果后续发现缺少特定功能(如 GD 图像处理或数据库支持),通常需要在 configure 阶段提前指定依赖库路径。若不确定参数,可先参考 --help 或选择最简模式安装,后续再根据实际需求调整。
第一步:下载并解压软件包
以 Apache httpd-2.2.11.tar.gz 为例:
$ tar zxvf httpd-2.2.11.tar.gz
解压后在当前目录生成一个对应版本号的文件夹(如 httpd-2.2.11)。
第二步:查看编译选项
进入解压后的目录,查看可用的配置参数和模块:
$ cd httpd-2.2.11
$ ./configure --help
该步骤可帮助您了解当前版本支持的模块列表,是定制安装功能的基础。
第三步:编译配置
执行配置脚本,指定安装目录、启用动态共享对象(SO)模块支持以及 MPM 策略(prefork)。这是最关键的一步,决定了后续的功能表现:
$ ./configure --prefix=/usr/local/apache2 \
--enable-so \
--with-mpm=prefork
--prefix:指定 Apache 的最终安装路径。--enable-so:允许加载外部 .so 模块(如 PHP 模块必须依赖此项)。--with-mpm=prefork:设置预派生模型(M/P/R 等),此处为兼容性较好的 prefork 模式。
第四步:编译与安装
配置成功后,依次执行编译和安装命令:
$ make
$ sudo make install
安装完成后,目标目录将包含完整的 Apache 二进制文件和配置文件。
第五步:Apache 基础测试
- 配置 ServerName:编辑
conf/httpd.conf,找到#ServerName www.example.com:80,去掉注释并修改为本地地址:
ServerName 127.0.0.1:80。 - 启动服务:
其他指令包括$ sudo ./bin/apachectl -k start-k stop(停止)和-k restart(重启)。 - 验证:在浏览器访问
http://127.0.0.1/,若看到“It works!”页面则说明安装成功。
第六步:PHP 源码配置
1. 下载 php-5.2.8.tar.gz 并解压到相应目录。进入解压后的 php 根目录。 2. 执行配置命令。此处需指定 php.ini 的路径,并通过 --with-apxs2 指向刚才安装的 Apache apxs 程序,以实现二者集成:
$ ./configure --prefix=/home/user/webenv/php528 \
--enable-mbstring \
--with-apxs2=/usr/local/apache2/bin/apxs
关键点:--with-apxs2 的值必须是 Apache 安装目录下 bin/apxs 文件的绝对路径。此操作会自动将 PHP 编译为 libphp5.so 文件。
第七步:编译安装 PHP 并复制配置文件
同样执行 make 和 sudo make install。完成后,进入 srcdir(源码根目录),复制推荐配置文件至 PHP 安装目录的 lib 文件夹下:
$ sudo cp php.ini-recommended /home/user/webenv/php528/lib/php.ini
第八步:配置 Apache 加载 PHP 模块
当使用 --with-apxs2 安装时,部分版本的 Apache 会自动添加相关 LoadModule 指令。若未自动添加,需手动编辑 /usr/local/apache2/conf/httpd.conf,确保存在以下行:
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
保存后重新启动 Apache。
第九步:最终联调测试
在 Apache 的文档根目录(通常为 htdocs)下创建一个 PHP 测试文件 test.php:
<?php
phpinfo();
?>
通过浏览器访问 http://127.0.0.1/test.php。如果出现包含 PHP 版本、编译参数和环境变量的详细表格页面,即表示 Apache 已成功解析 PHP,开发环境搭建完毕。
常见问题排查
- 编译报错缺库:如在 configure 阶段提示找不到 mysql、gd 等库,需安装对应的 -dev 开发包(如
apt-get install libmysqlclient-dev)并重新指定--with...路径。 - 访问 PHP 显示源码而非解析:检查 httpd.conf 中是否正确引入了 php5_module,且 Restart 了 Apache。
- 权限问题:所有安装操作涉及的写入目录,务必正确使用 sudo 权限,或使用 chown 调整所有权。
以上就是在Linux环境下通过编译方式搭建Apache与PHP开发环境的详细内容,更多关于Linux系统运维、LAMP架构搭建的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













