Ruby RVM, как установить ruby-on-rails

Ruby RVM — ruby version manager, система управления версиями, позволяющая запускать на одном сервере несколько версию Ruby и использовать индивидуальные настройки для каждого проекта. Чаще всего применяется при запуске приложений на Ruby on Rails.

Рассмотрим установку и настройку RVM на севрере с ОС Debian 8, процесс будет выглядеть идентично на любых Debian-based дистрибутивах, в т.ч. на Ubuntu

 

Работать будем от пользователя с ограниченными привелегиями, создадим его авторизовавшись от имени root

useradd rubyuser -m -d /home/rubyuser -s /bin/bash

 

Зададим пароль для входа в систему

passwd rubyuser

 

Теперь можно стать пользователем rubyuser и в дальнейшем выполнять команды от его имени

su rubyuser

 

 

Настройка Ruby RVM на Debian

Получаем ключ, который потребуется для того чтобы получить доступ к релизу RVM

gpg —keyserver hkp://keys.gnupg.net —recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

 

Определяемся с директорией, в которую будем устанавливать RVM, это может быть каталог в /home/rubyuser

mkdir /home/rubyuser/rvm

 

cd /home/rubyuser/rvm

 

Скачиваем и устанавливаем дистрибутив

curl -sSL https://get.rvm.io | bash -s stable —rails

 

Затем выполняем source чтобы иметь возможность использовать переменные окружения, добавленные при установке в рамках текущей сессии

source /home/rubyuser/.rvm/scripts/rvm

 

Проверяем версии пакетов Ruby и Rails (будут установлены самые новые версии)

ruby -v

 

rails -v

 

 

Чтобы посмотреть посмотреть доступные для установки при помощи rvm версии Ruby нужно выполнить rvm list known

cd ~/.rvm/

rvm list known

 

После этого версия устанавливается просто путем указания ее цифрового обозначения

rvm install ruby-2.1

 

Следующая команда позволит вывести в консоль все установленные версии пакета

rvm list

 

Чтобы использовать желаемую версию нужно выполнить

rvm use ruby-2.1

 

Чтобы использовать выбранную версию по-умолчанию

rvm use ruby-2.1.1 —default

 

Затем вновь инициализируем окружение

source $HOME/.profile




Установка Ruby-on-rails

rails является гемом поэтому ищем доступные версии и устанавливаем нужную или нужные стандартным способом:

gem search '^rails$' —all

 

gem install rails -v 4.1.13

 

В корне проекта должен располагаться каталог с гемами

cd .gem/

 

Найдем в системе rails

whereis rails

Это обычный файл и его можно просмотреть

less /home/rubyuser/.rvm/gems/ruby-2.1.10/bin/rails

 

 

Запуск тестового приложения на rails

К теме данной статьи дальнейший материал непосредственно не относится, но размещается здесь.

Обычно непосредственно на rails приложения не запускают, для этого используется связка веб-севреров — чаще всего Nginx + Unicorn

Задача: Имеется блог на rails, который требуется запустить на сервере.

Создаем каталог под приложение

mkdir app

 

Переходим в него

cd app

 

Стартуем приложение (с указанием имени проекта, которое может быть любым):

rails new my-blog -T

 

При выполнении предыдущей команды автоматически создался одноименный приложению каталог

cd my-blog

 

Генерируем модель в которой, посты блога будут представлять собой текст, заголовки — строки

rails g model Post title:string body:text

 

 

 

На этом этапе могут возникнуть ошибки о нехватке в системе JavaScript Runtime, для которого нужен NodeJS

\curl -sSL https://deb.nodesource.com/setup_6.x -o nodejs.sh| sudo -E bash —

 

Обновим информацию о пакетах

sudo apt-get update

 

Устанавливаем nodejs

sudo apt-get install nodejs

 

Повторяем попутку генерации модели

rails g model Post title:string body:text

 

Команда сгенерировала файлы, необходимы для запуска проект, далее нужно выполнить

rake db:migrate

 

cd ~/app/blog/

 

Добавляем необходимые гемы, для приложения из примера их два

mcedit Gemfile

gem 'simple_form','~> 3.2'
gem 'bootstrap-sass','~> 3.3'

 

Перечитываем Gemfile (могут потребоваться дополнительные гемы или доработка непосредственно приложения, однако процесс индивидуален и в рамках данного материала описывать его смысла нет — чтобы получить работоспособный сайт на rails из примера нужно выполнить шаги из инструкции)

bundle install

 

После чего запускаем сервер командой

rails server

 

Сейчас он должен работать и информация о нем должна отображаться в выводе netstat

netstat -nltp

 

Читайте про то как настраивается связка Nginx + Unicorn