Гид по технологиям

Установка Ruby on Rails с PostgreSQL на Rocky Linux

• 6 min read • DevOps • Обновлено 21 Nov 2025
Установка Rails с PostgreSQL на Rocky Linux
Установка Rails с PostgreSQL на Rocky Linux

Кратко: это пошаговое руководство по установке Ruby on Rails на Rocky Linux с использованием PostgreSQL как СУБД и RVM для управления версиями Ruby. Вы установите RVM, Ruby 3, Node.js, yarn, создадите пользователя PostgreSQL, создадите проект Rails с базой данных PostgreSQL и запустите сервер разработки.

Важно: используйте отдельного системного пользователя для продакшен‑развертываний и замените примерные пароли и IP‑адреса на реальные значения вашей инфраструктуры.

О чем статья

Основная цель: показать практическую установку Rails + PostgreSQL на Rocky Linux. Также рассматриваются дополнительные шаги: зависимости, проверка версий, типичные ошибки, рекомендации по безопасности и контрольный список для ролей (администратор, разработчик, DevOps).

Что такое Ruby on Rails и RVM

  • Ruby on Rails (Rails) — фреймворк для веб‑приложений на языке Ruby. Следует шаблону MVC (Model‑View‑Controller).
  • RVM (Ruby Version Manager) — менеджер версий Ruby. Позволяет устанавливать и переключаться между версиями Ruby в системе.

Требования

Перед началом убедитесь, что у вас есть:

  • Rocky Linux 8.x с правами sudo.
  • Установленный PostgreSQL (см. секцию ниже или отдельную инструкцию «How to Install PostgreSQL on Rocky Linux»).
  • Доступ к интернету для загрузки пакетов.

Пример тестовой машины в инструкции:

  • ОС: Rocky Linux 8.4
  • IP: 192.168.1.10

Заставка руководства по установке Rails

Установка RVM (Ruby Version Manager)

RVM упрощает работу с несколькими версиями Ruby на одной машине.

  1. Импортируйте GPG ключи разработчиков RVM.
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
  1. Установите RVM.
curl -L get.rvm.io | bash -s stable

После установки загрузите профиль RVM в текущую сессию shell:

source /etc/profile.d/rvm.sh
  1. Перезагрузите RVM и установите зависимости, необходимые для сборки Ruby:
rvm reload
rvm requirements run
  1. Проверьте доступные версии Ruby в репозитории RVM:
rvm list known

Вывод rvm list known с перечнем версий Ruby

Установка Ruby через RVM

Текущая версия Rails требует Ruby 2.5 или новее. Мы установим Ruby 3.x.

  1. Установите последнюю стабильную версию Ruby через RVM:
rvm install ruby

Процесс может занять время, так как производится сборка и установка зависимостей.

Процесс установки Ruby через rvm

  1. Проверьте установленную версию:
rvm list
ruby --version

В выводе вы увидите установленную версию, например ruby 3.0.0 или выше.

Установка Node.js и yarn

Rails использует JavaScript в части фронтенда. Для управления пакетами и сборки потребуется Node.js и yarn.

  1. Включите модуль Node.js версии 14:
sudo dnf module enable nodejs:14

Подтвердите нажатием y и Enter.

  1. Установите nodejs и npm:
sudo dnf install nodejs npm -y
  1. Установите yarn глобально:
npm install -g yarn
  1. Проверьте версии:
node --version
yarn --version

Пример вывода:

v14.17.5
1.22.17

Включение модуля nodejs и проверка версии

Установка Rails

Команда gem входит в состав Ruby и позволяет устанавливать пакеты RubyGems, включая rails.

  1. Добавьте каталог /usr/local/bin в переменную PATH для текущего пользователя, чтобы система находила установленные бинарные файлы:
echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrc
source ~/.bashrc

Важно: если вы меняете PATH глобально для всех пользователей, редактируйте соответствующие файлы в /etc/profile.d с осторожностью.

  1. Установите Rails командой gem:
gem install rails

Команда установит необходимые гемы и интеграции для работы Rails с JavaScript.

  1. Проверьте версию Rails:
rails --version

Пример вывода: Rails 6.1.4.1 (версии могут отличаться в момент установки).

Подготовка пользователя PostgreSQL

Перед созданием проекта убедитесь, что PostgreSQL установлен и запущен.

  1. Установите дополнительные зависимости для сборки расширений, требуемых для взаимодействия Rails с PostgreSQL:
sudo dnf install postgresql-devel libpq-devel -y
  1. Войдите в оболочку PostgreSQL от имени пользователя postgres:
sudo -u postgres psql
  1. Создайте роль для приложения, например appuser, с правом создавать базы и паролем userpassword:
CREATE ROLE appuser WITH CREATEDB LOGIN PASSWORD 'userpassword';
  1. Проверьте список ролей:
\du

Вы увидите роль appuser в выводе. Выйдите из psql командой:

\q

Создание роли PostgreSQL для приложения

Важно: используйте надежные пароли и храните их в защищенных хранилищах (vault). Для production лучше создать отдельного пользователя с минимально необходимыми правами.

Создание нового проекта Rails с PostgreSQL

  1. Создайте рабочую директорию, например /var/www, и перейдите в неё:
mkdir -p /var/www; cd /var/www
  1. Создайте новый Rails проект с базой данных PostgreSQL:
rails new appname --database=postgresql

Команда создаст директорию appname с каркасом приложения.

  1. Отредактируйте конфигурацию базы данных в config/database.yml, указав учётные данные, созданные ранее. Пример для development, test и production:
development:
  <<: *default
  database: appname_development
  username: appuser
  password: userpassword
  host: localhost
  port: 5432

test:
  <<: *default
  database: appname_test
  username: appuser
  password: userpassword
  host: localhost
  port: 5432

production:
  <<: *default
  database: appname_production
  username: appuser
  password: userpassword
  host: localhost
  port: 5432

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

  1. Подготовьте базу и выполните миграции:
rails db:setup
rails db:migrate

Выполнение миграций Rails

  1. Запустите сервер разработки и укажите binding на IP сервера (замените IP на ваш сервер):
rails server --binding=192.168.1.10

Сервер по умолчанию запускается в окружении development на порту 3000.

Запуск сервера Rails

  1. Откройте браузер и перейдите по адресу:

http://192.168.1.10:3000/

Вы увидите стартовую страницу Rails.

Стартовая страница Ruby on Rails

Поздравляем — вы создали рабочий проект Rails с PostgreSQL.

Проверка и отладка — распространённые проблемы и решения

  • Ошибка при сборке гемов с native extensions: убедитесь, что установлены gcc, make и соответствующие dev-пакеты, например gcc, make, openssl-devel.
  • Невозможно подключиться к PostgreSQL: проверьте, что сервис запущен, и что host/port в database.yml совпадают с настройками PostgreSQL. Проверьте pg_hba.conf для разрешений соединений.
  • rails не найден после установки gem: убедитесь, что путь /usr/local/bin присутствует в PATH и перезагрузите shell.
  • Ошибки с yarn или node: проверьте версии node и yarn; при необходимости переустановите модуль nodejs и yarn.

Рекомендации по безопасности и продакшен‑настройке

  • Не используйте встроенный сервер rails (puma в dev режиме) в production. Разверните приложение через Passenger, Puma с systemd или в контейнере за обратным прокси (Nginx/Apache).
  • Настройте SSL/TLS на уровне веб‑сервера.
  • Храните секреты и пароли в менеджере секретов или системах окружения, а не в репозитории.
  • Настройте регулярные бэкапы PostgreSQL и мониторинг дискового пространства и SLI для базы данных.

Альтернативные подходы и расширения

  • Если вы не хотите собирать Ruby из исходников, можно использовать пакеты rbenv или системы управления пакетами OS, хотя RVM остаётся удобным при одновременной работе с несколькими версиями Ruby.
  • Для развёртывания рассмотрите Docker контейнеры с предустановленным Ruby и bundle, либо использование платформ PaaS, например Heroku или Railway.
  • Вместо yarn можно применять esbuild или webpacker в зависимости от версии Rails и предпочтений по сборке фронтенда.

Контрольные списки по ролям

Администратор системы:

  • Установить RVM, Ruby, Node.js и yarn.
  • Настроить и обеспечить доступ к PostgreSQL.
  • Настроить бэкап и мониторинг.

Разработчик:

  • Проверить ruby –version и rails –version.
  • Настроить локальное окружение и dotenv для секретов.
  • Выполнить rails db:setup и миграции.

DevOps / Инженер по развёртыванию:

  • Настроить systemd unit для puma или конфигурацию Passenger + Nginx.
  • Настроить CI/CD для запуска миграций и деплоя.
  • Обеспечить секреты в безопасном хранилище.

Мини‑методика быстрого развёртывания (4 шага)

  1. Установите RVM и Ruby, проверьте версии.
  2. Установите Node.js и yarn, проверьте сборку фронтенда.
  3. Создайте роль в PostgreSQL, настройте database.yml.
  4. Выполните rails db:setup, rails db:migrate, запустите сервер/процесс для продакшена.

Критерии приёмки

  • rails –version возвращает установленную версию.
  • ruby –version соответствует ожидаемой версии (3.x или выше).
  • node –version и yarn –version выдают корректные значения.
  • Приложение успешно подключается к PostgreSQL и выполняет миграции.
  • По адресу http://:3000/ доступна стартовая страница Rails.

Короткая сводка и следующие шаги

Вы установили Rails с PostgreSQL и запустили приложение в режиме разработки. Дальше рекомендуется подготовить продакшен‑склад: выбрать сервер приложений (Passenger/ Puma), настроить Nginx как обратный прокси, обеспечить SSL, автоматические бэкапы PostgreSQL и настройку CI/CD.

Полезные ссылки и команды для быстрого доступа

  • Проверить версии: ruby –version, rails –version, node –version, yarn –version
  • Установить зависимости для PostgreSQL: sudo dnf install postgresql-devel libpq-devel -y
  • Подключиться к PostgreSQL: sudo -u postgres psql

Часто задаваемые вопросы

Q: Можно ли использовать другую версию PostgreSQL? A: Да, Rails поддерживает разные версии PostgreSQL. Убедитесь, что libpq-devel совместим с вашей версией.

Q: Нужно ли устанавливать RVM в production? A: В production часто используют упакованные артефакты (Docker, пакеты, RPM) или rbenv. RVM удобен на серверах разработчика и при работе с несколькими версиями.

Q: Как хранить пароль базы в production? A: Используйте менеджеры секретов или переменные окружения, интегрируйте с системами vault.


Вы завершили базовую установку и подготовку Rails с PostgreSQL на Rocky Linux. Удачной разработки!

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро