Rails 3

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 01:16, 16 мая 2011 (править)
173.11.33.117 (Обсуждение)
(Настройка окружения)
← К предыдущему изменению
Версия 05:00, 16 мая 2011 (править) (отменить)
Dmach (Обсуждение | вклад)
м (Правки 173.11.33.117 (обсуждение) откачены к версии Renton)
К следующему изменению →
Строка 3: Строка 3:
Также справедливо отметить, что любой хостинг, прежде всего, стремится предоставить стабильные и проверенные версии программных продуктов, с целью обеспечить максимальную устойчивость и переносимость web-приложений. Поэтому, если вы хотите идти в одном шаге с разработчиками, то в первую очередь вам необходимо рассчитывать только на свои силы. Также справедливо отметить, что любой хостинг, прежде всего, стремится предоставить стабильные и проверенные версии программных продуктов, с целью обеспечить максимальную устойчивость и переносимость web-приложений. Поэтому, если вы хотите идти в одном шаге с разработчиками, то в первую очередь вам необходимо рассчитывать только на свои силы.
-Ppl like you get all the brains. I just get to say tankhs for he answer.+== Настройка окружения ==
 + 
 +* В личном кабинете в разделе <code>/Хостинг Ruby on Rails/</code> переключите сайт в режим Rails-хостинга.
 +=== Установка Ruby ===
 +На новых сервера хостинга 1Gb.ru, версия 1.9 Ruby может быть установлена в каталог /opt, чтобы это проверить, можно выполнить такую команду:
 + $ /opt/ruby/current/bin/ruby -v
 +если Ruby есть, то увидите примерно такой ответ:
 + ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]
 +в этом случае можно пропустить шаг установки ruby и переходить к следующему разделу.
 + 
 +Если ruby нет, то переходим к установке.
 +* Создаем каталог для исходных текстов:
 + $ mkdir ~/src && cd ~/src
 +* С сайта http://www.ruby-lang.org/en/downloads/ скачиваем последнюю версию. На данный момент версия такая:
 + wget ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p0.tar.gz
 +* Распаковка:
 + tar xvfz ruby-1.9.2-p0.tar.gz
 +* Переходим в распакованный каталог и устанавливаем Ruby в свой домашний каталог в папку ~/opt
 + cd ruby-1.9.2-p0 && ./configure --prefix=$HOME/opt/ruby/1.9.2-p0 && make && make install
 +при конфигурации вы можете добавить еще какие-то свои опции, но на мой взгляд ничего заслуживающего внимания там нет, поэтому просто ./configure --prefix= .
 +* Если все прошло успешно, переходим в каталог с ruby и для удобства делаем symlink:
 + cd ~/opt/ruby && ln -s 1.9.2-p0 current
 + 
 +* Настройка переменных окружения. В начало файла <code>~/.bashrc</code> добавьте строки:
 + unset RUBYOPT
 + export GEM_HOME="$HOME/.gems"
 + export GEM_PATH="$GEM_HOME:$HOME/opt/ruby/current/lib/ruby/gems/1.9.1"
 + export PATH="$GEM_HOME/bin:$HOME/opt/ruby/current/bin:$PATH"
 + 
 +Полностью файл <code>~/.bashrc</code> может выглядить так:
 + # /etc/skel/.bashrc
 + #
 + # This file is sourced by all *interactive* bash shells on startup,
 + # including some apparently interactive shells such as scp and rcp
 + # that can't tolerate any output. So make sure this doesn't display
 + # anything or bad things will happen !
 +
 + unset RUBYOPT
 + export GEM_HOME="$HOME/.gems"
 + export GEM_PATH="$GEM_HOME:$HOME/opt/ruby/current/lib/ruby/gems/1.9.1"
 + export PATH="$GEM_HOME/bin:$HOME/opt/ruby/current/bin:$PATH"
 +
 + # Test for an interactive shell. There is no need to set anything
 + # past this point for scp and rcp, and it's important to refrain from
 + # outputting anything in those cases.
 + if <nowiki>[[ $- != *i* ]]</nowiki> ; then
 + # Shell is non-interactive. Be done now!
 + return
 + fi
 +
 + # Midnight Commander chdir enhancement
 + if [ -f /usr/share/mc/mc.gentoo ]; then
 + . /usr/share/mc/mc.gentoo
 + fi
 +
 + # Put your fun stuff here.
 +
 + export PERL5LIB=/home/virtwww/w_test-l19-ror_ac7b570f/perl/lib64/perl5/site_perl/5.8.8:/home/virtwww/w_test-l19-ror_ac7b570f/perl/lib64/perl5/5.8.8/x86_64-linux
 + 
 +* И импорт окружения:
 + $ source ~/.bashrc
== Установка пакетов == == Установка пакетов ==

Версия 05:00, 16 мая 2011

Данная статья подразумевает, что вы уже знакомы с хостингом приложений Rails от 1Gb.ru, умеете самостоятельно переключать сайт в режим RoR, работать в консоли и выполнять базовую настройку приложения. Эта статья для тех, кто хочет воспользоваться самыми последними версиями Ruby и фреймворка Rails, и понимает, с какими трудностями он может столкнуться.

Также справедливо отметить, что любой хостинг, прежде всего, стремится предоставить стабильные и проверенные версии программных продуктов, с целью обеспечить максимальную устойчивость и переносимость web-приложений. Поэтому, если вы хотите идти в одном шаге с разработчиками, то в первую очередь вам необходимо рассчитывать только на свои силы.

Содержание

Настройка окружения

  • В личном кабинете в разделе /Хостинг Ruby on Rails/ переключите сайт в режим Rails-хостинга.

Установка Ruby

На новых сервера хостинга 1Gb.ru, версия 1.9 Ruby может быть установлена в каталог /opt, чтобы это проверить, можно выполнить такую команду:

$ /opt/ruby/current/bin/ruby -v

если Ruby есть, то увидите примерно такой ответ:

ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]

в этом случае можно пропустить шаг установки ruby и переходить к следующему разделу.

Если ruby нет, то переходим к установке.

  • Создаем каталог для исходных текстов:
$ mkdir ~/src && cd ~/src
wget ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p0.tar.gz
  • Распаковка:
tar xvfz ruby-1.9.2-p0.tar.gz
  • Переходим в распакованный каталог и устанавливаем Ruby в свой домашний каталог в папку ~/opt
cd ruby-1.9.2-p0 && ./configure --prefix=$HOME/opt/ruby/1.9.2-p0 && make && make install

при конфигурации вы можете добавить еще какие-то свои опции, но на мой взгляд ничего заслуживающего внимания там нет, поэтому просто ./configure --prefix= .

  • Если все прошло успешно, переходим в каталог с ruby и для удобства делаем symlink:
cd ~/opt/ruby && ln -s 1.9.2-p0 current
  • Настройка переменных окружения. В начало файла ~/.bashrc добавьте строки:
unset RUBYOPT
export GEM_HOME="$HOME/.gems"
export GEM_PATH="$GEM_HOME:$HOME/opt/ruby/current/lib/ruby/gems/1.9.1"
export PATH="$GEM_HOME/bin:$HOME/opt/ruby/current/bin:$PATH"

Полностью файл ~/.bashrc может выглядить так:

# /etc/skel/.bashrc
#
# This file is sourced by all *interactive* bash shells on startup,
# including some apparently interactive shells such as scp and rcp
# that can't tolerate any output.  So make sure this doesn't display
# anything or bad things will happen !

unset RUBYOPT
export GEM_HOME="$HOME/.gems"
export GEM_PATH="$GEM_HOME:$HOME/opt/ruby/current/lib/ruby/gems/1.9.1"
export PATH="$GEM_HOME/bin:$HOME/opt/ruby/current/bin:$PATH"

# Test for an interactive shell.  There is no need to set anything
# past this point for scp and rcp, and it's important to refrain from
# outputting anything in those cases.
if [[ $- != *i* ]] ; then
        # Shell is non-interactive.  Be done now!
        return
fi

# Midnight Commander chdir enhancement
if [ -f /usr/share/mc/mc.gentoo ]; then
    . /usr/share/mc/mc.gentoo
fi

# Put your fun stuff here.

export PERL5LIB=/home/virtwww/w_test-l19-ror_ac7b570f/perl/lib64/perl5/site_perl/5.8.8:/home/virtwww/w_test-l19-ror_ac7b570f/perl/lib64/perl5/5.8.8/x86_64-linux
  • И импорт окружения:
$ source ~/.bashrc

Установка пакетов

  • Ставим Rails и остальные пакеты:
$ gem install rails

проверяем версию:

$ rails -v
Rails 3.0.3
$ gem install sqlite3-ruby
$ gem install mysql

По умолчанию, на хостинге ставится web-сервер Mongrel, но он до сих пор не работает нормально с Rails 3-ей версии, поэтому будем использовать Thin

$ gem install thin
  • Обращаемся в тех. поддержку и просим прописать наш web-сервер, вместо Mongrel'а, т.е. в файле ~/conf.d/mongrel должна быть определена переменная MONGREL_BIN_MY:
MONGREL_BIN_MY=$HOME/.gems/bin/thin

Настройка приложения и запуск

  • Удаляем старое приложение и ставим свое:
$ rm -rf ~/http/
$ rails new ~/http
  • В файл ~/http/config/environment.rb:добавляем строки:
ENV['GEM_HOME']="#{ENV['HOME']}/.gems"
ENV['GEM_PATH']="#{ENV['GEM_HOME']}:#{ENV['HOME']}/opt/ruby/current/lib/ruby/gems/1.9.1"
  • Запускаем:
$ killall -9 mongrel_rails && ~/init.d/mongrel start
  • Если все сделали правильно, то у вас откроется вот такая тестовая страница приложения http://test-l19-ror.1gb.ru/ .

См. также

Ссылки

  • Ruby on Rails (рус.) - общая информация на сайте 1Gb.ru.
  • Ruby on Rails (англ.) - официальный сайт проета, дистрибутивы, статьи, документация.
Личные инструменты