Phusion white papers Phusion overview

Phusion Blog

Debian and Ubuntu packages for Phusion Passenger

By Hongli Lai on September 11th, 2013

Update: this is the original announcement for our APT repository. For the latest instructions, please visit the download page.

We are pleased to announce the availability of the official Phusion Passenger APT repository. This APT repository contains Phusion Passenger packages for multiple versions of Debian and Ubuntu. These packages are automatically built by our build server after we push out a source release, and thus are always up to date with the official source releases. Phusion Passenger Enterprise is also packaged.

The repository even includes an up-to-date version of Nginx (1.4.2 at the time of writing), compiled with Phusion Passenger support. Even if you do not use Phusion Passenger, this repository is an excellent way to get the latest version of Nginx. This Nginx package works even if Phusion Passenger is not installed. We will regularly update the Nginx package so that it stays up-to-date with upstream Nginx releases.

Distributions and architectures

Packages are built for x86 and x86_64. Currently supported distributions are:

  • Ubuntu 10.04 “Lucid”
  • Ubuntu 12.04 “Precise”
  • Ubuntu 13.04 “Raring”
  • Debian 6 “Squeeze”
  • Debian 7 “Wheezy”

Our policy is to support all Ubuntu LTS releases that are still supported by Canonical, plus the latest non-LTS Ubuntu release, plus all Debian releases that are still supported by Debian.

Adding our APT repository

Packages are signed by “Phusion Automated Software Signing (”, fingerprint 1637 8A33 A6EF 1676 2922 526E 561F 9B9C AC40 B2F7. Install our PGP key:

gpg --keyserver --recv-keys 561F9B9CAC40B2F7
gpg --armor --export 561F9B9CAC40B2F7 | sudo apt-key add -

Our APT repository is stored on an HTTPS server so you may need to add HTTPS support for APT:

sudo apt-get install apt-transport-https

Next, create a file /etc/apt/sources.list.d/passenger.list and insert one of the following lines, depending on your distribution.

Phusion Passenger open source:

deb lucid main
deb precise main
deb raring main
deb squeeze main
deb wheezy main

Phusion Passenger Enterprise:

deb lucid main
deb precise main
deb raring main
deb squeeze main
deb wheezy main

You can find the correct value for ‘YOUR_DOWNLOAD_TOKEN’ in the Customer Area.

After creating /etc/apt/sources.list.d/passenger.list, run:

sudo chown root: /etc/apt/sources.list.d/passenger.list
sudo chmod 600 /etc/apt/sources.list.d/passenger.list
sudo apt-get update

Installing packages

Open source

To install Phusion Passenger for Nginx:

sudo apt-get install nginx-full passenger

Then edit /etc/nginx/nginx.conf, and uncomment passenger_root and passenger_ruby. Finally, run sudo service nginx restart.

To install Phusion Passenger for Apache:

sudo apt-get install libapache2-mod-passenger

To install Phusion Passenger Standalone:

sudo apt-get install passenger


Before installing packages, download your license key from the Customer Area and save it as /etc/passenger-enterprise-license.

To install Phusion Passenger for Nginx:

sudo apt-get install nginx-full passenger-enterprise

Then edit /etc/nginx/nginx.conf, and uncomment passenger_root and passenger_ruby. Finally, run sudo service nginx restart.

To install Phusion Passenger for Apache:

sudo apt-get install libapache2-mod-passenger-enterprise

To install Phusion Passenger Standalone:

sudo apt-get install passenger-enterprise


Special thanks go to John Leach from Brightbox for helping us. John has been maintaining third-party Ubuntu packages for Phusion Passenger for years. It is with his help and knowledge of Debian packaging that we were able to setup this official APT repository. is hosted on a server by Brightbox.

Discuss this on Hacker News

If you would like to stay up to date with Phusion news, please fill in your name and email address below and sign up for our newsletter. We won’t spam you, we promise.

  • freiden

    Does SPDY is available in the Nginx package?

  • Yes, on Ubuntu >= 12.04 and Debian >= 7.

  • rufosanch

    Do I need to do anything special if I’m migrating from the Brightbox packages?

  • Not really. Remove the Brightbox repo, add ours, apt-get install passenger.

  • jipumarino

    Hi, which version of ruby do these packages depend from?

  • The one that came with your distribution.

    However, this has zero impact on which Ruby versions you can use for serving apps. You can use any Ruby version you want for serving your apps. See

  • The Passenger scripts installed in /usr/sbin should explicitly use the system Ruby. If “/usr/bin/env ruby” points to another version, e.g., installed through rbenv, they will fail with a LoadError.

  • I’m running Ubuntu 13.04 and getting the error:
    the “spdy” parameter requires ngx_http_spdy_module. I had to disable SPDY to get nginx to run. Otherwise, this is much nicer than compiling.

    Thanks for the repo release. Can’t wait to get SPDY support back in.

  • Excellent point. We’ll fix this in the next release.

  • Debian 7 here with the nginx-full package and I get the same error when testing the Nginx configuration (nginx -t).

  • Apparently you need to `apt-get install nginx-extras` for SPDY support. SPDY is not in nginx-full. This is how Ubuntu and Debian package Nginx.

  • Hah! Full isn’t full ;).

    Thanks for the tip. installing “nginx-extras” instead of “nginx-full” worked great.

  • Jean-Louis

    The latest version of libruby1.8 for ubuntu is “” on precise and “” on lucid, but your passenger package requires a version >=

    This results in the following error when running “sudo apt-get install passenger”:

    “The following packages have unmet dependencies:

    passenger : Depends: libruby1.8 (>= but is to be installed”

    Given that you aim at supporting those versions, would it be possible to lower the required version of libruby1.8 or packaging a proper version in your repository?

  • What is the process to go from using the ‘gem install paseenger’ to this APT source? My VPS is already configured with the gem and nginx. Thanks for the hard work!

  • You should uninstall the gem first, then install through APT. See for uninstallation instructions.

  • This post makes me so silly happy you can’t imagine. Also, the timing is just impeccable, as I’m going to be using the enterprise packages starting in the next few weeks.

    Also, thanks for building the precise packages against both 1.8 *and* 1.9, as that was a problem I ran into with the previous packages 🙂

  • Are you sure the ‘passenger’ package has a requirement like that? dpkg-query -p passenger tells me this:

    Depends: …, libruby1.8 (>=

  • Gabe Kopley

    Hey cool packages! There is a subtle bug (somewhere), when using Ubuntu 12.04, where the symlink to enable the default nginx welcome page is broken. I use this as a sanity check and it took me a few minutes to debug 🙁

    $ ls -l /etc/nginx/sites-enabled/

    total 0

    lrwxrwxrwx 1 root root 34 Sep 18 00:47 default -> /etc/nginx/sites-available/default

    $ ls /etc/nginx/sites-available/


    (the symlink target is missing the file extension)

  • Thanks for catching this, we’ll look into this.

  • I followed the steps provided here in the post, but I sudo service nginx restart (or stop/start) apparently does nothing at all (and returns with 0 exit code). The only way to start nginx after installing via the package is via “sudo nginx”. I’m on Ubuntu precise.

    If you google around, you find some posts about that you manually have to create files in /etc/init.d/ but I think they predate this post and the availability of ready-to-use Ubuntu packages.

    Anyone else having these issues?

  • Could you post a message to the discussion forum and provide more information? Are there any errors in your log files?

  • Hussein Morsy

    I have exactly the same issue like @Jean-Louis on ubuntu precise.

  • Karim Helal

    Any idea how I would add the ngx_pagespeed module to nginx if I were to install it like this?

  • sebbacon

    Doesn’t install on Debian Squeeze as it depends on libev4 (libev3 only in Squeeze, and libev4 not available in backports)

  • Are you sure you added the right repository? The Debian Squeeze packages don’t depend on libev.

  • Yuri

    Just comment out other distributions from passenger.list except precise, and it will work.

  • Is there a possibility of seeing a development PPA? I would love to see nginx 1.5.7 with SPDY, I don’t know if this is something I could help with

  • Niels

    Thanks for your great work. This eases nginx and passenger updates a lot!

    I would really love, if passenger would respect the nginx setting “server_tokens off”. So it wouldn’t advertise the version number in every response. In addition i see the “X-Powered-By” setting as a duplicate, because it’s already added to the “Server” section.

    Would be great if you could reconsider your choices.

    Cheers and thanks again for your work!

  • Felix Bünemann

    You could shorten the key import to one command:

    apt-key adv –keyserver –recv-keys 561F9B9CAC40B2F7

  • Felix Bünemann

    I’ve got working debs for 1.5.11 with pretty much the same extensions as the brightbox/phusion builds, see for details.

  • Joel Longtine

    Any timeframe on releasing a package for trusty/Ubuntu 14.04?

  • We’re working on it.