Установка и настройка Ruby on Rails
Для настройки Ruby on Rails Вам потребуется подключиться к вашему аккаунту по протоколу SSH.
Статьи по теме:
Что такое SSH
Автоматическая SSH авторизация по ключу
Если Вы пользуетесь OS Windows, Вы можете воспользоваться SSH-клиентом Putty (статью по настройке можно прочитать здесь). После подключения Вы сможете перейти к следующему шагу.
Если Вы пользуетесь OS Linux или OS X, Вы можете воспользоваться терминалом. Для подключения введите в терминал следующую команду:
$ ssh username@username.beget.tech
username - логин, username.beget.tech - имя сервера, на котором располагается аккаунт. При подключении необходимо будет ввести пароль от аккаунта. Например:
denia@begetsupp:~$ ssh erveeebbet@erveeebbet.beget.tech
The authenticity of host 'erveeebbet.beget.tech (5.101.157.37)' can't be established.
ECDSA key fingerprint is e2:fb:d8:7d:fc:12:8f:6e:c3:24:b5:ce:46:da:ff:76.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'erveeebbet.beget.tech,5.101.157.37' (ECDSA) to the list of known hosts.
erveeebbet@erveeebbet.beget.tech's password:
Welcome to LTD Beget server 'osiris'
Last login: Wed Jul 22 03:26:57 2015 from 80.79.241.142
erveeebbet@osiris:~ [0] $
Далее перейдите в виртуальный контейнер на сервере (Docker, подробнее можно ознакомится по ссылке Общие сведения по установке приложений (виртуальное окружение Docker)). Для этого используйте следующую команду:
erveeebbet@osiris:~ [0] $ ssh localhost -p222
Затем введите пароль. Он такой же, как и пароль для доступа к аккаунту.
erveeebbet@localhost's password:
Welcome to Ubuntu 12.04.5 LTS (GNU/Linux 4.0.4-3-beget-acl x86_64)
* Documentation: https://help.ubuntu.com/
(docker) erveeebbet@osiris:~ [0] $
Необходимо также будет настроить общий доступ к каталогу .gem средствами Файлового менеджера. Инструкция о том, как это сделать, есть в данной статье.
Вернёмся в консоль и продолжим настройку Ruby.
Для того, чтобы выбрать нужную версию Ruby, выполните следующую команду:
(docker) erveeebbet@osiris:~ [0] $ chruby
Эта команда выведет все доступные версии Ruby.
(docker) erveeebbet@osiris:~ [0] $ chruby
ruby-1.8
ruby-1.8.7-p375
ruby-1.9
ruby-1.9.3-p551
ruby-2.0
ruby-2.0.0-p598
ruby-2.1
ruby-2.1.5
ruby-2.2
ruby-2.2.0
В этом руководстве будем использовать последнюю на текущий момент версию. Выполните команду:
(docker) erveeebbet@osiris:~ [0] $ chruby ruby-2.2
Проверьте, что выбрана нужная версия Ruby - напротив нее будет символ *:
(docker) erveeebbet@osiris:~ [0] $ chruby
ruby-1.8
ruby-1.8.7-p375
ruby-1.9
ruby-1.9.3-p551
ruby-2.0
ruby-2.0.0-p598
ruby-2.1
ruby-2.1.5
* ruby-2.2
ruby-2.2.0
Теперь Вы можете приступить к установке Rails. Скачать гем Rails можно следующим способом:
(docker) erveeebbet@osiris:~ [0] $ gem install rails --no-rdoc --no-ri
Fetching: activesupport-4.2.3.gem (100%)
Successfully installed activesupport-4.2.3
Fetching: actionview-4.2.3.gem (100%)
Successfully installed actionview-4.2.3
Fetching: actionpack-4.2.3.gem (100%)
Successfully installed actionpack-4.2.3
Fetching: railties-4.2.3.gem (100%)
Successfully installed railties-4.2.3
Fetching: activejob-4.2.3.gem (100%)
Successfully installed activejob-4.2.3
Fetching: actionmailer-4.2.3.gem (100%)
Successfully installed actionmailer-4.2.3
Fetching: activemodel-4.2.3.gem (100%)
Successfully installed activemodel-4.2.3
Fetching: activerecord-4.2.3.gem (100%)
Successfully installed activerecord-4.2.3
Fetching: rails-4.2.3.gem (100%)
Successfully installed rails-4.2.3
9 gems installed
Затем создайте новый проект. В качестве названия проекта в рассматриваемом примере указано имя каталога:
(docker) erveeebbet@osiris:~ [0] $ rails new erveeebbet.bget.ru
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
Перейдите в каталог проекта:
(docker) erveeebbet@osiris:~ [0] $ cd erveeebbet.bget.ru/
Создайте символическую ссылку на каталог в корне сайта .gem для корректного доступа к гемам:
(docker) erveeebbet@osiris:~/erveeebbet.bget.ru [0] $ ln -s ~/.gem
Для корректной отдачи статического контента средствами Nginx создайте симлинк на папку public_html:
(docker) erveeebbet@osiris:~/erveeebbet.bget.ru [0] $ ln -s public public_html
Для того, чтобы гем rb-readline работал корректно, добавьте строку в файл Gemfile:
(docker) erveeebbet@osiris:~/erveeebbet.bget.ru [0] $ echo "gem 'rb-readline'" >> Gemfile
(docker) erveeebbet@osiris:~/erveeebbet.bget.ru [0] $ echo "gem 'i18n'" >> Gemfile
(docker) erveeebbet@osiris:~/erveeebbet.bget.ru [0] $ echo "gem 'therubyracer'" >> Gemfile
(docker) erveeebbet@osiris:~/erveeebbet.bget.ru [0] $ rm Gemfile.lock
Затем необходимо добавить в .htaccess необходимые для работы директивы. Сделать это можно следующими командами:
(docker) erveeebbet@osiris:~/erveeebbet.bget.ru [0] $ echo -e "PassengerRuby $(which ruby)\nPassengerUploadBufferDir `pwd`/tmp" > .htaccess
(docker) erveeebbet@osiris:~/erveeebbet.bget.ru [0] $ echo -e "SetENV GEM_HOME $(echo $GEM_HOME)\nSetENV GEM_PATH $(echo $GEM_PATH)" >> .htaccess
(docker) erveeebbet@osiris:~/erveeebbet.bget.ru [0] $ echo 'RAILSENV development' >> .htaccess
Для установки всех нужных гемов используйте команду bundle install:
(docker) erveeebbet@osiris:~/erveeebbet.bget.ru [0] $ bundle install
Resolving dependencies...
Using rake 10.4.2
Using i18n 0.7.0
Using json 1.8.3
Using minitest 5.8.0
Using thread_safe 0.3.5
Using tzinfo 1.2.2
Using activesupport 4.2.3
Using builder 3.2.2
Using erubis 2.7.0
Using mini_portile 0.6.2
Using nokogiri 1.6.6.2
Using rails-deprecated_sanitizer 1.0.3
Using rails-dom-testing 1.0.6
Using loofah 2.0.2
Using rails-html-sanitizer 1.0.2
Using actionview 4.2.3
Using rack 1.6.4
Using rack-test 0.6.3
Using actionpack 4.2.3
Using globalid 0.3.6
Using activejob 4.2.3
Using mime-types 2.6.1
Using mail 2.6.3
Using actionmailer 4.2.3
Using activemodel 4.2.3
Using arel 6.0.3
Using activerecord 4.2.3
Using debug_inspector 0.0.2
Using binding_of_caller 0.7.2
Using bundler 1.8.3
Using columnize 0.9.0
Using byebug 5.0.0
Using coffee-script-source 1.9.1.1
Using execjs 2.5.2
Using coffee-script 2.4.1
Using thor 0.19.1
Using railties 4.2.3
Using coffee-rails 4.1.0
Using multi_json 1.11.2
Using jbuilder 2.3.1
Using jquery-rails 4.0.4
Using sprockets 3.3.0
Using sprockets-rails 2.3.2
Using rails 4.2.3
Using rb-readline 0.5.2
Using rdoc 4.2.0
Using sass 3.4.16
Using tilt 1.4.1
Using sass-rails 5.0.3
Using sdoc 0.4.1
Using spring 1.3.6
Using sqlite3 1.3.10
Using turbolinks 2.5.3
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.
Для того, чтобы Passenger переприменил конфигурационный файл, создайте файл tmp/restart.txt:
(docker) erveeebbet@osiris:~/erveeebbet.bget.ru [0] $ touch tmp/restart.txt
Проверьте работоспособность сайта через браузер:

Первоначальная настройка Redmine
Redmine - инструмент для управления проектами и отслеживания ошибок. Распространяется по лицензии GNU GPL. Использует Ruby on Rails.
Для установки Redmine сначала необходимо будет зайти в Docker и "установить" окружение Ruby, как описано выше.
(docker) erveeebbet@osiris:~ [0] $ chruby ruby-2.2
Затем перейдите в каталог с сайтом:
(docker) erveeebbet@osiris:~ [0] $ cd redmine.ru/
Скачайте дистрибутив Redmine:
(docker) erveeebbet@osiris:~/redmine.ru [0] $ wget http://www.redmine.org/releases/redmine-3.0.3.tar.gz
--2015-08-18 11:49:47-- http://www.redmine.org/releases/redmine-3.0.3.tar.gz
Resolving www.redmine.org (www.redmine.org)... 46.4.36.71
Connecting to www.redmine.org (www.redmine.org)|46.4.36.71|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2157425 (2,1M) [application/x-gzip]
Saving to: `redmine-3.0.3.tar.gz'
100%[=============================================================================================================>] 2 157 425 2,68M/s in 0,8s
2015-08-18 11:49:48 (2,68 MB/s) - `redmine-3.0.3.tar.gz' saved [2157425/2157425]
После этого распакуйте скачанный архив:
(docker) erveeebbet@osiris:~/redmine.ru [0] $ tar xvzf redmine-3.0.3.tar.gz
Переместите распакованные файлы в каталог сайта:
(docker) erveeebbet@osiris:~/redmine.ru [0] $ mv redmine-3.0.3/* .
Затем можно будет удалить скачанный архив и каталог, в который он был распакован:
(docker) erveeebbet@osiris:~/redmine.ru [0] $ rm -rf redmine-3.0.3*
Создайте символическую ссылку на каталог в корне сайта .gem для корректного доступа к гемам:
(docker) erveeebbet@osiris:~/redmine.ru [0] $ ln -s ~/.gem
Напомним, что самому каталогу ~/.gem нужно будет предоставить общий доступ. Это описывалось в данной статье выше.
Для корректной отдачи статического контента средствами Nginx создайте симлинк на папку public_html:
(docker) erveeebbet@osiris:~/redmine.ru [0] $ ln -s public public_html
Для работы Redmine необходимо создать базу данных, подробнее здесь.
Затем необходимо указать актуальные данные для подключения к базе данных в файле config/database.yml.example, например, с помощью редактора nano:
(docker) erveeebbet@osiris:~/erveeebbet.bget.ru [0] $ nano config/database.yml.example
Изменить нужно только абзац production:
production:
adapter: mysql2
database: erveeebbet_test
host: localhost
username: erveeebbet_test
password: "AX@8lBCy"
encoding: utf8
database - имя базы данных, username - имя пользователя (совпадает с именем базы данных), password - пароль для доступа к базе (указывается обязательно в двойных кавычках).
После правки переименуйте конфигурационный файл:
(docker) erveeebbet@osiris:~/redmine.ru [0] $ cp config/database.yml.example config/database.yml
Создайте каталоги для статического контента:
(docker) erveeebbet@osiris:~/redmine.ru [0] $ mkdir -p tmp tmp/pdf public/plugin_assets
Затем добавьте в файл .htaccess настройки для работы Redmine:
(docker) erveeebbet@osiris:~/erveeebbet.bget.ru [0] $ echo -e "PassengerRuby $(which ruby)\nPassengerUploadBufferDir `pwd`/tmp" > .htaccess
Также добавьте в файл .htaccess строки, задающие переменные окружения:
echo -e "SetENV GEM_HOME $(echo $GEM_HOME)\nSetENV GEM_PATH $(echo $GEM_PATH)" >> .htaccess
Далее используйте команду bundle install:
erveeebbet@osiris:~/redmine.ru [0] $ rm Gemfile.lock
erveeebbet@osiris:~/redmine.ru [0] $ bundle install --without development test
Сгенерируйте секретный ключ, используемый Rails для шифрования хранилища, содержащего данные сессий, тем самым предотвращая их фальсификацию:
(docker) erveeebbet@osiris:~/redmine.ru [0] $ rake generate_secret_token
После этого создайте структуру базы данных:
(docker) erveeebbet@osiris:~/redmine.ru [0] $ RAILS_ENV=production rake db:migrate
Загрузите в базу данных значения по умолчанию:
(docker) erveeebbet@osiris:~/redmine.ru [0] RAILS_ENV=production REDMINE_LANG=en rake redmine:load_default_data
Для того, чтобы Passenger переприменил конфигурационный файл, необходимо создать файл tmp/restart.txt:
(docker) erveeebbet@osiris:~/erveeebbet.bget.ru [0] $ touch tmp/restart.txt
Проверьте работоспособность сайта средствами браузера:

По умолчанию для доступа к административной части сайта используются следующие данные:
- Логин: admin
- Пароль: admin
Удачной работы! Если возникнут вопросы - напишите нам, пожалуйста, тикет из Панели управления аккаунта, раздел "Помощь и поддержка".