在 CentOS 上为 apache2 编译 Passenger 时出现问题

在 CentOS 上为 apache2 编译 Passenger 时出现问题

我正在尝试在 CentOS 6.5 (OVH 版本 3) 上安装 openproject,如下所示本教程但是用mysql代替postgresql。

我快完成了,但似乎无法为 apache 编译乘客:

passenger-install-apache2-module

结果如下:


欢迎使用 Phusion Passenger Apache 2 模块安装程序 v4.0.40。

此安装程序将指导您完成整个安装过程。整个过程不应超过 3 分钟。

安装过程可预期的内容如下:

  1. Apache 2 模块将为您安装。
  2. 您将学习如何配置 Apache。
  3. 您将学习如何部署 Ruby on Rails 应用程序。

如果出现任何问题,请不要担心。此安装程序将建议您如何解决任何问题。

按 Enter 继续,或按 Ctrl-C 中止。

您对哪些语言感兴趣?

使用 选择。如果菜单显示不正确,请按“!”

(*)Ruby()Python()Node.js()Meteor

正在检查所需软件...

  • 检查 C 编译器... 找到:是 位置:/usr/bin/cc
  • 检查 C++ 编译器... 找到:是 位置:/usr/bin/c++
  • 检查是否支持 SSL 的 Curl 开发标头... 找到:是 curl-config 位置:/usr/bin/curl-config 标头位置:/usr/include/curl/curl.h 版本:libcurl 7.19.7 可用:是 支持 SSL:是
  • 检查 OpenSSL 开发标头... 发现:是 位置:/usr/include/openssl/ssl.h
  • 检查 Zlib 开发标头... 发现:是 位置:/usr/include/zlib.h
  • 检查 Apache 2... 找到:是 httpd 的位置:/usr/sbin/httpd Apache 版本:2.2.15
  • 检查 Apache 2 开发标头... 发现:否
  • 检查 Rake(与 /home/openproject/.rvm/gems/ruby-2.1.0/wrappers/ruby 相关)... 发现:是 位置:/home/openproject/.rvm/gems/ruby-2.1.0/wrappers/rake
  • 检查 Ruby 的 OpenSSL 支持... 发现:是
  • 检查 RubyGems... 找到:是
  • 检查 Ruby 开发标头... 找到:是 位置:/home/openproject/.rvm/rubies/ruby-2.1.0/include/ruby-2.1.0/ruby.h
  • 检查机架... 找到:是
  • 检查 Apache Portable Runtime (APR) 开发标头... 发现:否
  • 检查 Apache 可移植运行时实用程序 (APU) 开发标头... 发现:否

某些必需的软件未安装。但不用担心,此安装程序将告诉您如何安装它们。按 Enter 继续,或按 Ctrl-C 中止。

所需软件的安装说明

  • 要安装 Apache 2 开发标头:请使用 yum install httpd-devel 安装

  • 要安装 Apache Portable Runtime (APR) 开发标头:请使用 yum install apr-devel 安装

  • 要安装 Apache Portable Runtime Utility (APU) 开发标头:请使用 yum install apr-util-devel 安装

如果上述说明不能解决您的问题,请查看用户指南:

/home/openproject/.rvm/gems/ruby-2.1.0/gems/passenger-4.0.40/doc/Apache 用户指南.html http://www.modrails.com/documentation/Users%20guide%20Apache.html


因此,似乎缺少 apr-devel、apr-util-devel 和 httpd-devel。因此,我尝试安装它们:

yum install apr-devel apr-util-devel httpd-devel

但结果却让人十分惊讶:


已加载插件:fastestmirror、priorities

从缓存的主机文件加载镜像速度

epel/metalink

  • 基础:mirror.ovh.net
  • 来源:mirrors.coreix.net
  • 附加信息:mirror.ovh.net
  • rpmforge:www.mirrorservice.org
  • 更新:mirror.ovh.net

本地Repo

转炉

由于存储库优先级保护,1458 个软件包被排除

设置安装过程

软件包 apr-devel-1.3.9-5.el6_2.x86_64 已安装且为最新版本

软件包 apr-util-devel-1.3.9-3.el6_0.1.x86_64 已安装且为最新版本

解决依赖关系

--> 正在运行交易检查

---> 软件包 httpd-devel.x86_64 0:2.2.15-29.el6.centos 将被安装

--> 处理依赖关系:httpd = 2.2.15-29.el6.centos,适用于软件包:httpd-devel-2.2.15-29.el6.centos.x86_64

--> 完成依赖解析

错误:软件包:httpd-devel-2.2.15-29.el6.centos.x86_64 (基础)

要求:httpd = 2.2.15-29.el6.centos

已安装:httpd-2.2.15-29.1.el6.x86_64 (@LocalRepo)

httpd = 2.2.15-29.1.el6

可用:httpd-2.2.15-29.el6.centos.x86_64 (基础)

httpd = 2.2.15-29.el6.centos

您可以尝试使用 --skip-broken 来解决这个问题

您可以尝试运行:rpm -Va --nofiles --nodigest


我将此解释为 OVH 修改了其 ow 版本的大量文件,从而阻止了任何类型的更新。需要注意的是,我必须从排除项中删除 httpd* 才能执行任何操作。

2个问题:

  • 我能对 httpd-devel 包做些什么?
  • 为什么乘客不认识 APR 包裹?

答案1

我遇到了完全相同的问题,直到我发现 CentOs 索引 httpd-devel 的唯一存储库之一是 Virtualmin 存储库。只需安装 Virtualmin :

rpm -ivh http://software.virtualmin.com/gpl/centos/6/x86_64/virtualmin-release-latest.noarch.rpm

然后 yum install httpd-devel 就可以正常工作了!

相关内容