Как установить и использовать Ruby on Rails с PostgreSQL в CentOS 7
На этой странице
- Шаг 1. Установите RVM
- Шаг 2. Установите Ruby
- Шаг 3. Установите Nodejs
- Шаг 4. Настройка Gem
- Шаг 5. Установите Ruby on Rails 5 (стабильную версию)
- Шаг 6. Настройка базы данных PostgreSQL для разработки на Rails
- Шаг 7. Создание первого приложения с помощью Rails и PostgreSQL
- Ссылки
Ruby on Rails (RoR), или сокращенно «rails», представляет собой серверную структуру веб-приложений, написанную на ruby, которая следует концепции MVC (Model-View-Controller). RoR выпускается под лицензией OpenSource MIT. Rails предоставляет структуры по умолчанию для баз данных, веб-служб и веб-страниц. Rails широко используется, более 3000 человек внесли код в проект Rails до сих пор, и существует множество приложений, основанных на Rails, таких как Github, Airbnb, Soundcloud и т. д.
В этом руководстве я покажу вам, как установить Rails на CentOS 7. Мы установим и настроим Ruby on Rails с базой данных PostgreSQL, а затем создадим наш первый проект с Rails.
Предпосылка
- Сервер с операционной системой CentOS 7
- Привилегии root
Шаг 1 — Установите RVM
RVM или Ruby Version Manager — это инструмент командной строки, основанный на Bash и Ruby, для управления установкой ruby. RVM позволяет вам одновременно устанавливать и настраивать несколько версий ruby на одном сервере, чтобы вы могли работать с несколькими средами ruby.
Убедитесь, что в вашей системе установлена команда curl.
yum install curl
На этом этапе мы установим стабильную версию RVM. Нам нужно загрузить ключ репозитория и импортировать его с помощью команды gpg, прежде чем мы начнем устанавливать RVM.
curl -sSL https://rvm.io/mpapis.asc | gpg --import -
Затем установите РВМ.
curl -sSL https://get.rvm.io | bash -s stable --ruby
Команда сначала установит необходимые пакеты (зависимости пакетов), а затем загрузит последнюю стабильную версию RVM и установит ее.
Теперь мы можем начать использовать RVM, выполнив команду ниже:
source /usr/local/rvm/scripts/rvm
Шаг 2 — Установите Руби
Текущая стабильная версия Ruby — 2.3.1. Мы установим его с помощью команды \rvm\, а затем сделаем его рубиновой версией по умолчанию для вашей системы.
Обновите RVM до последней стабильной версии, затем установите Ruby 2.3.1.
rvm get stable --autolibs=enable
rvm install ruby-2.3.1
Затем сделайте Ruby 2.3.1 версией системы Ruby по умолчанию.
rvm --default use ruby-2.3.1
Проверьте версию Ruby с помощью приведенной ниже команды, чтобы убедиться, что описанные выше шаги выполнены успешно:
ruby -v
Шаг 3 — Установите Nodejs
Rails требуется среда выполнения JavaScript для компиляции конвейера ресурсов Rails. Для разработки Rails в Ubuntu Linux лучше всего установить Nodejs в качестве среды выполнения Javascript.
Установите nodejs из репозитория nodesource:
curl -sL https://rpm.nodesource.com/setup_6.x | sudo -E bash -
yum -y install nodejs
Убедитесь, что node и npm успешно установлены в системе.
node -v
npm -v
Шаг 4 — Настройка драгоценного камня
RubyGems — менеджер пакетов Ruby. Он предоставляет инструмент командной строки gem и автоматически устанавливается при установке Ruby в системе.
Обновите версию gem и проверьте ее:
gem update --system
gem -v
Это необязательно: вы можете отключить установку документации при каждой установке gem, добавив строку ниже в файл .gemrc. Я сделаю это здесь, так как это экономит место на жестком диске, и я предпочитаю читать документацию в Интернете.
echo "gem: --no-document" >> ~/.gemrc
Шаг 5 — Установите Ruby on Rails 5 (стабильную версию)
Установите Ruby on Rails 5 с помощью команды gem ниже:
gem install rails -v 5.0.0
После успешного завершения установки проверьте версию rails:
rails -v
Вы должны увидеть это как результат:
Rails 5.0.0
Rails 5.0 установлен на CentOS 7 с Ruby 2.3.1.
Шаг 6 — Настройка базы данных PostgreSQL для разработки на Rails
На этом этапе мы подготовим PostgreSQL для разработки на рельсах. Ruby on Rails поддерживает множество баз данных, таких как MySQL, SQLite (по умолчанию) и PostgreSQL. В качестве базы данных для этого руководства я буду использовать PostgreSQL.
Установите PostgreSQL с помощью этой команды yum:
yum -y install postgresql-server postgresql-devel postgresql-contrib
Теперь нам нужно инициализировать сервер базы данных с помощью команды initdb.
postgresql-setup initdb
По умолчанию PostgreSQL на сервере CentOS не разрешает аутентификацию на основе пароля. Нам нужно отредактировать конфигурацию PostgreSQL для установки RoR, чтобы разрешить вход с паролем.
Отредактируйте pg_hba.conf с помощью vim:
vim /var/lib/pgsql/data/pg_hba.conf
Измените метод аутентификации на md5.
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Сохраните файл, затем запустите службу postgresql.
systemctl start postgresql
Postgresql работает на локальном IP-адресе с портом 5432, вы можете проверить это с помощью команды ниже:
netstat -plntu
systemctl status postgresql
Когда установка будет завершена, станьте пользователем postgres в оболочке с помощью su, а затем получите доступ к оболочке postgresql (psql).
su - postgres
psql
Установите новый пароль для пользователя postgres с помощью следующей команды:
\password postgres
Enter new password:
Затем создайте новую роль с именем rails-dev для разработки рельсов с помощью этой команды:
create role rails_dev with createdb login password 'aqwe123';
Проверьте новую роль, вы увидите, что новая роль создана:
\du
База данных PostgreSQL и пользователь для Rails Development созданы.
Шаг 7 — Создайте первое приложение с Rails и PostgreSQL
Мы можем легко создать наше первое приложение с помощью команды rails.
Создайте новое приложение с PostgreSQL в качестве базы данных по умолчанию.
rails new myapp -d postgresql
Эта команда создаст новый каталог myapp и установит новый гем, включая гем \pg\, который требуется рельсам для подключения к базе данных PostgreSQL.
Перейдите в каталог newapp и отредактируйте файл database.yml в каталоге config.
cd myapp/
vim config/database.yml
В разделе разработки раскомментируйте строку 32 и установите роль, которую мы создали на шаге 6.
username: rails_dev
Установите пароль пользователя rails_dev в строке 35.
password: aqwe123
Раскомментируйте строки 40 и 44 для конфигурации хоста базы данных.
host: localhost
port: 5432
Теперь перейдите в тестовый раздел и добавьте новую конфигурацию ниже:
database: myapp_test
host: localhost
port: 5432
username: rails_dev
password: aqwe123
Сохраните файл и выйдите из редактора.
Затем создайте базу данных с помощью команды rails:
rails db:setup
rails db:migrate
Затем запустите сервер rails с помощью следующей команды:
rails s -b 192.168.33.10 -p 8080
Откройте веб-браузер и посетите IP-адрес сервера на порту 8080 — 192.168.33.10:8080.
Вернитесь к своему терминалу. Создайте новый каркас для взаимодействия с базой данных PostgreSQL.
Введите команду ниже:
rails g scaffold Post title:string body:text
rake db:migrate
Снова запустите сервер rails.
rails s -b 192.168.33.10 -p 8080
Посетите сервер: 192.168.33.10:8080/сообщения
Вы увидите простой интерфейс CRUD, написанный на Ruby on Rails с PostgreSQL.
Ссылки
- https://www.postgresql.org/docs/