Как установить Ruby on Rails с PostgreSQL на AlmaLinux 9

Ruby on Rails или RoR или Rails — это бесплатный фреймворк веб-приложений с открытым исходным кодом, написанный на Ruby под лицензией MIT. Это полнофункциональный веб-фреймворк, использующий паттерн модель-вид-контроллер (MVC).

Веб-фреймворк Rails предоставляет структуры для базы данных, веб-сервиса и веб-страниц. Кроме того, Rails включает в себя некоторые важные инструменты, такие как scaffolding, Puma, Gems и т. д.

В этом руководстве вы узнаете, как установить Ruby on Rails с базой данных PostgreSQL на машину с AlmaLinux 9. К концу руководства у вас будет настроена среда разработки для вашего Rails-проекта.

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

Чтобы выполнить это руководство, убедитесь, что у вас есть следующее:

  • Машина с AlmaLinux 9 — в данном примере будет использоваться AlmaLinux 9 с именем хоста almalinux9 и IP-адрес 192.168.10.15.
  • Некорневой пользователь с привилегиями root/sudo.

Установка PostgreSQL

Сначала вы установите сервер PostgreSQL, который будет использоваться в качестве базы данных для вашего Rails-проекта. Вы можете установить его через репозиторий AppStream, но в данном руководстве вы будете устанавливать его официально из репозитория PostgreSQL.

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

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

добавить репозиторий postgresql

Теперь установите сервер PostgreSQL с помощью следующей команды. Вместе с ним вы также установите libpq5-devel — библиотеку PostgreSQL, которая будет использоваться в вашем Rails-приложении.

sudo dnf install -y postgresql15-server postgresql15-contrib libpq5-devel

установка postgresql

После этого выполните следующую команду для инициализации конфигурации сервера PostgreSQL.

sudo postgresql-15-setup initdb

Затем запустите и включите службу PostgreSQL с помощью следующей команды systemctl.

sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15

инициализировать postgresql

Наконец, проверьте работу службы PostgreSQL с помощью команды, приведенной ниже. При запуске вы должны получить сообщение типа ‘active (exited)‘ или ‘активный (работающий)‘.

sudo systemctl status postgresql-15

проверка службы postgresql

Установка Ruby

По умолчанию репозиторий AlmaLinux appstream предоставляет Ruby 3.x , который подходит для Ruby on Rails. В этом разделе вы установите Ruby 3.0 с помощью менеджера пакетов DNF.

Выполните приведенную ниже команду, чтобы проверить список доступных версий Ruby в репозитории appstream.

sudo dnf module list ruby

Следующий вывод подтверждает, что репозиторий AlmaLinux также предоставляет Ruby 3.1.

список модулей ruby

Теперь выполните следующую команду для установки пакетов Ruby и Ruby development. Введите y для подтверждения и нажмите ENTER, чтобы продолжить.

sudo dnf install ruby ruby-devel

установить ruby

Когда Ruby будет установлен, проверьте его с помощью следующей команды. Вы должны увидеть Ruby v3.0 , установленный в вашей системе AlmaLinux.

ruby --version

проверка версии ruby

Установка Node.js и менеджера пакетов Yarn

Перед установкой Rails необходимо установить менеджер пакетов Node.js и Yarn. Оба пакета будут использоваться Rails для компиляции статических файлов в вашем Rails-проекте.

Выполните приведенную ниже команду dnf, чтобы установить пакеты Node.js и NPM. Когда появится запрос, введите y и нажмите ENTER, чтобы продолжить.

sudo dnf install nodejs npm -y

установить node.js и npm

Далее выполните приведенную ниже команду npm, чтобы установить менеджер пакетов Yarn.

sudo npm install -g yarn

Менеджер пакетов Yarn должен быть доступен в /usr/local/bin каталог. Таким образом. вы должны добавить /usr/local/bin каталог в переменную окружения PATH.

Выполните следующую команду, чтобы добавить каталог /usr/local/bin каталог в переменную окружения PATH с помощью команды .bashrc файл и перезагрузите его, чтобы применить изменения.

echo "export PATH=$PATH:/usr/local/bin" >> ~/.bashrc
source ~/.bashrc

Теперь выполните следующую команду, чтобы найти Node.js и менеджер пакетов Yarn. Двоичный файл Node.js находится по адресу /bin/node а менеджер пакетов Yarn находится по адресу /usr/local/bin/yarn.

which node
which yarn

Наконец, выполните следующую команду, чтобы проверить версию Node.js и менеджера пакетов Yarn.

node --version
yarn --version

проверить node.js и yarn

В этом шаге вы установите «Средства разработки«, которые необходимы Rails.

Выполните следующую команду, чтобы установить «Средства разработки» в вашей системе AlmaLinux.

sudo dnf group install "Development Tools" -y

После завершения установки перейдите к следующему шагу по установке Rails.

Установка Ruby on Rails с помощью менеджера пакетов Gem

Когда все зависимости установлены, вы готовы к установке Ruby on Rails на машину AlmaLinux.

Выполните следующую команду gem для установки Ruby on Rails на вашу систему.

sudo gem install rails

установка rails

После завершения установки выполните следующую команду, чтобы найти двоичный файл Rails и проверить версию Rails.

which rails
rails --version

В следующем выводе вы должны увидеть, что исполняемый файл Rails находится по адресу /usr/local/bin/rails и текущая версия Rails, которая установлена, такова 7.0.

проверка версии рельсов

Создание роли PostgreSQL для проекта Rails

В этом разделе вы создадите новую роль PostgreSQL, которая будет использоваться для проекта Rails. Эта новая роль должна иметь разрешение на создание новых баз данных на PostgreSQL.

Войдите в PostgreSQL с помощью следующей команды. После входа в систему вы должны получить приглашение postgres=>, что подтверждает, что вы подключены к базе данных по умолчанию ‘postgres‘.

sudo -u postgres psql

Теперь выполните следующий запрос, чтобы создать новую роль PostgreSQL, которая будет использоваться для Rails. В этом примере вы создадите новую роль под названием hellorails с паролем пароль пользователя. Этой роли разрешено создавать новые базы данных на PostgreSQL.

CREATE ROLE hellorails WITH CREATEDB LOGIN PASSWORD 'userpassword';

Далее выполните следующий запрос, чтобы проверить список доступных пользователей на PostgreSQL

\du

В случае успеха вы должны увидеть новую роль адские хвосты с атрибутом разрешения Создать БД.

создание роли postgresql

Нажмите Ctrl+d или введите \q для выхода из PostgreSQL.

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

В этом разделе вы узнаете, как создать первый проект Ruby on Rails с помощью программы rails команда.

Создайте новый каталог проекта /var/www и переместите в него текущий рабочий каталог.

mkdir -p /var/www; cd /var/www

Теперь создайте новый Rails-проект под названием hellorails с базой данных PostgreSQL с помощью следующей команды rails. При этом также будет создан новый каталог проекта hellorails.

rails new hellorails --database=postgresql

создание проекта rails

Переместитесь в адские хвосты каталог и откройте конфигурацию базы данных config/database.yml с помощью nano или предпочитаемого вами редактора.

cd hellorails
nano config/database.yml

Измените конфигурацию базы данных по умолчанию для разработки, тестирования и производства следующим образом, и не забудьте использовать правильного пользователя и пароль для данных PostgreSQL.

development:
    database: hellorails_development
  username: hellorails
  password: userpassword
  host: localhost
  port: 5432

test:
database: hellorails_test
user: hellorails
password: userpassword
host: localhost
port: 5432

production:
database: hellorails_production
username: hellorails
password: userpassword
host: localhost
port: 5432

Сохраните файл и выйдите из редактора после завершения работы.

Далее выполните следующую команду для миграции базы данных. В результате будут созданы новые базы данных для вашего проекта Rails.

rails db:setup
rails db:migrate

мигрировать базу данных

После переноса базы данных выполните следующую команду для запуска проекта Rails и не забудьте изменить IP-адрес сервера. Это запустит ваш Rails-проект на определенном IP-адресе 192.168.10.15 с портом по умолчанию 3000.

rails server --binding=192.168.10.15

rails run server

Запустите веб-браузер и зайдите на IP-адрес сервера, за которым следует порт 3000 (т. е. http://192.168.10.15:3000/). Если установка Rails прошла успешно, вы должны получить стандартную страницу index.html вашего проекта Rails.

rails index.html

Заключение

Поздравляем! Теперь вы установили Ruby on Rails с PostgreSQL на машину с AlmaLinux 9. Вы также узнали, как создать роль PostgreSQL и создать первый проект Rails.

Установив Rails на свою систему, вы можете продолжить разработку приложения с помощью Rails, а для стартового пакета вам может быть интересен Ruby Scaffolding, чтобы познакомиться с MVC (Model View Controller) в Rails.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *