I am getting ready to start hosting my own Ruby applications. I already have RVM installed on my production server. Now I would like to install Passenger.

I have Ruby 1.9.2 set as the default. I installed the passenger gem and ran passenger-install-apache2-module. This displayed a list of missing dependencies, one of which being OpenSSL support for Ruby. It explained that I needed to re-install Ruby with OpenSSL support. I don't know how to do this and don't know why it is not there to begin with. Here is the list of other errors:

  • GNU C++ compiler... not found
  • Curl development headers with SSL support... not found
  • OpenSSL development headers... not found
  • Zlib development headers... not found
  • Ruby development headers... found
  • OpenSSL support for Ruby... not found
  • RubyGems... found
  • Rake... found at /usr/local/rvm/wrappers/ruby-1.9.2-p320/rake
  • rack... found
  • Apache 2... found at /usr/sbin/httpd
  • Apache 2 development headers... not found
  • Apache Portable Runtime (APR) development headers... not found
  • Apache Portable Runtime Utility (APU) development headers... not found

It seems like many of these things should have already been available. Did I install RVM wrong? Is there an easier way to get Passenger up and running without installing a bunch of dependencies that I may never use later? What should I do?

Update: I forgot to mention this is a RedHat server hosted at Rackspace. I'm not sure if there is a Rackspace recommended way of doing this. I know they maintain their own list of trusted packages/repositories.


I had to install Passenger (specifically mod_passenger) and here's how I did it. My environment is CentOS 6, x86_64.

  1. Install required rpms

    yum install httpd httpd-devel openssl-devel mod_ssl
  2. Add EPEL repo. Remember to edit /etc/yum.repos.d/epel.repo and disable it by setting enabled to 0. Actual source for epel-release-6-5.noarch.rpm will not be from fedoraproject.org/... as you will actually be hitting a mirror server.

    wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
    rpm -ivh epel-release-6-5.noarch.rpm
  3. Set up to use yum repo at stealthymonkeys.com which hosts rpms for passenger. Installs mod_passenger which requires epel repo for some dependent rpms.

    rpm -Uvh http://passenger.stealthymonkeys.com/rhel/6/passenger-release.noarch.rpm
  4. Install mod_passenger using the following command.

    yum   --enablerepo=epel  --enablerepo=passenger  install mod_passenger

Not able to provide better answer as I don't know your environment but hopefully this will help.


Rackspace wasn't much help, but this ended up being easier than I thought and there were no issues. I simply followed the directions that passenger gave me. It said I needed to install a bunch of packages, so I ran through each one, one at a time (i.e. sudo yum install openssl-devel). None of the packages conflicted with other packages I had installed because they were all new (I didn't need to update any). Then I ran the passenger installer again and it was able to compile itself just fine.

The only gotcha that I came across is that Passenger will only let you run one version of Ruby, so when you install Passenger through RVM, make sure you are rvm use-ing the version of Ruby you want to use.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.