Facebook Twitter Instagram
    TecAdmin
    • Home
    • Ubuntu 20.04
      • Upgrade Ubuntu
      • Install Java
      • Install Node.js
      • Install Docker
      • Install LAMP Stack
    • Tutorials
      • AWS
      • Shell Scripting
      • Docker
      • Git
      • MongoDB
    • FeedBack
    • Submit Article
    • About Us
    Facebook Twitter Instagram
    TecAdmin
    Home»General Articles»How to Deploy Ruby App with Apache and Passenger on Ubuntu and Debian

    How to Deploy Ruby App with Apache and Passenger on Ubuntu and Debian

    RahulBy RahulOctober 25, 20173 Mins ReadUpdated:October 31, 2017

    Phusion Passenger is an application server which can be integrated into web server like Apache and Nginx web servers and allows to serve Ruby/Rails applications via the web server. It’s a good option to deploy Ruby on Rails application on productions systems. This article will help you to deploy Ruby app with Apache on Linux systems like Ubuntu and Debian systems. You can use this tutorial for staging as well as production deployments.

    First of all, we assume you already have Ruby installed on your system. If you do not have Ruby installed on your system, Use one of below URL to install it as per your application requirements.

    • How to Install Latest Ruby on Debian, Ubuntu, Linuxmint

    Step 1 – Prerequisites

    First of all, enable the HTTPS support for Apt repositories and install the PGP keys for passenger packages on your system.

    $ 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
    

    Then, add the passenger repository reference to below file. The `lsb_release -cs` will set the codename of your operating system. You can also change this and set the codename manually.

    $ sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger `lsb_release -cs` main > /etc/apt/sources.list.d/passenger.list'
    

    Step 2 – Install Passenger Apache module

    Now install the Apache passenger module on your system. You can also specify to install or upgrade Apache2 to the latest version.

    $ sudo apt-get install -y apache2 libapache2-mod-passenger
    

    Now enable the passenger module (if not enabled already) using the following command. After that restart Apache service to reload the new settings.

    $ sudo a2enmod passenger
    $ sudo systemctl restart apache2.service
    

    Step 3 – Create Apache VirtualHost

    Now, you can deploy your Ruby/Rails application on this server. Create a Apache configuration file and configure the virtual host like blow.

    $ vim /etc/apache2/sites-available/example.com.conf
    

    Change the document root as per your application location on disk.

    <VirtualHost *:80>
        ServerName example.com
    
        ### Path to Ruby Application's 'public' directory ### 
        DocumentRoot /path-to-your-app/public
    
        <Directory /path-to-your-app/public>
    	  Allow from all
    	  Options -MultiViews
    	  ### Uncomment this if you're on Apache > 2.4: ### 
    	  # Require all granted
        
        </Directory>
    </VirtualHost>
    

    Now, enable the newly created Apache site configuration file.

    $ sudo a2ensite example.com
    

    Step 4 – Verify Setting and Restart Apache

    Execute the below command to validate the passenger installation on your system.

    $ sudo /usr/bin/passenger-config validate-install
    

    All checks should be passed properly. If any of check failed, it will help you to fix.

    Deploy Ruby App

    $ sudo systemctl restart apache2.service
    
    mod passenger passenger rails ruby
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email WhatsApp
    Previous ArticleFedora 27 Release Schedule, Features & Upgrade Steps
    Next Article How to Deploy Ruby App with Nginx and Passenger on Ubuntu and Debian

    Related Posts

    What is CPU? – Definition, Types and Parts

    3 Mins Read

    How to Install Ionic Framework on Ubuntu 22.04

    3 Mins Read

    What is the /etc/hosts file in Linux

    Updated:June 27, 20222 Mins Read

    Creating DMARC Record for Your Domain

    Updated:June 29, 20223 Mins Read

    What is Computer Hardware?

    4 Mins Read

    What is Information Technology (IT)?

    Updated:June 29, 20223 Mins Read

    Leave A Reply Cancel Reply

    Recent Posts
    • What is CPU? – Definition, Types and Parts
    • What is the /etc/aliases file
    • What is the /etc/nsswitch.conf file in Linux
    • How to Install Ionic Framework on Ubuntu 22.04
    • What is the /etc/hosts file in Linux
    Facebook Twitter Instagram Pinterest
    © 2022 Tecadmin.net. All Rights Reserved | Terms  | Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.