How to Create a Sinatra Ruby Application


Last modified: June 29, 2020

Overview

Warning:
  • Because cPanel, L.L.C. doesn’t develop or ship Sinatra Ruby applications, cPanel Technical Support can’t help you install them. We aren’t responsible for any data loss.
  • We recommend that only experienced system administrators perform these steps.
  • Before you begin, your hosting provider must enable the feature and install EasyApache 4 RPMs.

This document describes how to install a Sinatra web application. You can use Sinatra to quickly create web applications on the Ruby platform. Then, you can register them in cPanel’s Application Manager interface (cPanel >> Home >> Software >> Application Manager).

Note:
  • We recommend that you perform the steps in this document via the command line as a cPanel user unless the step specifies otherwise.

  • You can also use cPanel’s Terminal interface (cPanel >> Home >> Advanced >> Terminal) to perform these steps in cPanel & WHM version 72 and later.

  • To use this feature, the cPanel account must possess compiler access in WHM’s Compiler Access interface (WHM >> Home >> Security Center >> Compiler Access). If the account does not possess compiler access, the system will return an error similar to the following message:

    make: execvp: gcc: Permission denied

For more information, read Sinatra’s documentation.

Install Sinatra

Pre-installation settings

Before you begin, make certain that the following EasyApache 4 RPMs exist on your server:

  • ea-ruby24-mod_passenger

    Note:

    If you enable this module, the system will disable Apache’s mod_userdir module.

  • ea-ruby24-ruby-devel

  • ea-apache24-mod_env

    Note:

    The ea-apache24-mod_env module allows you to add environment variables when you register your application. For more information about environment variables, read our Application Manager documentation.

If you need to install these RPMs, run the following command as the root user:

yum install ea-ruby24-mod_passenger ea-ruby24-ruby-devel ea-apache24-mod_env

Install the sinatra gem

To install the sinatra Ruby gem, run the following command:

scl enable ea-ruby24 'gem install sinatra'

If you do not wish to use the scl utility, perform the following steps to install the sinatra Ruby gem:

  1. Log in to the server as a cPanel user.

  2. Add the following line to the rc file (for example, the /home/user/.bashrc file):

    source /opt/cpanel/ea-ruby24/enable

  3. Log out and then log back in.

  4. Run the gem install sinatra command.

Create the application directory path

After you install the sinatra Ruby gem, create the application’s directory path, relative to your home directory. For example:

/home/username/application

Create the application’s Ruby files

After you create the application’s directory path, add the Ruby application file. To do this, perform the following steps:

  1. Navigate to the application’s directory
  2. Create the app.rb file and add the code for the application to execute. For example:

    1
    2
    3
    4
    5
    6
    7
    
    require 'sinatra/base'
    
    class Fools < Sinatra::Base
      get '/' do
        'Fools Rush In'
      end
    end
    For more information about how to add processes to the app.rb file, read Sinatra’s documentation.

  3. Create the config.ru file with the following content:

    1
    2
    3
    
    require File.absolute_path("app.rb")
    
    run Fools

Register the application

After you set the file permissions, register the application. To do this, use either of the following methods:

Restart apache

Important:

After you create the application’s Apache configuration, restart Apache. To do this, run the following command as the root user:

/usr/local/cpanel/scripts/restartsrv_httpd

After Apache restarts, you can access the application in cPanel’s Application Manager interface (cPanel >> Home >> Software >> Application Manager).

Additional Documentation