Getting Phusion Passenger to install nginx with SSL support

Phusion Passenger or mod_rails has taken away almost all the pain once associated with deploying Ruby on Rails applications. Phusion Passenger recently added support for the nginx web server.  My application required SSL support, but Phusion Passenger does not by default compile nginx with SSL support. I’m new to System Administration and even newer to Unix, having used Windows Servers all my life, so I decided to document my steps to make it easier for others with the same problem.

Step 1: Download and unzip the source code for OpenSSL

Make sure to visit OpenSSL to determine the name of the latest source code tarball to download. In my case it was openssl-1.0.0-beta3.tar.gz

cd /tmp
wget http://www.openssl.org/source/openssl-1.0.0-beta3.tar.gz
tar -xvzf openssl-1.0.0-beta3.tar.gz

Step 2: Download and unzip the source code for nginx

Make sure to visit nginx to determine the name of the latest source code tarball to download. In my case it was nginx-0.8.14.tar.gz

wget http://sysoev.ru/nginx/nginx-0.8.14.tar.gz
tar zxf nginx-0.8.14.tar.gz

Step 3:Install and run Phusion Passenger

gem install passenger
passenger-install-nginx-module

  • Watch Phusion Passenger do its thing and when it asks you “Automatically download and install Nginx?”, answer 2
  • Specify the directory where you unzipped the nginx source code (/tmp/nginx-0.8.14 in my case)
  • Specify the directory where you want to install nginx to (/opt/nginx in my case)
  • When asked “Extra arguments to pass to configure script:”, reply with:

--with-http_ssl_module --with-openssl=/tmp/openssl-1.0.0-beta3

Keep in mind that if you downloaded the latest version of the source code, your values might be slightly different from mine.

That’s it! I’ve also posted a sample configuration file for nginx to enable SSL.

Advertisement

4 responses to this post.

  1. [...] About « Getting Phusion Passenger to install nginx with SSL support [...]

    Reply

  2. Perfect, I couldn’t remember how to do this when upgrading passenger to the latest version.

    Thanks!

    Reply

  3. Posted by John on April 14, 2010 at 2:18 am

    I installed NGinx with option 1 accidentally and had Phusion automatically install Nginx. What is the best way to recomplie it without screwing up my server?

    Reply

  4. [...] Getting Phusion Passenger to install nginx with SSL support « Ruby on Rails (tags: nginx passenger ssl) [...]

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

Gravatar
WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.