Установка Ruby on Rails в Ubuntu 18.04

Ruby on Rails (RoR) — это платформа для веб-приложений с открытым исходным кодом, опубликованная под лицензией MIT. Она является серверным веб-приложением и следует концепции MVC (Model-View-Controller). Rails предоставляет заготовки для создания баз данных, веб-служб и веб-страниц. Более 3000 разработчиков внесли свой вклад в разработку среды Rails. Существует множество известных веб-приложений созданных на основе Rails, таких как Github, Airbnb, Soundcloud и т. д.

В этой статье я покажу, как установить Ruby on Rails на Ubuntu 18.04 LTS. Также вы узнаете, как  настроить Rails с базой данных PostgreSQL, и как создать первый проект Rails.

Установка ruby on rails на Ubuntu 18.04

Шаг 1. Установка Ruby Version Manager

RVM (Ruby Version Manager) — это инструмент командной строки, основанный на Bash и Ruby и предназначенный для управления установкой ruby. RVM позволяет устанавливать и настраивать несколько версий ruby в одной системе.

Сначала установим пакеты rvm, используя скрипт установщика. Добавим ключ rvm в систему:

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E37D2BAF1CF37B13E2069D6956105BD0E739499BDB

Установите стабильную версию rvm, выполните команду ниже:

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

Команда автоматически установит необходимые пакеты и инсталлирует последнюю стабильную версию rvm. После завершения установки выполните следующую команду:

source /usr/local/rvm/scripts/rvm

Теперь мы можно использовать команду rvm для управления версией ruby:

rvm version

Шаг 2. Установка Ruby последней версии

Последней версией ruby на данный момент считается Ruby 2.5.1, и она будет автоматически установлена во время инсталляции rvm, если в системе нет пакета ruby. Далее мы настроим версию ruby в операционной системе Ubuntu. Обновите rvm до последней стабильной версии.

rvm get stable --autolibs=enable

usermod -a -G rvm root

Теперь проверим все доступные версии ruby:

rvm list known

Мы получим много доступных версий ruby и установим последнюю стабильную версию Ruby с помощью команды rvm, как показано ниже.

rvm install ruby-2.5.1

После завершения установки сделайте ruby 2.5.1 версией по умолчанию:

rvm --default use ruby-2.5.1

Можете проверить версию ruby:

ruby -v

Теперь версия 2.5.1 используется по умолчанию.

Шаг 3 - Установка Nodejs

Ruby on Rails требует времени для компиляции конвейера ресурсов Rails на JavaScript. Для разработчиков на Rails в Ubuntu Linux лучше всего установить и использовать Nodejs в качестве среды выполнения Javascript. Добавим репозиторий nodejs Node в систему.

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

После этого установите последнюю версию nodejs 10 и дополнительные пакеты, используя команду apt.

sudo apt install -y nodejs
sudo apt install gcc g++ make

Шаг 4 - Настройка Ruby Gem

RubyGems - менеджер пакетов Ruby, поставляемый в виде инструмента командной строки gem. Он автоматически устанавливается при установке Ruby в системе. Обновим gem до последней версии и проверим его:

gem update --system
gem -v

Замечание: Можно отключить установку документации по каждому пакету ruby. Просто выполните:

echo "gem: --no-document" >> ~/.gemrc

Шаг 5. Установка Ruby on Rails

В этом руководстве мы будем использовать последнюю стабильную версию Ruby on Rails 5.2.0. Установите Rails Ubuntu с помощью менеджера пакетов gem ruby командой:

gem install rails -v 5.2.0

После завершения установки можете проверить версию rails.

rails -v

Шаг 6. Настройка PostgreSQL для Rails

По умолчанию Ruby on Rails использует базу данных SQLite. Кроме этого он поддерживает множество систем баз данных, включая MySQL, SQLite и PostgreSQL. Мы будем использовать PostgreSQL. Установите базу данных PostgreSQL, используя команду apt:

sudo apt install postgresql postgresql-contrib libpq-dev -y

После завершения установки запустите службу Postgres и разрешите ей каждый раз запускаться при загрузке системы:

systemctl start postgresql
systemctl enable postgresql

Далее настройте пароль для пользователя postgres и создайте пользователя для установки Rails. Для этого войдите в систему от имени пользователя 'postgres' и запустите оболочку postgres:

su - postgres
psql

Для изменения пароля postgres выполните:

\password postgres

Теперь создайте нового пользователя для установки rails, например, с именем rails_dev, с привилегией создания базы данных и паролем «aqwe123». Для этого выполните такой запрос:

create role rails_dev with createdb login password 'aqwe123';

Теперь проверим все доступные роли в системе.

\du

Вы увидите пользователя rails_dev в списке.

На этом установка и настройка PostgreSQL для Rails Development завершена.

Шаг 7. Первое приложение Rails

Ruby on Rails имеет команду rails, предназначенную для настройки вашего приложения. Создадим новый проект myapp с базой данных по умолчанию PostgreSQL, выполнив команду rails, как показано ниже.

rails new myapp -d postgresql

После выполнения команды появится каталог «myapp», перейдите в этот каталог и отредактируйте файл конфигурации базы данных database.yml с помощью редактора vim.

cd myapp/
vim config/database.yml

В этом файле есть такие разделы: development, testing и production. В разделе development раскомментируйте строки указанные ниже и измените их значение на данные, которые вы использовали для создания пользователя postgresql.

username: rails_dev
password: aqwe123
host: localhost
port 5423

Для раздела testing сделайте аналогичную операцию. Сохраните изменения и закройте редактор. Теперь создайте базу данных и убедитесь что нет ошибок:

rails db:setup
rails db:migrate

Когда все настройки завершены, запустите веб-сервер puma rails, используя приведенную ниже команду:

rails s -b 192.168.1.10 -p 8080

Первый проект rails будет запущен на IP-адресе «192.168.1.10» с портом 8080.

Откройте веб-браузер и введите IP-адрес сервера в адресной строке:

http://192.168.1.10:8080/

Вы получите домашнюю страницу проекта rails по умолчанию, как показано ниже.

Далее создадим простое CRUD приложение с базой данных PostgreSQL на Rails. Выполните такие команды:

rails g scaffold Post title:string body:text
rake db:migrate

И снова запустите сервер puma:

rails s -b 192.168.1.10 -p 8080

А потом откройте такой адрес в браузере:

http://192.168.1.10:8080/posts/

Мы получили простую форму CRUD:

На этом установка Ruby on Rails на Ubuntu 18.04 с базой данных Postgresql успешно завершена.

4 комментария

  1. Феликс Август 13, 2019 Ответить
  2. Юрий Август 13, 2019 Ответить
  3. Loki Август 13, 2019 Ответить
    • Феликс Август 14, 2019 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: