Install mod_passenger in CWP Apache

In this tutorial I’ll show you how to install mod_passenger in CWP- Control WebPanel in Centos 7/EL7/Centos 8 Stream/El8 easily with this below steps provided. Ensure you run this command as root user.

mod_passenger enables Phusion Passenger to host Ruby, Python, and Node.js apps on the Apache server. Phusion Passenger specializes in managing these types of apps by restarting them in the case of an app crash, keeping heavy-resource usage in check, and more. By enabling this feature, you will be able to add Ruby, Python, and Node.js apps onto your server.

First install some requirements like ruby gem and rack and dependencies

Centos 7/EL7 :

yum install apr apr-devel ruby rubygem-rake ruby-devel curl-devel libcurl-devel apr-util apr-util-devel -y
gem install "rubygems-update:<3.0.0" --no-document
update_rubygems
gem install rack -v 1.6.13

Centos 8 Stream/EL8/AlmaLinux/Rocky Linux/Oracle Linux :

dnf install apr apr-devel ruby rubygem-rake ruby-devel curl-devel libcurl-devel apr-util apr-util-devel -y
gem install rubygems-update
gem update --system
gem install rack

Now install mod_passenger in CWP Apache

mkdir -p /usr/local/pbuild
cd /usr/local/pbuild
rm -rf latest_stable_tarball passenger*
wget https://www.phusionpassenger.com/latest_stable_tarball
tar -xzvf latest_stable_tarball
rm -rf /usr/local/pbuild/passenger-*.tar.gz
mv /usr/local/pbuild/passenger-* /usr/local/pbuild/passenger
cd /usr/local/pbuild/passenger/bin
export APXS2=/usr/local/apache/bin/apxs
export APR_CONFIG=/usr/bin/apr-1-config
./passenger-install-apache2-module

you’ll get some prompts which you need to press enter and proceed with default options and don’t select another option until you know what you’re doing.

Now add the module in Apache, select all, copy and paste in terminal/ssh and hit enter key:

cat > /usr/local/apache/conf.d/passenger.conf << "EOF"
LoadModule passenger_module /usr/local/src/pbuild/passenger/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/pbuild/passenger
PassengerDefaultRuby /usr/bin/ruby
</IfModule>
EOF

then restart apache

systemctl restart httpd

you can check if mod_passenger is loaded in apache as module or not via this command. if the command outputs the passenger_module then you’re good to go :

/usr/local/apache/bin/httpd -M | grep passenger
Back to top button