Installing Passenger Enterprise + Apache on a Digital Ocean production server
for Node.js apps + Ubuntu 16.04 LTS (with APT)

This page describes the installation of Passenger through the following operating system or installation method: Ubuntu 16.04 LTS (with APT). Not the configuration you are looking for? Go back to the operating system / installation method selection menu.

On this page, we will install Passenger. After installing Passenger we can begin with deploying the app.

Table of contents

  • Loading...

Step 1: download and install your license key

Before you can install Passenger Enterprise, you need to download and install your license key. This is a regular file that you need to copy to your production server.

Please login to the Passenger Enterprise Customer Area.

Customer Area login screen

Click on the Install button in the Customer Area.

Customer Area install button

Click on the button to download the license key.

License key download button in the Customer Area

The license key will be downloaded to your local computer. Copy this license key file to your production server, for example using scp:

local-computer$ cd /path-to-your-local-computer-download-folder
local-computer$ scp passenger-enterprise-license adminuser@yourserver.com:

Replace adminuser with the name of an account with administrator privileges or sudo privileges.

Finally, login to your production server and save the file as /etc/passenger-enterprise-license:

local-computer$ ssh adminuser@yourserver.com
production-server$ sudo mv passenger-enterprise-license /etc/passenger-enterprise-license
production-server$ chmod 644 /etc/passenger-enterprise-license

Step 2: obtain your download token

Your download token is needed in order to install Passenger Enterprise. In the Customer Area, find your download token and copy it to your clipboard.

Exhibit of the download token in the Customer Area

Step 3: install Passenger packages

These commands will install Passenger Enterprise + Apache module through Phusion's APT repository. Replace YOUR_DOWNLOAD_TOKEN with the download token you obtained in the last step.

# Install our PGP key and add HTTPS support for APT
sudo apt-get install -y dirmngr gnupg
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
sudo apt-get install -y apt-transport-https ca-certificates

# Add our APT repository
unset HISTFILE
sudo sh -c 'echo machine www.phusionpassenger.com/enterprise_apt login download password YOUR_DOWNLOAD_TOKEN >> /etc/apt/auth.conf'
sudo sh -c 'echo deb https://www.phusionpassenger.com/enterprise_apt xenial main > /etc/apt/sources.list.d/passenger.list'
sudo chown root: /etc/apt/sources.list.d/passenger.list
sudo chmod 644 /etc/apt/sources.list.d/passenger.list
sudo chown root: /etc/apt/auth.conf
sudo chmod 600 /etc/apt/auth.conf
sudo apt-get update

# Install Passenger Enterprise + Apache module
sudo apt-get install -y libapache2-mod-passenger-enterprise

Step 4: enable the Passenger Apache module and restart Apache

$ sudo a2enmod passenger
$ sudo apache2ctl restart

Step 5: check installation

After installation, please validate the install by running sudo /usr/bin/passenger-config validate-install. For example:

$ sudo /usr/bin/passenger-config validate-install
 * Checking whether this Phusion Passenger install is in PATH... ✓
 * Checking whether there are no other Phusion Passenger installations... ✓

All checks should pass. If any of the checks do not pass, please follow the suggestions on screen.

Finally, check whether Apache has started the Passenger core processes. Run sudo /usr/sbin/passenger-memory-stats. You should see Apache processes as well as Passenger processes. For example:

$ sudo /usr/sbin/passenger-memory-stats
Version: 5.0.8
Date   : 2015-05-28 08:46:20 +0200

---------- Apache processes ----------
PID    PPID   VMSize    Private  Name
--------------------------------------
3918   1      190.1 MB  0.1 MB   /usr/sbin/apache2
...

----- Passenger processes ------
PID    VMSize    Private   Name
--------------------------------
12517  83.2 MB   0.6 MB    Passenger watchdog
12520  266.0 MB  3.4 MB    Passenger core
12531  149.5 MB  1.4 MB    Passenger ust-router
...

If you do not see any Apache processes or Passenger processes, then you probably have some kind of installation problem or configuration problem. Please refer to the troubleshooting guide.

Step 6: update regularly

Apache updates, Passenger updates and system updates are delivered through the APT package manager regularly. You should run the following command regularly to keep them up to date:

$ sudo apt-get update
$ sudo apt-get upgrade

You do not need to restart Apache or Passenger after an update, and you also do not need to modify any configuration files after an update. That is all taken care of automatically for you by APT.

Next step

Now that you have installed Passenger, you are ready to deploy your Node.js application on the production server!

Continue: Deploy app »