Installing Passenger + Standalone on a Digital Ocean production server
for Python apps + Red Hat 7 / CentOS 7 (with RPM)
No Amazon Linux RPMs
Our YUM repository may not be used with Amazon Linux. Amazon Linux is too different from RHEL and CentOS. If you are on Amazon Linux, please go back to the operating system menu and select "Other / OS independent (generic installation method)".
On this page, we will install Passenger. After installing Passenger we can begin with deploying the app.
Table of contents
Step 1: enable EPEL
The instructions differ depending on whether you are on Red Hat or CentOS. The second step is only necessary on Red Hat.
install EPEL package
Passenger requires EPEL.
$ sudo yum install -y epel-release yum-utils $ sudo yum-config-manager --enable epel $ sudo yum clean all && sudo yum update -y
Step 2 (RHEL only):
enable the 'optional' repository
Enable the optional repository (rhel-7-server-optional-rpms). This can be done by enabling the RHEL optional subchannel for RHN-Classic. For certificate-based subscriptions see Red Hat Subscription Management Guide.
The following commands may be helpful, but are not thoroughly tested.
$ sudo subscription-manager register --username $RHN_USERNAME --password $RHN_PASSWORD $ POOL=`sudo subscription-manager list --available --all | sed '/^Pool ID:/!d;s/^.*: *//'` $ sudo subscription-manager attach --pool="$POOL" $ sudo subscription-manager repos --enable rhel-7-server-optional-rpms
Step 2: repair potential system issues
These commands will fix common issues that prevent yum from installing Passenger
# Ensure curl and nss/openssl are sufficiently up-to-date to talk to the repo sudo yum update -y date # if the output of date is wrong, please follow these instructions to install ntp sudo yum install -y ntp sudo chkconfig ntpd on sudo ntpdate pool.ntp.org sudo service ntpd start
Step 3: install Passenger packages
These commands will install Passenger through Phusion's YUM repository.
# Install various prerequisites sudo yum install -y pygpgme curl # Add our el7 YUM repository sudo curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo # Install Passenger sudo yum install -y passenger || sudo yum-config-manager --enable cr && sudo yum install -y passenger
Step 4: 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.
Step 5: update regularly
Passenger updates and system updates are delivered through the YUM package manager regularly. You should run the following command regularly to keep them up to date:
$ sudo yum update
After an update, you should restart all your Passenger instances so that the updates take effect.
Now that you have installed Passenger, you are ready to deploy your Python application on the production server!