Deploying Ruby on Rails through the Linode Marketplace

Traducciones al Español
Estamos traduciendo nuestros guías y tutoriales al Español. Es posible que usted esté viendo una traducción generada automáticamente. Estamos trabajando con traductores profesionales para verificar las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso.
Create a Linode account to try this guide with a $100 credit.
This credit will be applied to any valid services used during your first 60 days.

Ruby on Rails is a server-side web application framework that allows web designers and developers to implement dynamic, fully featured web applications.

Deploying the Ruby on Rails Marketplace App

The Linode Marketplace allows you to easily deploy software on a Linode using the Linode Cloud Manager.

  1. Log in to the Cloud Manager and select the Marketplace link from the left navigation menu. This displays the Linode Compute Create page with the Marketplace tab pre-selected.

  2. Under the Select App section, select the app you would like to deploy.

  3. Fill out all required Options for the selected app as well as any desired Advanced Options (which are optional). See the Configuration Options section for details.

  4. Complete the rest of the form as discussed within the Getting Started > Create a Linode.

  5. Click the Create Linode button. Once the Linode has provisioned and has fully powered on, wait for the software installation to complete. If the Linode is powered off or restarted before this time, the software installation will likely fail. To determine if the installation has completed, open the Linode’s Lish console and wait for the system login prompt to appear.

  6. Follow the instructions within the Getting Started After Deployment section.

Software installation should complete within 2-5 minutes after the Linode has finished provisioning.

Configuration Options

Ruby on Rails Options

You can configure your Ruby on Rails App by providing values for the following fields:

FieldDescription
Rails Application nameThe name for your rails application. Required.

General Options

For advice on filling out the remaining options on the Create a Linode form, see Getting Started > Create a Linode. That said, some options may be limited or recommended based on this Marketplace App:

  • Supported distributions: Debian 9
  • Recommended minimum plan: All plan types and sizes can be used.

Getting Started after Deployment

Access Ruby on Rails

After Ruby on Rails has finished installing, you will be able to access Ruby on Rails from the console via ssh with your Linode’s IPv4 address:

  1. SSH into your Linode and create a limited user account.

  2. Log out and log back in as your limited user account.

  3. Update your server:

    sudo apt-get update && apt-get upgrade
    
  4. Ruby comes with some pre-made scripts to get you started. One of these is a blog. To begin with the blog example, use the following command:

    rails new blog
    

    This creates a new Rails application called Blog in the blog directory.

  5. Move into the blog directory:

    cd blog
    
  6. Start the built in server with the following command, replacing the IP address with your Linode’s IP address:

    rails server --binding=198.51.100.0
    
    Warning: Running `gem pristine --all` to regenerate your installed gemspecs (and deleting then reinstalling your bundle if you use bundle --path) will improve the startup performance of Spring.
    => Booting WEBrick
    => Rails 4.2.7.1 application starting in development on http://198.51.100.0:3000
    => Run `rails server -h` for more startup options
    => Ctrl-C to shutdown server
    [2020-03-11 14:17:16] INFO  WEBrick 1.3.1
    [2020-03-11 14:17:16] INFO  ruby 2.3.3 (2016-11-21) [x86_64-linux-gnu]
    [2020-03-11 14:17:16] INFO  WEBrick::HTTPServer#start: pid=3089 port=3000
  7. You can visit your application by visiting the address in the browser.

  8. Exit the server process with Ctrl+C.

Create a Controller and View

A controller will receive requests which are then routed and served by various actions. A view displays information.

  1. Create a controller called Welcome and an action called index:

    rails generate controller Welcome index
    
    create  app/controllers/welcome_controller.rb
    route   get 'welcome/index'
    invoke  erb
    create    app/views/welcome
    create    app/views/welcome/index.html.erb
    invoke  test_unit
    create    test/controllers/welcome_controller_test.rb
    invoke  helper
    create    app/helpers/welcome_helper.rb
    invoke    test_unit
    invoke  assets
    invoke    coffee
    create      app/assets/javascripts/welcome.coffee
    invoke    scss
    create      app/assets/stylesheets/welcome.scss
  2. With the text editor of your choice, edit the file app/views/welcome/index.html.erb and replace the contents with the following:

    File: app/views/welcome/index.html.erb
    1
    
    <h1>Hello, World! This is Ruby on Rails!</h1>
  3. Tell Rails where to find the document root. Edit the file config/routes.rb, find and uncomment the line root as shown:

    File: config/routes
    Rails.application.routes.draw do
      get 'welcome/index'
    
    ...
    
      root 'welcome#index'
    
    ...
    end
  4. Start the server again:

    rails server --binding=198.51.100.0
    

    You should see your new welcome page in the web browser.

For more information on setting up a more substantial application, refer to the Ruby on Rails Getting Started Guide.

Next Steps

Note
Currently, Linode does not manage software and systems updates for Marketplace Apps. It is up to the user to perform routine maintenance on software deployed in this fashion.

For more on Ruby on Rails, checkout the following guides:

More Information

You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.

This page was originally published on


Your Feedback Is Important

Let us know if this guide made it easy to get the answer you needed.


Join the conversation.
Read other comments or post your own below. Comments must be respectful, constructive, and relevant to the topic of the guide. Do not post external links or advertisements. Before posting, consider if your comment would be better addressed by contacting our Support team or asking on our Community Site.