2013-04-11 56 views
1

在我的Ubuntu系统中,我在/ opt/lampp中安装了LAMPP,可以正常工作。我已经安装了乘客。现在我想为旅客安装apache2模块:使用LAMPP安装Passenger Apache模块的问题(XAMPP for Linux)

sudo passenger-install-apache2-module 

它找不到apache2或apache开发头文件。我以root身份安装了缺少的所有内容,并按照the passenger apache documentation添加了环境变量。然而,它们显然被安装到一般(全系统)地点,例如,/usr/bin,而不是进入LAMPP安装。

当我再次运行上面的命令找到所有的apache的依赖,但是安装仍然未能找到发展标题:

ext/apache2/mod_passenger.c:25:19: fatal error: httpd.h: No such file or directory 

此文件没有我的系统上存在的,即使的Apache2和LAMPP已安装。我试图“修复”我的Apache安装:

sudo apt-get -o DPkg::Options::="--force-confmiss" --reinstall install apache2.2-common 

但这并没有恢复httpd.h。我觉得我这样做是错误的 - 我应该使用不同版本的LAMPP(例如一个带有开发头文件的apache),还是我的Ubuntu apache安装不完整/损坏?我把它与另一个只安装了apache2的系统一起工作,但似乎用LAMPP安装是有问题的。任何意见,将不胜感激。

回答

2

httpd.h位于apache2-worker-dev或apache2-prefork-dev中。实际上,安装程序应该为您提供确切的软件包名称以进入apt-get。

+0

在Ubuntu上,它看起来像apache2-prefork-dev是一个,它确实要求安装,我做了,但在文件系统上没有httpd.h。 – danebez 2013-04-11 10:48:56

+0

显然这些天来,软件包已经从apache2-worker-dev重命名为apache2-threaded-dev。无论如何,该文件应作为/usr/include/apache2/httpd.h包含在apache2-prefork-dev和apache2-threaded-dev中。 – Hongli 2013-04-11 14:42:24