![如何让其他程序检测到在 Ubuntu 上手动安装的 Apache 服务器?](https://linux22.com/image/1228268/%E5%A6%82%E4%BD%95%E8%AE%A9%E5%85%B6%E4%BB%96%E7%A8%8B%E5%BA%8F%E6%A3%80%E6%B5%8B%E5%88%B0%E5%9C%A8%20Ubuntu%20%E4%B8%8A%E6%89%8B%E5%8A%A8%E5%AE%89%E8%A3%85%E7%9A%84%20Apache%20%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%9F.png)
我刚刚在 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 用户指南了解更多信息。