Назад в блог

Использование MySQL с приложением Ruby on Rails на Ubuntu 21.04

Использование MySQL с приложением Ruby on Rails на Ubuntu 21.04

Ruby — мощный язык программирования. Это интерпретируемый, высокоуровневый язык общего назначения, сочетающий в себе несколько парадигм программирования. Юкихиро Мацумото, создатель Ruby, объединил различные части своих любимых языков программирования, таких как Perl, Ada, Lisp, Eiffel, Smalltalk и др., и создал Ruby. По его собственным словам, он стремился сделать Ruby «более естественным, а не простым”.

Большая часть популярности Ruby обусловлена Ruby on Rails — мощным веб-фреймворком, созданным на базе Ruby. Он служит бэкендом для многочисленных веб-приложений, например, Airbnb, Spotify, GitHub, SoundCloud и других. Философия Ruby on Rails заключается в том, чтобы предложить интуитивно понятный фреймворк для ускорения создания надежных и высокопроизводительных веб-страниц.

Будучи веб-фреймворком, Ruby on Rails может работать с популярными движками баз данных, например, SQLite, MySQL/MariaDB, и PostgreSQL. В этом руководстве будет показано создание основы приложения Ruby on Rails, использующего MySQL в качестве движка базы данных.

Предварительные требования

  • Все шаги, продемонстрированные в этом руководстве, выполняются на Ubuntu 21.04. Узнайте больше о настройке сервера Ubuntu здесь.
  • Мы также покажем быструю демонстрацию установки и настройки сервера MySQL. Для получения дополнительной информации обратитесь к этому руководству по настройке MySQL.
  • Что касается установки и управления Ruby, мы будем использовать rbenv. Это инструмент, разработанный для помощи в управлении окружением Ruby. По сравнению с RVM, rbenv имеет свои отличия.

Шаг 1: Установка и настройка MySQL

MySQL будет служить бэкендом базы данных для нашего приложения Ruby on Rails. Предполагая, что у вас еще не установлен и не настроен MySQL, следуйте инструкциям. Запустите терминал и обновите кэш APT:

MySQL with Ruby on Rails code screenshot 1

Затем установите компоненты MySQL:

MySQL with Ruby on Rails code screenshot 2

После завершения установки запустите следующий скрипт MySQL. Он выполнит быструю настройку после установки:

Скрипт задаст несколько вопросов. Выполните шаги, чтобы завершить первоначальную настройку:

MySQL with Ruby on Rails code screenshot 4

3

4

MySQL with Ruby on Rails code screenshot 5

  • Дополнительный шаг

Следующий шаг является необязательным и должен выполняться только в том случае, если далее в руководстве Ruby on Rails не удастся подключиться к серверу MySQL. Он настраивает пользователя root в MySQL для использования mysql_native_password для разрешения традиционного входа по паролю. Получите доступ к учетной записи root на Ubuntu:

Теперь запустите оболочку MySQL root без проверки пароля:

Затем выполните следующий запрос, чтобы изменить пароль и установить mysql_native_password в качестве метода аутентификации:

MySQL with Ruby on Rails code screenshot 6

Шаг 2: Установка и настройка Ruby и Ruby on Rails

Наш сервер базы данных готов к работе. Теперь нам нужно установить Ruby. Как упоминалось ранее, мы будем использовать rbenv в качестве менеджера версий Ruby для нашего проекта. Ruby on Rails доступен как Ruby gem.

  • Установка rbenv

Менеджер Ruby rbenv доступен напрямую из официального репозитория пакетов Ubuntu. Для других дистрибутивов ознакомьтесь с официальным руководством по установке rbenv.

Запустите терминал и сразу же установите его:

MySQL with Ruby on Rails code screenshot 7

Затем нам нужно интегрировать rbenv с оболочкой по умолчанию. Выполните следующую команду rbenv:

MySQL with Ruby on Rails code screenshot 8

Как указано в выводе, для bash нам нужно добавить строку в локальный файл bashrc. Не вдаваясь в подробности, файл bashrc загружается каждый раз, когда пользователь открывает новую оболочку в интерактивном режиме. Откройте файл в текстовом редакторе и добавьте следующий текст:

nano

Сохраните файл и закройте редактор. Рекомендуется перезапустить терминал, чтобы изменения вступили в силу. Кроме того, вы можете перезагрузить файл bashrc в текущую оболочку:

Затем мы установим rbenv плагин для обеспечения поддержки команды rbenv install. Этот плагин доступен напрямую из репозитория rbenv на GitHub. Выполните следующие команды:

git clone

Чтобы протестировать конфигурацию rbenv, запустите скрипт rbenv-doctor:

curl

Он проверит различные компоненты и сообщит, все ли в порядке.

  • Установка Ruby

После того как rbenv настроен, мы готовы к установке Ruby. Следующая команда выведет список всех доступных версий Ruby:

rbenv install -l

Вывод будет довольно длинным, поэтому для удобства просмотра рекомендуется передать его через утилиту more или less. Список также содержит различные сборки Ruby. В рамках этого руководства мы сосредоточимся на последней официальной сборке Ruby. На момент написания этой статьи это Ruby v3.0.3.

Теперь установите Ruby:

rbenv install

Следующая команда объявит установленную версию Ruby глобальной версией, доступной для всех приложений:

Проверьте установку Ruby:

ruby

  • Установка Ruby on Rails

Этот веб-фреймворк доступен в виде gem-пакета для Ruby. Хотя Ruby on Rails доступен напрямую из серверов пакетов Ubuntu, его установка в виде gem-пакета обеспечивает большую гибкость.

Сначала установите gem-пакет Bundler. Это инструмент, который разрешает зависимости gem-пакетов. Rails зависит от него:

gem install bundler

Выполнение следующей команды установит последнюю стабильную версию Ruby on Rails в виде gem-пакета:

gem install rails

Если вы хотите установить конкретную версию, структура команды будет выглядеть следующим образом:

После установки gem-пакетов выполните следующую команду:

rbenv rehash

Менеджер версий Ruby rbenv работает путем создания специальных директорий для шимов (shims), которые указывают на файлы текущей активной версии Ruby. Подкоманда rehash указывает rbenv поддерживать шимы в этой директории в соответствии с каждой командой Ruby для всех установленных версий Ruby на сервере. Ее следует запускать каждый раз при установке новой версии Ruby или gem-пакета, предоставляющего команды, аналогичные Rails.

Проверьте установку Rails:

rails

Шаг 3. Установка gem-пакета MySQL

Для подключения к серверу MySQL Rails требуется адаптер. Мы будем использовать gem-пакет mysql2 для этой функциональности. Установите gem-пакет mysql2:

gem install mysql2

Шаг 4. Создание и настройка нового приложения Rails

  • Создание тестового приложения

На данный момент мы настроили все необходимые компоненты для создания нашего приложения Rails. Следующая команда создаст отдельную директорию для приложения и поместит туда все необходимые файлы с поддержкой MySQL:

rails new

  • Настройка подключения к MySQL

Теперь нам нужно указать необходимую информацию о MySQL, чтобы Rails мог подключиться к базе данных и обмениваться данными. По умолчанию Rails подключается к MySQL от имени пользователя root. Откройте конфигурационный файл базы данных Rails:

nano config

Прокрутите вниз до следующего раздела и введите пароль root для MySQL. Затем сохраните файл и закройте редактор.

  • Применение изменений в базе данных

Если все прошло успешно, Rails теперь должен иметь возможность подключиться к MySQL и выполнить необходимые операции с базой данных. Следующая команда создаст необходимые базы данных:

rake db

Шаг 5. Тестирование конфигурации

Запустите сервер разработки Rails:

rails server

Вы сможете получить доступ к приветственной странице по следующему URL-адресу:

URL

Заключение

В этом руководстве мы установили Ruby с помощью rbenv, установили gem Rails и настроили пример приложения Rails для подключения к MySQL и использования его в качестве базы данных. Это отличный каркас для масштабируемого и централизованного веб-приложения.

Чтобы узнать, как установить Ruby on Rails с помощью RVM на Ubuntu 20.04, ознакомьтесь со следующим руководством Установка Ruby on Rails с помощью RVM на Ubuntu 20.04. Чтобы узнать, как настроить Ruby on Rails с PostgreSQL, ознакомьтесь со следующим руководством: Настройка Ruby on Rails с PostgreSQL.

Приятной работы!

author

Hark Labs

Автор · CloudSigma

Preslav Dobrev — креативный дизайнер в CloudSigma, сосредоточенный на формировании последовательного корпоративного образа с помощью традиционных и инновационных маркетинговых каналов. Он умело сочетает художественное видение со стратегическим маркетингом, создавая убедительные истории бренда.

Комментарии

Комментариев пока нет. Будьте первым.