Установка и настройка Ruby on Rails
Для настройки Ruby on Rails Вам потребуется подключиться к вашему аккаунту по протоколу SSH.
Статьи по теме:
Что такое SSH
Автоматическая SSH авторизация по ключу
Если вы пользуетесь OS Windows, вы можете воспользоваться терминалом либо SSH-клиентом Putty (статью по настройке можно прочитать здесь). После подключения вы сможете перейти к следующему шагу.
Если Вы пользуетесь OS Linux или OS X, Вы можете воспользоваться терминалом. Для подключения введите в терминал следующую команду:
$ ssh username@username.beget.techusername - логин, username.beget.tech - имя сервера, на котором располагается аккаунт. При подключении необходимо будет ввести пароль от аккаунта. Например:
ssh betutorial@betutorial.beget.tech
Warning: Permanently added 'betutorial.beget.tech' (ED25519) to the list of known hosts.
betutorial@betutorial.beget.tech's password:
Welcome to LTD BeGet SSH Server 'dragon'
betutorial@dragon:~ [0] $Далее перейдите в виртуальный контейнер на сервере (Docker, подробнее можно ознакомится по ссылке Общие сведения по установке приложений (виртуальное окружение Docker)). Для этого используйте следующую команду:
betutorial@dragon:~ [0] $ ssh localhost -p222Затем введите пароль. Он такой же, как и пароль для доступа к аккаунту.
betutorial@dragon's password:
Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 5.10.161-1-beget-acl-test x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro)
(docker) betutorial@dragon:~ [0] $Необходимо также будет настроить общий доступ к каталогу .gem средствами Файлового менеджера. Инструкция о том, как это сделать, есть в данной статье.
Установите библиотеку libyaml, которая нужна для гема psych. Загрузите и распакуйте архив с библиотекой, затем перейдите в распакованную директорию:
$ wget -O - "https://github.com/yaml/libyaml/releases/download/0.2.5/yaml-0.2.5.tar.gz" | tar xzf - && cd yaml-0.2.5Выполните сборку библиотеки:
$ ./configure --prefix=$HOME/.local
$ make
$ make installРаспакованную директорию можно удалить:
$ cd ~/
$ rm -rf yaml-0.2.5
Вернемся к настройке Ruby.
Для того, чтобы выбрать нужную версию Ruby, выполните следующую команду:
$ chruby
Эта команда выведет все доступные версии Ruby.
$ chruby
2.5
3.1
ruby-2.5
ruby-3.1В этом руководстве будем использовать последнюю на текущий момент версию. Выполните команду:
$ chruby ruby-3.1
Проверьте, что выбрана нужная версия Ruby - напротив нее будет символ * :
$ chruby
2.5
3.1
ruby-2.5
* ruby-3.1Далее выполните установку гема psych:
$ gem install psych -- --with-libyaml-dir=$HOME/.local
Теперь вы можете приступить к установке Rails:
$ gem install rails --no-document
Fetching rackup-2.2.1.gem
Fetching thor-1.3.2.gem
...
Successfully installed actioncable-7.2.2.1
Successfully installed rails-7.2.2.1
46 gems installed
Затем создайте новый проект. В качестве названия проекта в рассматриваемом примере указано имя каталога:
$ rails new betutorial
exist
create README.rdoc
create Rakefile
create config.ru
create .gitignore
create Gemfile
create app
create app/assets/javascripts/application.js
create app/assets/stylesheets/application.css
create app/controllers/application_controller.rb
create app/helpers/application_helper.rb
create app/views/layouts/application.html.erb
create app/assets/images/.keep
create app/mailers/.keep
Перейдите в каталог проекта:
$ cd betutorial
Создайте символическую ссылку на каталог в корне сайта .gem для корректного доступа к гемам:
$ ln -s ~/.gem
Для корректной отдачи статического контента средствами Nginx создайте симлинк на папку public_html:
$ ln -s public public_html
Затем необходимо добавить в .htaccess необходимые для работы директивы. Сделать это можно следующими командами:
$ echo -e "PassengerRuby $(which ruby)" > .htaccess
$ echo -e "SetENV GEM_HOME $(echo $GEM_HOME)\nSetENV GEM_PATH $(echo $GEM_PATH)" >> .htaccess
$ echo -e "SetEnv LD_LIBRARY_PATH $HOME/.local/lib:$LD_LIBRARY_PATH" >> .htaccess
$ echo 'RAILSENV development' >> .htaccess
Для установки всех нужных гемов используйте команду bundle install:
$ bundle install
Resolving dependencies...
Using rake 10.4.2
Using i18n 0.7.0
...
Using uglifier 2.7.1
Using web-console 2.2.1
Bundle complete! 13 Gemfile dependencies, 55 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
Осталось добавить ваш домен в список разрешенных. Для этого выполните следующую команду, вместо domain.com укажите ваш домен:
$ echo 'Rails.application.config.hosts << "domain.com"' >> config/application.rb
Для того, чтобы Passenger переприменил конфигурационный файл, создайте файл tmp/restart.txt:
$ touch tmp/restart.txt

Первоначальная настройка Redmine
Redmine - инструмент для управления проектами и отслеживания ошибок. Распространяется по лицензии GNU GPL. Использует Ruby on Rails.
Вы также можете установить Redmine в разделе CMS панели управления.
Для установки Redmine сначала необходимо будет зайти в Docker и "установить" окружение Ruby, как описано выше.
$ chruby ruby-3.1
Создайте каталог сайта, если он не создан:
$ mkdir betutorial
И перейдите в него:
$ cd betutorial
Скачайте дистрибутив Redmine:
$ wget -O - "https://www.redmine.org/releases/redmine-6.0.5.tar.gz" | tar xzf -
Переместите распакованные файлы в каталог сайта:
$ mv redmine-6.0.5/* .
Затем можно будет удалить каталог, в который был распакован архив:
$ rm -rf redmine-6.0.5
Создайте символическую ссылку на каталог в корне сайта .gem для корректного доступа к гемам:
$ ln -s ~/.gem
Напомним, что самому каталогу ~/.gem нужно будет предоставить общий доступ. Это описывалось в данной статье выше.
Для корректной отдачи статического контента средствами Nginx создайте симлинк на папку public_html:
$ ln -s public public_html
Для работы Redmine необходимо создать базу данных, подробнее здесь.
Затем необходимо указать актуальные данные для подключения к базе данных. Создайте копию файла config/database.yml.example:
$ cp config/database.yml.example config/database.yml
И откройте ее, например, с помощью редактора nano:
$ nano config/database.yml
Изменить нужно только абзац production:
production:
adapter: mysql2
database: betutorial_redmine
host: localhost
username: betutorial_redmine
password: "AX@8lBCo79zz"
encoding: utf8mb4
database - имя базы данных, username - имя пользователя (совпадает с именем базы данных), password - пароль для доступа к базе (указывается обязательно в двойных кавычках).
Создайте каталоги для статического контента:
$ mkdir -p tmp tmp/pdf public/plugin_assets
Затем добавьте в файл .htaccess настройки для работы Redmine:
echo -e "PassengerRuby $(which ruby)" > .htaccess
Также добавьте в файл .htaccess строки, задающие переменные окружения:
echo -e "SetENV GEM_HOME $(echo $GEM_HOME)\nSetENV GEM_PATH $(echo $GEM_PATH)" >> .htaccess
Далее используйте команду bundle install:
$ bundle config set --local without 'development test'
$ bundle install
Сгенерируйте секретный ключ, используемый Rails для шифрования хранилища, содержащего данные сессий, тем самым предотвращая их фальсификацию:
$ bundle exec rake generate_secret_token
После этого создайте структуру базы данных:
$ RAILS_ENV=production bundle exec rake db:migrate
Загрузите в базу данных значения по умолчанию:
$ RAILS_ENV=production REDMINE_LANG=en bundle exec rake redmine:load_default_data
Для того, чтобы Passenger переприменил конфигурационный файл, необходимо создать файл tmp/restart.txt:
$ touch tmp/restart.txt
Проверьте работоспособность сайта средствами браузера:

Вход в административную панель доступен по адресу http://<ваш домен>/login
По умолчанию для доступа к административной части сайта используются следующие данные:
- Логин: admin
- Пароль: admin
Если возникнут вопросы, напишите нам, пожалуйста, тикет из панели управления аккаунта (раздел “Помощь и поддержка”), а если вы захотите обсудить эту статью или облачные сервисы Бегета с коллегами по цеху – ждем вас в нашем сообществе в Telegram.