Phusion white papers Phusion overview

Phusion Blog

Phusion Passenger native packages for RedHat/Fedora/CentOS

By Hongli Lai on January 4th, 2011

We are pleased to announce native Linux packages for RedHat/Fedora derived RPM distributions, including RHEL, Fedora, CentOS, and ScientificLinux. Installation and updates can be accomplished via yum, and the passenger-release package includes all of the necessary yum configuration.


The easiest way to install Phusion Passenger and keep it up to date is to install the passenger-release package from the main repository:

Fedora Core 14:
rpm -Uvh
Fedora Core 13:
rpm -Uvh
RHEL 5 / CentOS 5 / ScientificLinux 5:
Note: these packages depend on EPEL.

rpm -Uvh
RHEL 6 / CentOS 6 / ScientificLinux 6:
These packages will be available as soon as there is a stable beta of either CentOS 6 or SL 6 to use as a build platform.

From there you can use Yum to install packages. For example, try one of these:

yum install nginx-passenger


yum install mod_passenger


yum install passenger-standalone

Building your own packages

There are instructions for building your own packages and Yum repositories in the rpm directory ReadMe within the GitHub repository.

Additional Information

These packages are currently being maintained by Erik Ogan and Stealthy Monkeys Consulting. Questions, comments, patches, and pull requests are always welcome.

  • Martijn

    That’s great.. are you planning on releasing REE packages as well? That would make installing a Ruby + Passenger stack on CentOS really easy. The ruby version that gets shipped with CentOS (1.8.5) doesn’t really cut it.

  • Pingback: Phusion Passenger native packages for RedHat/Fedora/CentOS()

  • Lars


    Im trying to install your packages on 64 bit rhel 5 with the rpm command above and get the following error:

    error: rpmts_HdrFromFdno: Header V4 RSA/SHA1 signature: BAD, key ID 6573ab09

    Is it me doing something wrong ?

    Thanks in advance,

    – Lars

  • @Lars: There seems to be something wrong with the GPG signatures on the RHEL packages. I’m looking at it now, and I’ll get back to you.

    As a workaround, you could delete the signature from the passenger-release package and edit its yum configuration to turn gpgcheck=0 for this repository.

    However, that completely defeats the purpose of signing them in the first place, so I’d rather not go down that path until after I’ve done some investigation.

  • @Lars:

    We’re being bitten by this bug:

    I have generated a signing key for RHEL5, and have resigned all of the packages.
    The newest passenger-release package for RHEL5 uses this key rather than the 2048 bit key that the other distributions will use.

    That should clear up the problem.

    (Note: RPM will probably still issue a warning about the signature on the passenger-release package, but that’s because it’s signed by a key you haven’t (yet) imported.)

  • Lars

    Hi Erik,

    Thanks for your quick support.
    I have now downloaded the rpm package again and unfortunately the problem persists:

    [root@server tmp]# rpm -Uvh ./passenger-release.noarch.rpm
    error: ./passenger-release.noarch.rpm: Header V4 RSA/SHA1 signature: BAD, key ID 6573ab09
    error: ./passenger-release.noarch.rpm cannot be installed

    [root@server tmp]# rpm –checksig ./passenger-release.noarch.rpm
    ./passenger-release.noarch.rpm: RSA sha1 MD5 PGP md5 NOT OK

    I’m not an rpm expert so I dont know if the problem is on my side or still something on your side. Again Im using 64bit RHEL 5. Could this be a 64 bit issue ?


    – Lars

  • @Lars,

    When did you download that package? Key ID 6573ab09 is the 2048 bit key that causes RHEL5 rpm issues. The new key ID is 71e042e4.

    I just checked the packages on the server and they’re signed with the new key.

    Can you try downloading the package again? Are you behind a proxy? Is it possible it cached the URL? You can try (the URL in the instructions is actually a symlink to that, but hopefully using a different URL will break any caching going on)

    I tested on CentOS 5 x86_64. Not exactly the same, but it should be close enough for what we’re trying to do.

  • This is very nice. Thanks for making it possible. This makes it much easier to have Passenger on some production environments.

  • …and let’s add this to the Install page on the web site?

  • Eric

    I’ve successfully installed REE (after some setup) using the following

    yum –disablerepo=* –enablerepo=endpoint install ruby-enterprise-1.8.6-3.ep

    I’d like to install passenger from the repository using the following:

    rpm -Uvh

    yum install mod_passenger

    However, yum tries to install ruby 1.8.5. How do I get it to use REE?

    “Installing for dependencies:
    ruby x86_64 1.8.5-5.el5_4.8 base 274 k”

  • I’m trying to take a look at your repository on F-14 and got an error trying to install mod_passenger.

    The package rubygem-spruz cannot be installed, I got the following error: [Errno -1] Package does not match intended download.

    Maybe just an issue with repository metadatas? I should have tried to rebuild that package ; but the relevant SRPM is not on your repository (only the old version is present).

  • Pingback: How to Install Ruby Enterprise Edition and Passenger Phusion (mod_rails) on CentOS/RHEL x86_64()

  • Kris

    Looks like the source rpms are still being signed with the key ID 6573ab09 instead of 71e042e4. Could we get these signed with the correct key?

    $ rpm -i rubygem-passenger-3.0.11-9.src.rpm
    error: rubygem-passenger-3.0.11-9.src.rpm: Header V4 RSA/SHA1 signature: BAD, key ID 6573ab09
    error: rubygem-passenger-3.0.11-9.src.rpm cannot be installed

  • Pingback: Setup redmine / artifactory / hudson on fedora | Musings from a high place()

  • Any hope on getting the key fixed? 🙂

  • JasonIvers

    I know this is from a long time ago, but I found this when trying to install mod_passenger via yum on AWS. When I try to use CENTOS 6 (via, the first two steps work, but running “yum install mod_passenger” returns an error – [Errno 14] PYCURL ERROR 22 – “The requested URL returned error: 404 Not Found”

    Digging around, I discovered that the directory “latest” doesn’t exist there, only actual version numbers and 6rolling or 6server. I’m hoping someone will see this comment and update either the mirrors or the package so that they work together.