Rails 3
Материал из 1GbWiki.
Версия 21:23, 12 декабря 2010 (править) Renton (Обсуждение | вклад) (Новая: Данная статья подразумевает, что вы уже знакомы с хостингом приложений Rails от 1Gb.ru, умеете самостоятел...) ← К предыдущему изменению |
Версия 21:41, 12 декабря 2010 (править) (отменить) Renton (Обсуждение | вклад) К следующему изменению → |
||
Строка 27: | Строка 27: | ||
* Настройка переменных окружения. В начало файла <code>~/.bashrc</code> добавьте строки: | * Настройка переменных окружения. В начало файла <code>~/.bashrc</code> добавьте строки: | ||
+ | unset RUBYOPT | ||
export GEM_HOME="$HOME/.gems" | export GEM_HOME="$HOME/.gems" | ||
export GEM_PATH="$GEM_HOME:$HOME/opt/ruby/current/lib/ruby/gems/1.9.1" | export GEM_PATH="$GEM_HOME:$HOME/opt/ruby/current/lib/ruby/gems/1.9.1" | ||
Строка 38: | Строка 39: | ||
# that can't tolerate any output. So make sure this doesn't display | # that can't tolerate any output. So make sure this doesn't display | ||
# anything or bad things will happen ! | # anything or bad things will happen ! | ||
- | + | ||
+ | unset RUBYOPT | ||
export GEM_HOME="$HOME/.gems" | export GEM_HOME="$HOME/.gems" | ||
export GEM_PATH="$GEM_HOME:$HOME/opt/ruby/current/lib/ruby/gems/1.9.1" | export GEM_PATH="$GEM_HOME:$HOME/opt/ruby/current/lib/ruby/gems/1.9.1" | ||
Строка 46: | Строка 48: | ||
# past this point for scp and rcp, and it's important to refrain from | # past this point for scp and rcp, and it's important to refrain from | ||
# outputting anything in those cases. | # outputting anything in those cases. | ||
- | if [[ $- != *i* ]] ; then | + | if <nowiki>[[ $- != *i* ]]</nowiki> ; then |
# Shell is non-interactive. Be done now! | # Shell is non-interactive. Be done now! | ||
return | return | ||
Строка 59: | Строка 61: | ||
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 | 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 | ||
+ | По умолчанию, на хостинге ставится web-сервер [https://github.com/fauna/mongrel Mongrel], но он до сих пор не работает нормально с Rails 3-ей версии, поэтому будем использовать [http://code.macournoyer.com/thin/ Thin] | ||
+ | $ gem install thin | ||
+ | |||
+ | * Обращаемся в [http://www.1gb.ru/support тех. поддержку] и просим прописать наш web-сервер, вместо Mongrel'а, т.е. в файле <code>~/conf.d/mongrel</code> должна быть определена переменная <code>MONGREL_BIN_MY</code>: | ||
+ | MONGREL_BIN_MY=$HOME/.gems/bin/thin |
Версия 21:41, 12 декабря 2010
Данная статья подразумевает, что вы уже знакомы с хостингом приложений 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
- С сайта 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 ruby-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
По умолчанию, на хостинге ставится web-сервер Mongrel, но он до сих пор не работает нормально с Rails 3-ей версии, поэтому будем использовать Thin
$ gem install thin
- Обращаемся в тех. поддержку и просим прописать наш web-сервер, вместо Mongrel'а, т.е. в файле
~/conf.d/mongrel
должна быть определена переменнаяMONGREL_BIN_MY
:
MONGREL_BIN_MY=$HOME/.gems/bin/thin