Introduction
When deploying modern web applications such as Ruby on Rails, Python, or Node.js, managing app processes efficiently is crucial. Phusion Passenger is a robust application server that integrates seamlessly with Apache HTTP Server, handling app processes automatically while improving performance and reliability.
In this guide, we’ll walk through the steps to install Phusion Passenger with Apache on Enterprise Linux 8 (RHEL 8, CentOS 8, or Rocky Linux 8) using the official RPM packages provided by Phusion.
Prerequisites
Before beginning the installation, ensure your system meets the following requirements:
1. Root or Sudo Privileges
You need superuser access to install packages and configure repositories.
2. Installed Apache Web Server
Apache (httpd) must be installed. If not, install it using:
sudo dnf install httpd
3. EPEL Repository
Passenger depends on some packages from the Extra Packages for Enterprise Linux (EPEL) repository, which we’ll enable below.
Step-by-Step Installation
Here’s a summary of how to get Passenger up and running with Apache on EL8:
1. Enable EPEL
First you need the Extra Packages for Enterprise Linux (EPEL) repository, because Passenger requires some dependencies from there. The commands are:
#sudo dnf install dnf-utils
#sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(< /etc/redhat-release tr -dc '0-9.'|cut -d \. -f1).noarch.rpm
#sudo dnf config-manager --enable epel
#sudo dnf clean all
If you’re on RHEL, you may also need to enable the “optional” repository (rhel-8-server-optional-rpms) via subscription manager so that all dependencies can be satisfied.
2. Fix any system issues
Before installing, it’s wise to ensure the system is in good shape so dnf can install everything smoothly. For example:
Run:
#sudo dnf update
This will bring packages up to date.
3. Add the Passenger RPM repository & install
Now you add the Phusion repository and install Passenger with Apache module:
#sudo curl --fail -sSLo /etc/yum.repos.d/passenger.repo \
https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo
#sudo dnf install mod_passenger || { sudo dnf config-manager --enable cr && sudo dnf install -y mod_passenger; }
This installs Passenger + the Apache module (mod_passenger) so Apache can serve Passenger-managed apps.
4. Restart Apache
Once installed, restart Apache to load the Passenger module and ensure it’s active
#sudo systemctl restart httpd
5. Validate the installation
Confirm that everything is working by running:
sudo /usr/bin/passenger-config validate-install
You should see checks pass (Passenger in PATH, no conflicting installations)
And to inspect processes:
sudo /usr/sbin/passenger-memory-stats
You should see Apache and Passenger processes listed. If not, refer to the troubleshooting guide.
6. Keep things updated
Since Passenger and Apache both receive updates, it’s important to keep Passenger and Apache up-to-date with:
sudo dnf update
systemctl restart httpd
Conclusion
Installing Phusion Passenger on an Enterprise Linux 8 system alongside Apache provides a powerful, production-ready environment for hosting web applications. It simplifies deployment by automatically managing application processes while optimizing performance and resource usage.
By following these steps — from enabling repositories to validating your setup — you can ensure a stable and secure Passenger installation that’s ready to serve Ruby, Python, or Node.js applications in a professional environment. Remember to keep your system updated and restart Apache after upgrades to maintain smooth and reliable performance.
If you encounter challenges while installing or configuring Phusion Passenger on Apache HTTP Server for Enterprise Linux 8, our expert team is here to help. With years of experience in Linux Server Management Services, we provide end-to-end support — from setup and optimization to performance tuning and troubleshooting.