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:
|
1 |
sudo apt update |
Затем установите компоненты MySQL:
|
1 |
sudo apt install install mysql-server mysql-client libmysqlclient-dev |
После завершения установки запустите следующий скрипт MySQL. Он выполнит быструю настройку после установки:
|
1 |
sudo mysql_secure_installation |
Скрипт задаст несколько вопросов. Выполните шаги, чтобы завершить первоначальную настройку:
-
Дополнительный шаг
Следующий шаг является необязательным и должен выполняться только в том случае, если далее в руководстве Ruby on Rails не удастся подключиться к серверу MySQL. Он настраивает пользователя root в MySQL для использования mysql_native_password для разрешения традиционного входа по паролю. Получите доступ к учетной записи root на Ubuntu:
|
1 |
sudo su |
Теперь запустите оболочку MySQL root без проверки пароля:
|
1 |
mysql -u root --skip-password |
Затем выполните следующий запрос, чтобы изменить пароль и установить mysql_native_password в качестве метода аутентификации:
|
1 2 |
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<password>'; FLUSH PRIVILEGES; |
Шаг 2: Установка и настройка Ruby и Ruby on Rails
Наш сервер базы данных готов к работе. Теперь нам нужно установить Ruby. Как упоминалось ранее, мы будем использовать rbenv в качестве менеджера версий Ruby для нашего проекта. Ruby on Rails доступен как Ruby gem.
-
Установка rbenv
Менеджер Ruby rbenv доступен напрямую из официального репозитория пакетов Ubuntu. Для других дистрибутивов ознакомьтесь с официальным руководством по установке rbenv.
Запустите терминал и сразу же установите его:
|
1 |
sudo apt install rbenv |
Затем нам нужно интегрировать rbenv с оболочкой по умолчанию. Выполните следующую команду rbenv:
|
1 |
rbenv init |
Как указано в выводе, для bash нам нужно добавить строку в локальный файл bashrc. Не вдаваясь в подробности, файл bashrc загружается каждый раз, когда пользователь открывает новую оболочку в интерактивном режиме. Откройте файл в текстовом редакторе и добавьте следующий текст:
|
1 |
nano ~/.bashrc |
Сохраните файл и закройте редактор. Рекомендуется перезапустить терминал, чтобы изменения вступили в силу. Кроме того, вы можете перезагрузить файл bashrc в текущую оболочку:
|
1 |
source ~/.bashrc |
Затем мы установим rbenv плагин для обеспечения поддержки команды rbenv install. Этот плагин доступен напрямую из репозитория rbenv на GitHub. Выполните следующие команды:
|
1 2 |
mkdir -p "$(rbenv root)"/plugins git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build |
Чтобы протестировать конфигурацию rbenv, запустите скрипт rbenv-doctor:
|
1 |
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash |
Он проверит различные компоненты и сообщит, все ли в порядке.
-
Установка Ruby
После того как rbenv настроен, мы готовы к установке Ruby. Следующая команда выведет список всех доступных версий Ruby:
|
1 |
rbenv install -l |
Вывод будет довольно длинным, поэтому для удобства просмотра рекомендуется передать его через утилиту more или less. Список также содержит различные сборки Ruby. В рамках этого руководства мы сосредоточимся на последней официальной сборке Ruby. На момент написания этой статьи это Ruby v3.0.3.
Теперь установите Ruby:
|
1 |
rbenv install <ruby_version> |
Следующая команда объявит установленную версию Ruby глобальной версией, доступной для всех приложений:
|
1 |
rbenv global <ruby_version> |
Проверьте установку Ruby:
|
1 |
ruby --version |
-
Установка Ruby on Rails
Этот веб-фреймворк доступен в виде gem-пакета для Ruby. Хотя Ruby on Rails доступен напрямую из серверов пакетов Ubuntu, его установка в виде gem-пакета обеспечивает большую гибкость.
Сначала установите gem-пакет Bundler. Это инструмент, который разрешает зависимости gem-пакетов. Rails зависит от него:
|
1 |
gem install bundler |
Выполнение следующей команды установит последнюю стабильную версию Ruby on Rails в виде gem-пакета:
|
1 |
gem install rails |
Если вы хотите установить конкретную версию, структура команды будет выглядеть следующим образом:
|
1 |
gem install rails <rails_version> |
После установки gem-пакетов выполните следующую команду:
|
1 |
rbenv rehash |
Менеджер версий Ruby rbenv работает путем создания специальных директорий для шимов (shims), которые указывают на файлы текущей активной версии Ruby. Подкоманда rehash указывает rbenv поддерживать шимы в этой директории в соответствии с каждой командой Ruby для всех установленных версий Ruby на сервере. Ее следует запускать каждый раз при установке новой версии Ruby или gem-пакета, предоставляющего команды, аналогичные Rails.
Проверьте установку Rails:
|
1 |
rails -v |
Шаг 3. Установка gem-пакета MySQL
Для подключения к серверу MySQL Rails требуется адаптер. Мы будем использовать gem-пакет mysql2 для этой функциональности. Установите gem-пакет mysql2:
|
1 |
gem install mysql2 |
Шаг 4. Создание и настройка нового приложения Rails
-
Создание тестового приложения
На данный момент мы настроили все необходимые компоненты для создания нашего приложения Rails. Следующая команда создаст отдельную директорию для приложения и поместит туда все необходимые файлы с поддержкой MySQL:
|
1 |
rails new <app_name> -d mysql |
-
Настройка подключения к MySQL
Теперь нам нужно указать необходимую информацию о MySQL, чтобы Rails мог подключиться к базе данных и обмениваться данными. По умолчанию Rails подключается к MySQL от имени пользователя root. Откройте конфигурационный файл базы данных Rails:
|
1 2 |
cd <app_dir> nano config/database.yml |
Прокрутите вниз до следующего раздела и введите пароль root для MySQL. Затем сохраните файл и закройте редактор.
-
Применение изменений в базе данных
Если все прошло успешно, Rails теперь должен иметь возможность подключиться к MySQL и выполнить необходимые операции с базой данных. Следующая команда создаст необходимые базы данных:
|
1 |
rake db:create |
Шаг 5. Тестирование конфигурации
Запустите сервер разработки Rails:
|
1 |
rails server --привязка=<server_public_ip> |
Вы сможете получить доступ к приветственной странице по следующему URL-адресу:
|
1 |
http://<server_public_ip>:3000 |
Заключение
В этом руководстве мы установили 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.
Приятной работы!






















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