Поддержка

Увеличение места для почты на всех тарифах хостинга
10 Янв 2012

С 11 января на всех тарифах хостинга увеличивается доступное место для хранения почты в 5 раз!

С наступающим Новым Годом!
29 Дек 2011

Поздравляем с наступающим Новым годом! График работы компании в новогодние праздники.

Все новости
RSS RSS

Екатеринбург:

253-55-00

Для регионов России:

8-800-2000-699

Проверить домен:

пример: netangels.ru или 91.201.52.1

Запуск Ruby on Rails на хостинге

Ruby on Rails (ROR) – это многоуровневый программный каркас, написанный на языке программирования Ruby. Ruby on Rails предоставляет архитектурный образец Model-View-Controller (модель-представление-контроллер) для написания динамических веб-приложений, а также обеспечивает их интеграцию с веб-сервером и сервером базы данных.

ROR на хостинге доступен на всех тарифах, кроме «Базового». Это стало возможным благодаря существенным изменениям, которые мы произвели в технической части тарифов хостинга (см. новость). 

В данной статье будет описываться один из способов запуска фреймворка Ruby on Rails на хостинге для тарифного плана «Профи». Выполнение настроек на сервере будет производиться через протокол SSH. Для установки соединения можно воспользоваться программой PUTTY и инструкциями из статьи SSH-доступ.

Установка Ruby on Rails

Авторизовавшись на сервере, мы окажемся в своем домашнем каталоге. Внутри домашнего каталога располагаются каталоги ваших сайтов, а также служебные каталоги bin, etc, log и tmp.

Существует несколько способов установки персональной версии фреймворка Ruby on Rails: из архива, скачанного с официального сайта и с помощью менеджера пакетов RubyGems. Описание первого метода вы сможете найти на официальном сайте. Мы рассмотрим в этой статье второй способ:

gem install rails --user-install 

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

Для запуска утилит из пакета Ruby on Rails создадим на них символьные ссылки:

 ls ~/.gem/ruby/1.8/bin/* | xargs -i ln -s {} ~/bin/ 

Дополнительные замечания

  • для установки конкретной версии можно использовать конструкцию вида: gem install --version=<VERSION> rails

  • На серверах хостинга у Вас не получится установить модули, который содержит в себе компоненты, написанные на Си и компилирующиеся в процессе  установки.

Развертывание проекта

Теперь мы можем создать пустой проект Ruby on Rails и приступить к его разработке. Рекомендуем для каждого проекта создавать каталог внутри каталога с сайтом, к которому этот проект относится:

cd ~/sitename.ru && rails myproject 

Весьма вероятно, что проект на самом деле уже готов. В этом случае достаточно просто скопировать каталог с проектом в соответствующую папку.

Поскольку Ruby on Rails будет работать через интерфейс FastCGI, то для включения соответствующих настроек нам необходимо создать CGI-обработчик (враппер): 

touch ~/sitename.ru/cgi-bin/ror-wrapper.fcgi && chmod 755 ~/sitename.ru 

/cgi-bin/ror-wrapper.fcgi

Созданный файл нужно заполнить следующим текстом:

  • Для Ruby on Rails 2:

    #!/usr/bin/ruby1.8 ENV['GEM_PATH'] ||= '/home/uXXXXX/.gem/ruby/1.8' require '/home/uXXXXX/sitename.ru/myproject/config/environment' require 'fcgi_handler' RailsFCGIHandler.process! 
  • Для Ruby on Rails 3:

    #!/usr/bin/ruby1.8 ENV['GEM_PATH'] ||= '/home/uXXXXX/.gem/ruby/1.8' require '/home/uXXXXX/sitename.ru/myproject/config/environment' Rack::Handler::FastCGI.run Project::Application 

здесь:

  • uXXXXX -- имя вашего пользователя на сервере хостинга. В большинстве случаев, совпадает с логином

  • myproject -- название созданного проекта

В случае, если устанавливается Ruby on Rails 3, потребуется также закомментировать в файле ~/sitename.ru/myproject/Gemfile строку:

gem 'sqlite3-ruby', :require => 'sqlite3' 

Теперь необходимо сообщить веб-серверу Apache о том, что для обработки поступающих запросов должен использоваться созданный ранее враппер. Создадим файл .htaccess в каталоге sitename.ru/www и запишем в него следующее указание:

Options +FollowSymLinks +ExecCGI RewriteEngine On RewriteRule ^$ index.html [QSA] RewriteRule ^([^.]+)$ $1.html [QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ cgi-bin/ror-wrapper.fcgi/$1 [QSA,L] 

Обратившись к сайту sitename.ru через браузер, мы должны увидеть приветственное сообщение от Ruby on Rails. И если при просмотре «Application’s environment» не произошло никаких ошибок – это означает, что все настройки выполнены правильно и можно приступать к работе над проектом.


Теги:  rails  ruby  хостинг 

Связанные статьи