Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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.

share|improve this question

2 Answers 2

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.

share|improve this answer
up vote 0 down vote accepted

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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