Rails 3
Материал из 1GbWiki.
Данная статья подразумевает, что вы уже знакомы с хостингом приложений 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 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 (англ.) - официальный сайт проета, дистрибутивы, статьи, документация.