Установка Ruby on Rails на Debian 11

Ruby on Rails — бесплатный, открытый и один из самых популярных стеков для создания сайтов и веб-приложений. Фреймворк написан на языке Ruby и следует концепции MVC (Model-View-Controller). Rails упрощает разработку приложений: многие известные сервисы используют этот стек (GitHub, Airbnb, SoundCloud и др.).
В этом руководстве показано, как установить Ruby on Rails на систему Debian 11 и выполнить базовую проверку работоспособности приложения.
Важно: исходный материал упоминал Ubuntu 20.04 в списке требований, но шаги в руководстве ориентированы на Debian 11. Если вы используете Ubuntu 20.04, большинство команд останутся одинаковыми, но некоторые пакеты-репозитории и пути могут отличаться.
Перед началом
- Сервер с Debian 11 (root-доступ или пользователь с правами sudo).
- Настроен пароль root или доступ через sudo.
- Рекомендуется резервная копия важных данных перед изменением системных настроек.
Установка RVM (Ruby Version Manager)
RVM — менеджер версий Ruby, который позволяет устанавливать и переключаться между несколькими версиями Ruby в системе.
- Установите необходимые зависимости:
apt-get install gnupg2 curl wget -y- Импортируйте GPG-ключи RVM:
gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -- Скачайте и запустите установочный скрипт RVM (установит последнюю стабильную версию и Ruby по умолчанию):
curl -sSL https://get.rvm.io | bash -s stable --ruby- Загрузите скрипт RVM в текущее окружение (чтобы сразу использовать rvm):
source /usr/local/rvm/scripts/rvm- Проверьте версию RVM:
rvm versionОжидаемый пример вывода:
rvm 1.29.12 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]Важно: если команда rvm не найдена после source, проверьте путь установки RVM и shell-конфигурацию (.bashrc/.profile).
Установка Ruby через RVM
- Обновите RVM до последней версии:
rvm get stable --autolibs=enable- Добавьте root-пользователя в группу rvm (если вы работаете под root или используете sudo для rvm-команд):
usermod -a -G rvm root- Установите нужную версию Ruby. В примере — 3.0.2:
rvm install ruby-3.0.2- Сделайте эту версию Ruby версией по умолчанию:
rvm --default use ruby-3.0.2- Проверьте установленную версию Ruby:
ruby --versionОжидаемый пример вывода:
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]Установка Node.js и Yarn (обязательна для современных Rails)
Node.js нужен для сборки/обработки JavaScript-ресурсов, Yarn — менеджер пакетов фронтенда.
- Установите компиляторы и инструменты сборки:
apt-get install gcc g++ make -y- Добавьте репозиторий NodeSource для Node.js 14:
curl -sL https://deb.nodesource.com/setup_14.x | bash -- Добавьте репозиторий Yarn и его ключ:
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list- Обновите списки пакетов и установите Node.js и Yarn:
apt-get update
apt-get install nodejs yarn -y- Проверьте версии:
node --versionОжидаемый пример вывода:
v14.18.1yarn --versionОжидаемый пример вывода:
1.22.15Обновление RubyGems и базовая настройка
- Обновите RubyGems (менеджер пакетов Ruby):
gem update --system- Проверьте версию gem:
gem -vОжидаемый пример вывода:
3.2.29- Отключите установку документации для gem (ускорит установку):
echo "gem: --no-document" >> ~/.gemrcУстановка Ruby on Rails
Установите конкретную версию Rails через gem. В примере используется 6.1.4:
gem install rails -v 6.1.4Проверьте версию Rails:
rails -vОжидаемый пример вывода:
Rails 6.1.4Создание проекта и запуск сервера
- Создайте новый проект (по умолчанию создаст структуру приложения):
rails new project- Перейдите в папку проекта и проверьте файлы:
cd project
lsПример ожидаемого вывода (список файлов проекта):
app bin config.ru Gemfile lib node_modules postcss.config.js Rakefile storage tmp yarn.lock
babel.config.js config db Gemfile.lock log package.json public README.md test vendor- Запустите встроенный сервер Puma, указав IP и порт (пример с IP и портом из исходного материала):
rails s -b 69.87.221.117 -p 8080Вы увидите примерно такой вывод:
=> Booting Puma
=> Rails 6.1.4.1 application starting in development
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 5.5.2 (ruby 3.0.2-p107) ("Zawgyi")
* Min threads: 5
* Max threads: 5
* Environment: development
* PID: 40403
* Listening on http://69.87.221.117:8080
Use Ctrl-C to stopВ браузере откройте http://ваш-IP:8080 — вы должны увидеть стартовую страницу Rails:

Проверки и критерии приёмки
Критерии приёмки (минимум):
- Команды rvm, ruby, rails, node и yarn возвращают корректные версии.
- rails new создал структуру проекта с каталогами app, config, db и др.
- rails s успешно запускает Puma и приложение отвечает на указанный IP/порт.
Когда установка может не получится (частые проблемы)
- GPG-ключи не импортируются — проверьте доступ к интернету и корректность keyserver.
- rvm не находится в PATH — убедитесь, что вы выполнили source /usr/local/rvm/scripts/rvm или перезапустили shell.
- Ошибки при сборке gem-расширений — установите build-essential и заголовки ruby-dev (на Debian: package build-essential, libssl-dev, zlib1g-dev).
- Проблемы с правами — запускайте команды установки под пользователем с правами sudo или root.
Альтернативные подходы
- rbenv вместо RVM — более лёгкий менеджер версий Ruby, если вы хотите минимизировать влияние на системный окружение.
- Установка Ruby из системных пакетов apt — быстрее, но версии часто устаревшие.
- Использование контейнеров Docker — рекомендуемый способ для изоляции окружения и одинаковой среды разработки/продакшена.
Небольшая методология (шаги одного листа)
- Установить системные зависимости.
- Установить RVM и импортировать GPG-ключи.
- Установить и переключиться на нужную версию Ruby.
- Установить Node.js и Yarn.
- Обновить gem и установить Rails.
- Создать проект, запустить и проверить доступность в браузере.
Роли и чек-листы
- DevOps / администратор:
- Убедиться в наличии резервных копий и в совместимости версий.
- Настроить системные зависимости и доступы (firewall, SELinux/AppArmor при необходимости).
- Разработчик:
- Проверить, что локальная версия Ruby совпадает с девелоперской.
- Запустить тесты приложения и проверить assets:precompile.
Совместимость и советы по версии
- Ruby 3.0.x хорошо совместим с Rails 6.1.x, но перед апгрейдом приложения проверьте гемы на совместимость.
- Для новых проектов рассмотрите Rails 7 и соответствующие версии Node/Yarn/webpack(er) в зависимости от стека фронтенда.
Безопасность и эксплуатация
- Не запускайте приложение на публичном IP в режиме development в продакшене.
- Настройте reverse proxy (Nginx/Apache) и SSL для публичного доступа.
- Ограничьте доступ по firewall для административных портов.
Краткий глоссарий (1 строка на термин)
- RVM — менеджер версий Ruby.
- RubyGems (gem) — пакетный менеджер для Ruby.
- Rails — веб-фреймворк на Ruby (MVC).
- Puma — HTTP-сервер для приложений на Ruby.
Заключение
Поздравляю — вы установили Ruby on Rails на систему Debian 11 и запустили базовый проект. Дальше рекомендуем:
- Настроить систему контроля версий (Git).
- Перенести приложение под reverse proxy и настроить SSL.
- Добавить автоматизацию развёртывания (Capistrano, Docker, CI/CD).
Ключевые действия: настройка RVM, установка Ruby, Node.js и Yarn, обновление gem и установка Rails. Если столкнётесь с ошибками — проверьте логи, зависимости сборки и права доступа.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента