Поиск по сайту:

Как установить и использовать Ruby on Rails с PostgreSQL в CentOS 7


На этой странице

  1. Шаг 1. Установите RVM
  2. Шаг 2. Установите Ruby
  3. Шаг 3. Установите Nodejs
  4. Шаг 4. Настройка Gem
  5. Шаг 5. Установите Ruby on Rails 5 (стабильную версию)
  6. Шаг 6. Настройка базы данных PostgreSQL для разработки на Rails
  7. Шаг 7. Создание первого приложения с помощью Rails и PostgreSQL
  8. Ссылки

Ruby on Rails (RoR), или сокращенно «rails», представляет собой серверную структуру веб-приложений, написанную на ruby, которая следует концепции MVC (Model-View-Controller). RoR выпускается под лицензией OpenSource MIT. Rails предоставляет структуры по умолчанию для баз данных, веб-служб и веб-страниц. Rails широко используется, более 3000 человек внесли код в проект Rails до сих пор, и существует множество приложений, основанных на Rails, таких как Github, Airbnb, Soundcloud и т. д.

В этом руководстве я покажу вам, как установить Rails на CentOS 7. Мы установим и настроим Ruby on Rails с базой данных PostgreSQL, а затем создадим наш первый проект с Rails.

Предпосылка

  • Сервер с операционной системой CentOS 7
  • Привилегии root

Шаг 1 — Установите RVM

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

Убедитесь, что в вашей системе установлена команда curl.

yum install curl

На этом этапе мы установим стабильную версию RVM. Нам нужно загрузить ключ репозитория и импортировать его с помощью команды gpg, прежде чем мы начнем устанавливать RVM.

curl -sSL https://rvm.io/mpapis.asc | gpg --import -

Затем установите РВМ.

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

Команда сначала установит необходимые пакеты (зависимости пакетов), а затем загрузит последнюю стабильную версию RVM и установит ее.

Теперь мы можем начать использовать RVM, выполнив команду ниже:

source /usr/local/rvm/scripts/rvm

Шаг 2 — Установите Руби

Текущая стабильная версия Ruby — 2.3.1. Мы установим его с помощью команды \rvm\, а затем сделаем его рубиновой версией по умолчанию для вашей системы.

Обновите RVM до последней стабильной версии, затем установите Ruby 2.3.1.

rvm get stable --autolibs=enable
rvm install ruby-2.3.1

Затем сделайте Ruby 2.3.1 версией системы Ruby по умолчанию.

rvm --default use ruby-2.3.1

Проверьте версию Ruby с помощью приведенной ниже команды, чтобы убедиться, что описанные выше шаги выполнены успешно:

ruby -v

Шаг 3 — Установите Nodejs

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

Установите nodejs из репозитория nodesource:

curl -sL https://rpm.nodesource.com/setup_6.x | sudo -E bash -
yum -y install nodejs

Убедитесь, что node и npm успешно установлены в системе.

node -v
npm -v

Шаг 4 — Настройка драгоценного камня

RubyGems — менеджер пакетов Ruby. Он предоставляет инструмент командной строки gem и автоматически устанавливается при установке Ruby в системе.

Обновите версию gem и проверьте ее:

gem update --system
gem -v

Это необязательно: вы можете отключить установку документации при каждой установке gem, добавив строку ниже в файл .gemrc. Я сделаю это здесь, так как это экономит место на жестком диске, и я предпочитаю читать документацию в Интернете.

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

Шаг 5 — Установите Ruby on Rails 5 (стабильную версию)

Установите Ruby on Rails 5 с помощью команды gem ниже:

gem install rails -v 5.0.0

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

rails -v

Вы должны увидеть это как результат:

Rails 5.0.0

Rails 5.0 установлен на CentOS 7 с Ruby 2.3.1.

Шаг 6 — Настройка базы данных PostgreSQL для разработки на Rails

На этом этапе мы подготовим PostgreSQL для разработки на рельсах. Ruby on Rails поддерживает множество баз данных, таких как MySQL, SQLite (по умолчанию) и PostgreSQL. В качестве базы данных для этого руководства я буду использовать PostgreSQL.

Установите PostgreSQL с помощью этой команды yum:

yum -y install postgresql-server postgresql-devel postgresql-contrib

Теперь нам нужно инициализировать сервер базы данных с помощью команды initdb.

postgresql-setup initdb

По умолчанию PostgreSQL на сервере CentOS не разрешает аутентификацию на основе пароля. Нам нужно отредактировать конфигурацию PostgreSQL для установки RoR, чтобы разрешить вход с паролем.

Отредактируйте pg_hba.conf с помощью vim:

vim /var/lib/pgsql/data/pg_hba.conf

Измените метод аутентификации на md5.

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Сохраните файл, затем запустите службу postgresql.

systemctl start postgresql

Postgresql работает на локальном IP-адресе с портом 5432, вы можете проверить это с помощью команды ниже:

netstat -plntu
systemctl status postgresql

Когда установка будет завершена, станьте пользователем postgres в оболочке с помощью su, а затем получите доступ к оболочке postgresql (psql).

su - postgres
psql

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

\password postgres
Enter new password:

Затем создайте новую роль с именем rails-dev для разработки рельсов с помощью этой команды:

create role rails_dev with createdb login password 'aqwe123';

Проверьте новую роль, вы увидите, что новая роль создана:

\du

База данных PostgreSQL и пользователь для Rails Development созданы.

Шаг 7 — Создайте первое приложение с Rails и PostgreSQL

Мы можем легко создать наше первое приложение с помощью команды rails.

Создайте новое приложение с PostgreSQL в качестве базы данных по умолчанию.

rails new myapp -d postgresql

Эта команда создаст новый каталог myapp и установит новый гем, включая гем \pg\, который требуется рельсам для подключения к базе данных PostgreSQL.

Перейдите в каталог newapp и отредактируйте файл database.yml в каталоге config.

cd myapp/
vim config/database.yml

В разделе разработки раскомментируйте строку 32 и установите роль, которую мы создали на шаге 6.

username: rails_dev

Установите пароль пользователя rails_dev в строке 35.

password: aqwe123

Раскомментируйте строки 40 и 44 для конфигурации хоста базы данных.

host: localhost
port: 5432

Теперь перейдите в тестовый раздел и добавьте новую конфигурацию ниже:

  database: myapp_test
  host: localhost
  port: 5432
  username: rails_dev
  password: aqwe123

Сохраните файл и выйдите из редактора.

Затем создайте базу данных с помощью команды rails:

rails db:setup
rails db:migrate

Затем запустите сервер rails с помощью следующей команды:

rails s -b 192.168.33.10 -p 8080

Откройте веб-браузер и посетите IP-адрес сервера на порту 8080 — 192.168.33.10:8080.

Вернитесь к своему терминалу. Создайте новый каркас для взаимодействия с базой данных PostgreSQL.

Введите команду ниже:

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

Снова запустите сервер rails.

rails s -b 192.168.33.10 -p 8080

Посетите сервер: 192.168.33.10:8080/сообщения

Вы увидите простой интерфейс CRUD, написанный на Ruby on Rails с PostgreSQL.

Ссылки

  • https://www.postgresql.org/docs/