如何让其他程序检测到在 Ubuntu 上手动安装的 Apache 服务器?

如何让其他程序检测到在 Ubuntu 上手动安装的 Apache 服务器?

我刚刚在 Ubuntu 中手动安装了 Apache HTTPD 2.2.14 服务器,如下所示这些说明(并使用所有默认选项)。由于我进行了手动安装,因此一旦我尝试安装 Apache 的乘客模块(通过passenger-install-apache2-module),它就会找到所需的一切,除了 Apache。错误消息如下(我通过 synaptic 安装了其他所有内容,因此这些都没有问题):

  • GNU C++ 编译器...位于 /usr/bin/g++
  • 找到 Ruby 开发标头...
  • 发现 Ruby 的 OpenSSL 支持...
  • 找到 RubyGems...
  • Rake... 在 /usr/bin/rake 找到
  • 机架...找到
  • Apache 2...未找到
  • Apache 2 开发标头...位于 /usr/bin/apxs2
  • Apache 可移植运行时 (APR) 开发标头...位于 /usr/bin/apr-1-config
  • Apache 可移植运行时实用程序 (APU) 开发标头...位于 /usr/bin/apu-1-config

我怎样才能让乘客模块安装程序(或任何其他程序)检测 Apache 服务器安装?

答案1

这主要取决于所涉及的软件包以及它们的安装位置。如果您在软件包管理器之外安装了一个软件包,则可能需要在软件包管理器之外安装其他软件包。有些软件包允许您在编译时指定其依赖项的位置(通过其configure脚本的标志)。

如果您将 Apache 安装到默认位置,则它可能位于/usr/local/usr/local/bin在您的 PATH 中吗?尝试在运行 Passenger 安装脚本之前添加它。

如果你确实需要 Apache2 2.2.14 而不是 2.2.12(Karmic 存储库中提供),请考虑下载较新版本的源码包从 Lucid 存储库中下载并为 Karmic(或您正在使用的任何 Ubuntu 版本)构建您自己的软件包。这为您提供了使用系统软件包管理器的优势,并且乘客安装程序应该不会再有任何困难。

答案2

通常,配置脚本会有类似--with-apache2=/usr/local/apache2或 之类的选项。 --prefix=/usr/local也是一种可能性。尝试./configure --help从 Passenger 的源目录运行,看看这些选项是否可用。

答案3

我遇到了同样的问题。检查是否有选项告诉您是否要取消或继续(按 Enter)。

按 Enter 键,安装程序将为您提供缺少软件包的安装命令(apt-get install等)。这对我有用,到目前为止我还没有遇到任何问题。

查看Phusion Passenger 用户指南了解更多信息。

相关内容