Phusion white papers Phusion overview

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 (auto-software-signing@phusion.nl)”, fingerprint 1637 8A33 A6EF 1676 2922 526E 561F 9B9C AC40 B2F7. Install our PGP key:

gpg --keyserver keyserver.ubuntu.com --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 https://oss-binaries.phusionpassenger.com/apt/passenger lucid main
deb https://oss-binaries.phusionpassenger.com/apt/passenger precise main
deb https://oss-binaries.phusionpassenger.com/apt/passenger raring main
deb https://oss-binaries.phusionpassenger.com/apt/passenger squeeze main
deb https://oss-binaries.phusionpassenger.com/apt/passenger wheezy main

Phusion Passenger Enterprise:

deb https://download:YOUR_DOWNLOAD_TOKEN@www.phusionpassenger.com/enterprise_apt lucid main
deb https://download:YOUR_DOWNLOAD_TOKEN@www.phusionpassenger.com/enterprise_apt precise main
deb https://download:YOUR_DOWNLOAD_TOKEN@www.phusionpassenger.com/enterprise_apt raring main
deb https://download:YOUR_DOWNLOAD_TOKEN@www.phusionpassenger.com/enterprise_apt squeeze main
deb https://download:YOUR_DOWNLOAD_TOKEN@www.phusionpassenger.com/enterprise_apt 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

Enterprise

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

Credits

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. oss-binaries.phusionpassenger.com 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?

  • http://www.phusion.nl/ Hongli Lai

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

  • rufosanch

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

  • http://www.phusion.nl/ Hongli Lai

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

  • jipumarino

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

  • http://www.phusion.nl/ Hongli Lai

    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 http://www.modrails.com/documentation/Users%20guide%20Apache.html#relationship_with_ruby

  • http://lightyearsoftware.com/ Steve Madsen

    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.

  • http://zdp.us Z.d.P

    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.

  • http://www.phusion.nl/ Hongli Lai

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

  • http://lightyearsoftware.com/ Steve Madsen

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

  • http://www.phusion.nl/ Hongli Lai

    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.

  • http://zdp.us Z.d.P

    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 “1.8.7.352-2ubuntu1.3″ on precise and “1.8.7.249-2ubuntu0.3″ on lucid, but your passenger package requires a version >= 1.8.7.357-1.

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

    “The following packages have unmet dependencies:

    passenger : Depends: libruby1.8 (>= 1.8.7.357-1) but 1.8.7.352-2ubuntu1.3 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?

  • http://sergiotapia.me/ Sergio

    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!

  • http://www.phusion.nl/ Hongli Lai

    You should uninstall the gem first, then install through APT. See http://www.modrails.com/documentation/Users%20guide%20Nginx.html#uninstalling for uninstallation instructions.

  • http://blog.kitchen.io/ Jeremy Kitchen

    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 :)

  • http://www.phusion.nl/ Hongli Lai

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

    Depends: …, libruby1.8 (>= 1.8.7.352)

  • 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/

    default.conf

    (the symlink target is missing the file extension)

  • http://www.phusion.nl/ Hongli Lai

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

  • http://tisba.de/ Sebastian Cohnen

    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?

  • http://www.phusion.nl/ Hongli Lai

    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)

  • http://www.phusion.nl/ Hongli Lai

    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.

  • http://www.manybots.com/ Niko Roberts

    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!

  • http://www.phusion.nl/ Hongli Lai
  • Felix Bünemann

    You could shorten the key import to one command:

    apt-key adv –keyserver keyserver.ubuntu.com –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 https://github.com/felixbuenemann/deb-nginx/blob/master/debian/changelog for details.

  • Joel Longtine

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

  • http://www.phusion.nl/ Hongli Lai

    We’re working on it.