July 2, 2012

Beginner

How To Install Ruby on Rails on CentOS 6 with RVM

Tagged In: Ruby On Rails, Cent Os

About Ruby on Rails


Ruby on Rails is an application stack that provides developers with a framework to quickly create a variety of web applications.

Ruby on Rails does take a little while to install on a virtual private server, but luckily there are a lot of helpful tools to make this process as easy as possible.

You can run this tutorial on your droplet as a user with sudo privileges. You can check out how to set that up here, in steps 3 and 4: CentOS Server Setup

Step One— Install Ruby with RVM


Before we do anything else, we should run a quick update to make sure that all of the packages we download are up to date:
sudo yum update

Once that's done, we can start installing RVM, Ruby Version Manager. This is a great program that lets you use several versions of Ruby on one VPS; however, in this case, we will just use it to install the latest version of Ruby on the droplet.

If you do not have curl on your system, you can start by installing it:
sudo yum install curl

To install RVM, open terminal and type in this command:
curl -L get.rvm.io | bash -s stable

After it is done installing, load RVM.
# If you ran the installer as root, run:
source /usr/local/rvm/rvm.sh
# If you installed it through a user with access to sudo:
source ~/.rvm/rvm.sh

In order to work, RVM has some of its own dependancies that need to be installed. You can see what these are:
rvm requirements

In the text that RVM shows you, look for this paragraph.
Additional Dependencies:
# For Ruby / Ruby HEAD (MRI, Rubinius, & REE), install the following:
  ruby: yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel ## NOTE: For centos >= 5.4 iconv-devel is provided by glibc

Go ahead and download the recommended dependancies, being careful not to use sudo. Instead, we should use rvmsudo:
rvmsudo yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel

Step Two—Install Ruby


Once you are using RVM, installing Ruby is easy.
rvm install 1.9.3

Ruby is now installed. However, since we accessed it through a program that has a variety of Ruby versions, we need to tell the system to use 1.9.3 by default.
rvm use 1.9.3 --default

Step Three—Install RubyGems


The next step makes sure that we have all the required components of Ruby on Rails. We can continue to use RVM to install gems; type this line into terminal.
 rvm rubygems current

Step Four—Install Rails


Once everything is set up, it is time to install Rails.

To start, open terminal and type in:
gem install rails

This process may take a while, be patient with it. Once it finishes you will have Ruby on Rails installed on your droplet.

See More

Once you have installed Ruby on Rails on your VPS, you can proceed to Create a SSL Certificate for your site or Install an FTP server



By Etel Sverdlov

Share this Tutorial

Vote on Hacker News

Try this tutorial on an SSD cloud server.

Includes 512MB RAM, 20GB SSD Disk, and 1TB Transfer for $5/mo! Learn more

Create an account or login:

12 Comments

Write Tutorial
  • Gravatar Stuart Hannig 9 months

    There is outdated code. For loading RVM it sates to run the command "source ~/.rvm/scripts/rvm" when it it should be "source /etc/profile.d/rvm.sh". I spotted this command in the successful install notes on the terminal after installing RVM and unable to get it loaded using the tutorial's method. Hopefully this helps others.

  • Gravatar Stuart Hannig 9 months

    Also, when you run "rvm requirements", you don't have to manually download the dependencies as they will be auto-downloaded for you now. Also, instead of installing Ruby 1.9.3 you should probably stick to Ruby 2.0.0 now as it is the recommended version as stated by the Rails developers.

  • Gravatar Kamal Nasser 9 months

    Thanks Stuart, I've updated the article.

  • Gravatar Stuart Hannig 9 months

    Kamal; I believe this tutorial should be re-looked over and rewritten as it can be very confusing to newbies trying to install Ruby on Rails (like myself). Case in point, please follow this link. http://rvm.io/support/troubleshooting Under the header titled, "Multi-User Installs - Using the sudo command", they stress the importance of not running RVM as root and why. The tutorial states it can be done using sudo, but really should stress why so others don't make the mistake of not doing so. That is my belief to make the tutorial super effective.

  • Gravatar jundowon 7 months

    "rvm use 1.9.3 --default" gives an error for me, but "rvm --default use 1.9.3" resolves it

  • Gravatar mail 6 months

    thank you DO, before meet with you i've been sleeping kitten.

  • Gravatar mail 6 months

    not sleeping - eyeless kitten :)

  • Gravatar 5 months

    is this the better way or gems installation is the better way, and why should we use rvmsudo?

  • Gravatar mr_spy_incognito 4 months

    I use non-root user to try this. But I stuck on this step: /home/jecko/.rvm/rvm.sh: No such file or directory Any ideas?

  • Gravatar Kamal Nasser 4 months

    @mr_spy_incognito: curl -L get.rvm.io | bash -s stable Did you run that as `jecko`?

  • Gravatar tjpresley 4 months

    @mr_spy_incognito the correct command should have been in the output when it installed ....

    
    Installing RVM to /home/user/.rvm/
        Adding rvm PATH line to /home/user/.profile /home/user/.bashrc /home/user/.zshrc.
        Adding rvm loading line to /home/user/.bash_profile /home/user/.zlogin.
    Installation of RVM in /home/user/.rvm/ is almost complete:
    
      * To start using RVM you need to run `source /home/user/.rvm/scripts/rvm`
        in all your open shell windows, in rare cases you need to reopen all shell windows.
    
    ....

  • Gravatar gpjerrymaloney 3 months

    Nice article! You did a lot of work for us. One point: The 'rvmsudo yum install ...' command seems to be unnecessary at this point. 'rvm requirements' installs these for you.

Leave a Comment

Create an account or login:
Ajax-loader