gem version

Installing Passenger
Enterprise Linux 8: Red Hat, CentOS, Rocky, Alma (with RPM)

Relevant selection for this article:

Nginx
This page describes the installation of Passenger through the following operating system or installation method: Enterprise Linux 8: Red Hat, CentOS, Rocky, Alma (with RPM). Not the configuration you are looking for? Go back to the operating system / installation method selection menu.

No Amazon Linux RPMs

Our YUM repository may not be used with Amazon Linux. Amazon Linux is too different from Enterprise Linux. If you are on Amazon Linux, please go back to the operating system selection menu and select "Other / OS independent (generic installation method)".

Table of contents

  • Loading...

Step 1: enable EPEL

The instructions differ depending on whether you are on Red Hat or another Enterprise Linux. The second step is only necessary on Red Hat.

Step 1:
install EPEL package
Passenger requires EPEL.
$ sudo yum install -y yum-utils
$ sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(< /etc/redhat-release tr -dc '0-9.'|cut -d \. -f1).noarch.rpm
$ 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-8-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 --auto-attach
$ sudo subscription-manager repos --enable rhel-8-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


sudo yum -y install chrony
sudo systemctl enable chronyd
sudo firewall-cmd --permanent --add-service=ntp
sudo firewall-cmd --reload
sudo systemctl restart chronyd

Step 3: install Passenger packages

These commands will install Passenger + Apache module through Phusion's YUM repository.

If you want to use our packaged Nginx module, you must use your distro's provided Nginx package. If for example you have the repo provided by NGINX setup, you will instead need to compile a dynamic module compatible with that Nginx.

# Install various prerequisites
sudo yum install -y  curl

# Add our el8 YUM repository
sudo curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo

# Install Passenger + Apache module
sudo yum install -y mod_passenger || { sudo yum-config-manager --enable cr && sudo yum install -y mod_passenger ; }

Step 4: restart Apache

Now that the Passenger Apache module is installed, restart Apache to ensure that Passenger is activated:

$ sudo systemctl restart httpd

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/httpd
...

----- 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 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 Apache. Doing so will automatically restart Passenger too.

light mode dark mode
Passenger 6 Passenger 6