Как установить Ruby on Rails (RoR) на Debian 10
Это руководство существует для этих версий ОС
- Debian 11 (Bullseye)
- Debian 10 (Buster)
На этой странице
- Шаг 1. Установите RVM (менеджер версий Ruby)
- Шаг 2. Установите Ruby с RVM
- Шаг 3. Установите Nodejs и Yarn
- Шаг 4. Обновите RubyGem (диспетчер пакетов Ruby)
- Шаг 5. Установите стабильную версию Ruby on Rails
- Шаг 6. Установка и настройка базы данных PostgreSQL
- Шаг 7. Запуск проекта с Ruby on Rails
- Запуск проекта Rails с PostgreSQL
- Создание простого приложения CRUD
Ruby on Rails (RoR) — это среда веб-приложений с открытым исходным кодом, опубликованная под лицензией MIT. Это среда веб-приложений на стороне сервера, которая следует концепции MVC (Model-View-Controller).
Rails предоставляет структуры по умолчанию для базы данных, веб-службы и веб-страниц. Более 3000 разработчиков внесли свой код в структуру Rails, и существует множество известных приложений, основанных на Rails, таких как Github, Airbnb, Soundcloud и т. д.
В этом руководстве мы покажем вам, как установить Ruby on Rails на Debian Buster 10. В этом руководстве рассказывается об установке RVM (Ruby Version Manager), установке базы данных PostgreSQL и создании простого приложения CRUD с Ruby on Rails и использованием PostgreSQL. в качестве внутренней базы данных.
Предпосылки
В этом руководстве мы будем использовать последнюю версию Debian Buster 10 с 2 ГБ ОЗУ, 25 ГБ свободного места на диске и 2 процессорами.
Что мы будем делать?
- Установите RVM (менеджер версий Ruby)
- Установка Ruby с помощью RVM
- Установка Nodejs и Yarn
- Обновите RubyGem (менеджер пакетов Ruby)
- Установка стабильной версии Ruby on Rails
- Установка и настройка базы данных PostgreSQL
- Начало проекта с Ruby on Rails
Шаг 1 — Установите RVM (Менеджер версий Ruby)
Сначала мы установим RVM (менеджер версий Ruby) на наш сервер Debian. RVM упростит вам установку и управление Ruby в вашей системе, особенно если вы используете несколько версий Ruby.
Прежде чем идти дальше, установите пакет gnupg2 с помощью приведенной ниже команды apt.
sudo apt install gnupg2
Затем импортируйте ключ GPGP для пакета RVM с помощью приведенной ниже команды gpg.
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2.69D6956105BD0E739499BDB
Загрузите сценарий установки RVM и установите его с помощью приведенной ниже команды.
curl -sSL https://get.rvm.io | bash -s stable --ruby
После завершения установки загрузите RVM в систему Debian.
source /usr/local/rvm/scripts/rvm
И Ruby Version Manager был установлен в систему Debian 10, проверьте это с помощью команды rvm ниже.
rvm version
В результате на Debian Buster 10 был установлен RVM (Ruby Version Manager) xxx.
Шаг 2 — Установите Ruby с RVM
На этом этапе мы обновим пакет RVM до последней версии, установим последнюю стабильную версию Ruby и сделаем ее версией Ruby по умолчанию в нашей системе.
Обновите RVM до последней стабильной версии, используя приведенную ниже команду.
rvm get stable --autolibs=enable
После этого добавьте пользователя root в группу rvm. По сути, пользователь root сможет запускать команду rvm.
usermod -a -G rvm root
Затем установите последнюю стабильную версию Ruby 2.6 с помощью приведенной ниже команды rvm.
rvm install ruby-2.6
После завершения установки сделайте Ruby 2.6 версией Ruby по умолчанию в системе Debian.
rvm --default use ruby-2.6
Теперь проверьте установленную версию Ruby с помощью приведенной ниже команды.
ruby --version
В результате последняя стабильная версия Ruby 2.6 была установлена через RVM и использовалась как Ruby по умолчанию в системе Debian 10.
Шаг 3 — Установите Nodejs и Yarn
На этом этапе мы установим Nodejs и Yarn в систему Debian. Он будет использоваться Rails для обработки файлов JavaScript.
Сначала установите средства разработки в систему Debian с помощью приведенной ниже команды apt.
sudo apt install gcc g++ make
После этого добавьте репозиторий Nodesource для Nodejs 12.
curl -sL https://deb.nodesource.com/setup_12.x | bash -
Затем добавьте ключ Yarn GPG и репозиторий.
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.listОбновите и обновите все репозитории и установите NodeJS и Yarn с помощью приведенной ниже команды apt.
sudo apt update
sudo apt install -y nodejs yarnПосле завершения установки проверьте с помощью приведенной ниже команды.
node --version
yarn --versionВ результате на Debian Buster 10 был установлен менеджер пакетов Nodejs JavaScript Runtime и Yarn.
Шаг 4. Обновите RubyGem (менеджер пакетов Ruby)
RubyGems — это менеджер пакетов Ruby, поставляемый с инструментом командной строки gem и автоматически устанавливаемый при установке Ruby в системе. На этом этапе мы обновим RubyGem до последней версии.
Обновите RubyGem с помощью приведенной ниже команды.
gem update --system
После завершения проверьте версию gem с помощью приведенной ниже команды.
gem -v
В результате RubyGem был обновлен до последней версии.
По выбору:
RubyGem — это менеджер пакетов для установки пакетов Ruby. Он установит пакеты Ruby и его документацию.
Чтобы уменьшить размер установки пакетов Ruby, вы можете отключить установку документации пакета Ruby через конфигурацию RubyGem.
Добавьте/создайте параметр gem в конфигурации ~/.gemrc, как показано ниже.
echo "gem: --no-document" >> ~/.gemrc
В результате RubyGem установит только основной пакет пакетов Ruby без документации.
Шаг 5 — Установите стабильную версию Ruby on Rails
На этом этапе мы установим Ruby on Rails в систему Debian. Мы установим последнюю версию Ruby on Rails v6.0.2.1.
Установите Ruby on Rails с помощью команды RubyGem, как показано ниже.
gem install rails -v 6.0.2
После завершения установки проверьте команду rails, как показано ниже.
rails -v
В результате Ruby on Rails 6.0.2.1 был установлен на Debian Buster 10. И вы готовы запустить новое приложение с использованием Rails.
Шаг 6. Установите и настройте базу данных PostgreSQL.
В этом руководстве мы будем использовать PostgreSQL в качестве серверной базы данных для Ruby on Rails.
Установите PostgreSQL в систему Debian с помощью приведенной ниже команды apt.
sudo apt install postgresql postgresql-contrib libpq-dev -y
После завершения установки запустите службу PostgreSQL и добавьте ее в загрузку системы.
systemctl start postgresql
systemctl enable postgresqlСлужба PostgreSQL запущена и работает.
Затем войдите в оболочку PostgreSQL, используя приведенную ниже команду.
sudo -i -u postgres psql
Измените пароль для пользователя PostgreSQL по умолчанию postgres.
\password postgres
Введите новый пароль для пользователя postgres.
Затем создайте новую роль PostgreSQL с именем rails_dev с привилегией CreateDB и паролем aqwe123, используя приведенный ниже запрос PostgreSQL.
create role rails_dev with createdb login password 'aqwe123';
Привилегии createdb позволят пользователю rails_dev создать новую базу данных для проекта Ruby on Rails.
Теперь все доступные пользователи в PostgreSQL используют приведенную ниже команду.
\du
Вы получите пользователя rails_dev с привилегиями CreateDB для создания баз данных.
Введите exit, чтобы выйти из оболочки PostgreSQL.
В результате вы установили базу данных PostgreSQL на Debian buster 10. Кроме того, вы создали новую роль rails_dev PostgreSQL с привилегией CreateDB для проекта Ruby on Rails.
Шаг 7 — Запуск проекта с Ruby on Rails
На этом этапе мы создадим новый простой проект CRUD, используя Ruby on Rails с PostgreSQL в качестве серверной базы данных.
Запустите проект Rails с PostgreSQL
Сначала запустите новый проект с именем myapp, используя приведенную ниже команду rails.
rails new myapp -d postgresql
Он создаст каталог проекта с именем myapp с PostgreSQL в качестве серверной базы данных.
Теперь перейдите в каталог myapp и отредактируйте конфигурацию базы данных config/database.yml.
cd myapp/
vim config/database.ymlВ разделе «Разработка» добавьте конфигурацию сведений о PostgreSQL ниже.
username: rails_dev
password: aqwe123
host: localhost
port: 5432В разделе «Тестирование» добавьте конфигурацию сведений о PostgreSQL ниже.
host: localhost
port: 5432
username: rails_dev
password: aqwe123Сохранить и закрыть.
Затем сгенерируйте схему базы данных PostgreSQL и убедитесь в отсутствии ошибок.
rails db:setup
rails db:migrateКогда все будет готово, запустите веб-сервер puma rails, используя приведенную ниже команду.
rails s -b 149.28.140.6 -p 8080
Проект Ruby on Rails запущен и работает на порту 8080.
Откройте веб-браузер и введите IP-адрес сервера с портом 8080.
http://10.5.5.31:8080/
Вы получите страницу index.html по умолчанию проекта Rails. Кроме того, он обнаружит вашу среду развертывания Rails.
В результате вы создали новый проект на Ruby on Rails с PostgreSQL в качестве базы данных.
Создать простое CRUD-приложение
Далее мы создадим простой CRUD для нашего проекта myapp.
Сгенерируйте CRUD на Ruby on Rails, используя приведенную ниже команду.
rails g scaffold Post title:string body:text
rake db:migrateЗапустите проект rails с помощью приведенной ниже команды.
rails s -b 192.168.1.10 -p 8080
Вернитесь в свой веб-браузер и проверьте свой проект rails по приведенному ниже URL-адресу.
http://10.5.5.31:8080/posts/
Теперь вы получите простое приложение CRUD, как показано ниже.
Ниже приведен результат после создания пробного поста.
Наконец, установка Ruby on Rails с базой данных PostgreSQL на Debian Buster 10 успешно завершена.