http://www.1gb.ua/wiki/index.php?title=Rails_3&limit=100&action=history&feed=atomRails 3 - История изменений2024-03-29T11:24:15ZИстория изменений этой страницы в викиMediaWiki 1.10.1http://www.1gb.ua/wiki/index.php?title=Rails_3&diff=5389&oldid=prevChapay в 22:10, 29 ноября 20182018-11-29T22:10:42Z<p></p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">← Предыдущая</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Версия 22:10, 29 ноября 2018</td>
</tr>
<tr><td colspan="2" align="left"><strong>Строка 9:</strong></td>
<td colspan="2" align="left"><strong>Строка 9:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"><br /></td><td> </td><td style="background: #eee; font-size: smaller;"><br /></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"><br /></td><td> </td><td style="background: #eee; font-size: smaller;"><br /></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">Данная статья подразумевает, что вы уже знакомы с хостингом приложений Rails от 1Gb.<del style="color: red; font-weight: bold; text-decoration: none;">ru</del>, умеете самостоятельно переключать сайт в режим RoR, работать в консоли и выполнять базовую настройку приложения. Эта статья для тех, кто хочет воспользоваться самыми последними версиями Ruby и фреймворка Rails, и понимает, с какими трудностями он может столкнуться.</td><td>+</td><td style="background: #cfc; font-size: smaller;">Данная статья подразумевает, что вы уже знакомы с хостингом приложений Rails от 1Gb.<ins style="color: red; font-weight: bold; text-decoration: none;">ua</ins>, умеете самостоятельно переключать сайт в режим RoR, работать в консоли и выполнять базовую настройку приложения. Эта статья для тех, кто хочет воспользоваться самыми последними версиями Ruby и фреймворка Rails, и понимает, с какими трудностями он может столкнуться.</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">Также справедливо отметить, что любой хостинг, прежде всего, стремится предоставить стабильные и проверенные версии программных продуктов, с целью обеспечить максимальную устойчивость и переносимость web-приложений. Поэтому, если вы хотите идти в одном шаге с разработчиками, то в первую очередь вам необходимо рассчитывать только на свои силы.</td><td> </td><td style="background: #eee; font-size: smaller;">Также справедливо отметить, что любой хостинг, прежде всего, стремится предоставить стабильные и проверенные версии программных продуктов, с целью обеспечить максимальную устойчивость и переносимость web-приложений. Поэтому, если вы хотите идти в одном шаге с разработчиками, то в первую очередь вам необходимо рассчитывать только на свои силы.</td></tr>
<tr><td colspan="2" align="left"><strong>Строка 18:</strong></td>
<td colspan="2" align="left"><strong>Строка 18:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">=== Установка Ruby ===</td><td> </td><td style="background: #eee; font-size: smaller;">=== Установка Ruby ===</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">Для установки Ruby on Rails '''3-ей''' версии нам потребуется Ruby '''1.9'''.<br /></td><td> </td><td style="background: #eee; font-size: smaller;">Для установки Ruby on Rails '''3-ей''' версии нам потребуется Ruby '''1.9'''.<br /></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">На новых серверах хостинга 1Gb.<del style="color: red; font-weight: bold; text-decoration: none;">ru</del>, версия ruby 1.9 уже установлена общесистемно в каталог /opt, чтобы это проверить, нужно выполнить такую команду:</td><td>+</td><td style="background: #cfc; font-size: smaller;">На новых серверах хостинга 1Gb.<ins style="color: red; font-weight: bold; text-decoration: none;">ua</ins>, версия ruby 1.9 уже установлена общесистемно в каталог /opt, чтобы это проверить, нужно выполнить такую команду:</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"> $ /opt/ruby/current/bin/ruby -v</td><td> </td><td style="background: #eee; font-size: smaller;"> $ /opt/ruby/current/bin/ruby -v</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">если Ruby есть, то увидите примерно такой ответ:</td><td> </td><td style="background: #eee; font-size: smaller;">если Ruby есть, то увидите примерно такой ответ:</td></tr>
<tr><td colspan="2" align="left"><strong>Строка 94:</strong></td>
<td colspan="2" align="left"><strong>Строка 94:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"> $ gem install therubyracer --no-rdoc --no-ri</td><td> </td><td style="background: #eee; font-size: smaller;"> $ gem install therubyracer --no-rdoc --no-ri</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">По умолчанию на хостинге 1Gb.<del style="color: red; font-weight: bold; text-decoration: none;">ru </del>для обслуживания Rails приложений ставится web-сервер [https://github.com/fauna/mongrel Mongrel], но он до сих пор не работает с Rails 3, поэтому вместо него будем использовать [http://code.macournoyer.com/thin/ Thin]</td><td>+</td><td style="background: #cfc; font-size: smaller;">По умолчанию на хостинге 1Gb.<ins style="color: red; font-weight: bold; text-decoration: none;">ua </ins>для обслуживания Rails приложений ставится web-сервер [https://github.com/fauna/mongrel Mongrel], но он до сих пор не работает с Rails 3, поэтому вместо него будем использовать [http://code.macournoyer.com/thin/ Thin]</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"> $ gem install thin --no-rdoc --no-ri</td><td> </td><td style="background: #eee; font-size: smaller;"> $ gem install thin --no-rdoc --no-ri</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td colspan="2" align="left"><strong>Строка 123:</strong></td>
<td colspan="2" align="left"><strong>Строка 123:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">== Ссылки ==</td><td> </td><td style="background: #eee; font-size: smaller;">== Ссылки ==</td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">* [http://www.1gb.<del style="color: red; font-weight: bold; text-decoration: none;">ru</del>/services_ruby.php Ruby on Rails] (рус.) - общая информация на сайте [http://www.1gb.<del style="color: red; font-weight: bold; text-decoration: none;">ru </del>1Gb.<del style="color: red; font-weight: bold; text-decoration: none;">ru</del>].</td><td>+</td><td style="background: #cfc; font-size: smaller;">* [http://www.1gb.<ins style="color: red; font-weight: bold; text-decoration: none;">ua</ins>/services_ruby.php Ruby on Rails] (рус.) - общая информация на сайте [http://www.1gb.<ins style="color: red; font-weight: bold; text-decoration: none;">ua </ins>1Gb.<ins style="color: red; font-weight: bold; text-decoration: none;">ua</ins>].</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">* [http://rubyonrails.org/ Ruby on Rails] (англ.) - официальный сайт проекта, дистрибутивы, статьи, документация.</td><td> </td><td style="background: #eee; font-size: smaller;">* [http://rubyonrails.org/ Ruby on Rails] (англ.) - официальный сайт проекта, дистрибутивы, статьи, документация.</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">[[Категория:Программирование]]</td><td> </td><td style="background: #eee; font-size: smaller;">[[Категория:Программирование]]</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">[[Категория:Ruby]]</td><td> </td><td style="background: #eee; font-size: smaller;">[[Категория:Ruby]]</td></tr>
</table>Chapayhttp://www.1gb.ua/wiki/index.php?title=Rails_3&diff=5388&oldid=prevRenton в 18:09, 15 марта 20182018-03-15T18:09:58Z<p></p>
<p><b>Новая статья</b></p><div><table cellspacing="0"><br />
<tr style="background: #F7D9D9"><br />
<td width="950px" style="vertical-align:top; border-top: 1px solid #D63838; border-left: 1px solid #D63838; border-bottom: 1px solid #D63838; border-right: 1px solid #D63838; padding: 1em;"><br />
<span style="font-size: 28px; font-weight: bold;">Эта инструкция устарела и больше не будет обновляться.<br /><br /><br />
Используйте [[Rails - быстрый старт]]</span><br />
</td><br />
</tr><br />
</table><br />
<br /><br />
<br /><br />
Данная статья подразумевает, что вы уже знакомы с хостингом приложений Rails от 1Gb.ru, умеете самостоятельно переключать сайт в режим RoR, работать в консоли и выполнять базовую настройку приложения. Эта статья для тех, кто хочет воспользоваться самыми последними версиями Ruby и фреймворка Rails, и понимает, с какими трудностями он может столкнуться.<br />
<br />
Также справедливо отметить, что любой хостинг, прежде всего, стремится предоставить стабильные и проверенные версии программных продуктов, с целью обеспечить максимальную устойчивость и переносимость web-приложений. Поэтому, если вы хотите идти в одном шаге с разработчиками, то в первую очередь вам необходимо рассчитывать только на свои силы.<br />
<br />
== Настройка окружения ==<br />
<br />
'''1.''' В личном кабинете в разделе <code>/Хостинг Ruby on Rails/</code> переключите сайт в режим Rails-хостинга.<br />
=== Установка Ruby ===<br />
Для установки Ruby on Rails '''3-ей''' версии нам потребуется Ruby '''1.9'''.<br /><br />
На новых серверах хостинга 1Gb.ru, версия ruby 1.9 уже установлена общесистемно в каталог /opt, чтобы это проверить, нужно выполнить такую команду:<br />
$ /opt/ruby/current/bin/ruby -v<br />
если Ruby есть, то увидите примерно такой ответ:<br />
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]<br />
в этом случае можно пропустить шаг установки Ruby и переходить к пункту '''"6 . Настройка переменных окружения"'''.<br />
<br />
Если ruby нет, то переходим к установке.<br /><br /><br />
'''1.''' Создаем каталог для исходных текстов:<br />
$ mkdir ~/src && cd ~/src<br />
'''2.''' Скачиваем последнюю версию Ruby командой:<br />
$ <nowiki>links -dump https://ftp.ruby-lang.org/pub/ruby/1.9/ | fgrep '.bz2 ' | sort -nk4 | tail -n 1 | awk '{system ("wget https://ftp.ruby-lang.org/pub/ruby/1.9/"$1)}'</nowiki><br />
<br />
либо скачиваем вручную с сайта http://www.ruby-lang.org/en/downloads/ желаемую версию Ruby.<br />
<br />
'''3.''' Распаковка:<br />
$ tar xvfj ruby-1.*<br />
<br />
'''4.''' Устанавливаем Ruby в свой домашний каталог в папку ~/opt<br />
$ cd ruby-1.* && ./configure --prefix=${HOME}/opt/ruby/$(echo ${PWD##*/} \<br />
| sed 's/^ruby-\(.*\)$/\1/') --disable-install-doc --disable-install-rdoc --disable-install-capi && make && make install<br />
при конфигурации вы можете добавить еще какие-то свои опции, но на мой взгляд ничего заслуживающего внимания там нет.<br /><br /><br />
'''5.''' Если все прошло успешно, переходим в каталог с ruby и для удобства делаем symlink:<br />
$ cd ~/opt/ruby && rm -f current && ln -vs $(ls -1t | head -n 1) current<br />
<br />
'''6.''' '''Настройка переменных окружения.'''<br /><br />
В файл <code>~/.bashrc</code> добавляем пути к локальным gems, ruby:<br />
$ grep -q RUBYOPT ~/.bashrc || sed -i '/^# rails environment/,+5d;/happen/a #\n# rails 3 environment\nunset RUBYOPT\<br />
export GEM_HOME="${HOME}/.gems"\nexport GEM_PATH="${GEM_HOME}:${HOME}/opt/ruby/current/lib/ruby:/opt/ruby/current/lib/ruby"\<br />
export PATH="${GEM_HOME}/bin:${HOME}/opt/ruby/current/bin:/opt/ruby/current/bin:${PATH}"' ~/.bashrc<br />
<br />
Полностью файл <code>~/.bashrc</code> может выглядить так:<br />
<nowiki># /etc/skel/.bashrc<br />
#<br />
# This file is sourced by all *interactive* bash shells on startup,<br />
# including some apparently interactive shells such as scp and rcp<br />
# that can't tolerate any output. So make sure this doesn't display<br />
# anything or bad things will happen !<br />
#<br />
# rails 3 environment<br />
unset RUBYOPT<br />
export GEM_HOME="${HOME}/.gems"<br />
export GEM_PATH="${GEM_HOME}:${HOME}/opt/ruby/current/lib/ruby:/opt/ruby/current/lib/ruby"<br />
export PATH="${GEM_HOME}/bin:${HOME}/opt/ruby/current/bin:/opt/ruby/current/bin:${PATH}"<br />
<br />
# Test for an interactive shell. There is no need to set anything<br />
# past this point for scp and rcp, and it's important to refrain from<br />
# outputting anything in those cases.<br />
if [[ $- != *i* ]] ; then<br />
# Shell is non-interactive. Be done now!<br />
return<br />
fi<br />
<br />
# Midnight Commander chdir enhancement<br />
if [ -f /usr/share/mc/mc.gentoo ]; then<br />
. /usr/share/mc/mc.gentoo<br />
fi<br />
<br />
# Put your fun stuff here.<br />
<br />
export PERL5LIB=${HOME}/perl/lib64/perl5:${HOME}/perl/lib64/perl5/site_perl:${HOME}/perl/lib64/perl5/vendor_perl</nowiki><br />
<br />
'''7.''' Импорт окружения:<br />
$ source ~/.bashrc<br />
<br />
== Установка пакетов ==<br />
'''1.''' Ставим Rails и сопутствующие пакеты:<br />
$ gem install rails --no-rdoc --no-ri --version '< 4'<br />
проверяем версию:<br />
$ rails -v<br />
Rails 3.0.3<br />
<br />
$ gem install sqlite3-ruby --no-rdoc --no-ri<br />
$ gem install mysql --no-rdoc --no-ri<br />
$ gem install execjs --no-rdoc --no-ri<br />
$ gem install therubyracer --no-rdoc --no-ri<br />
<br />
По умолчанию на хостинге 1Gb.ru для обслуживания Rails приложений ставится web-сервер [https://github.com/fauna/mongrel Mongrel], но он до сих пор не работает с Rails 3, поэтому вместо него будем использовать [http://code.macournoyer.com/thin/ Thin]<br />
$ gem install thin --no-rdoc --no-ri<br />
<br />
'''2.''' Для того чтобы вместо Mongrel'а запускался наш web-сервер, в файле <code>~/.railsrc</code> прописываем версию своего Rails и полный путь к web-серверу:<br />
$ echo -e "RAILS_VERSION=3\nMONGREL_BIN_MY=\${HOME}/.gems/bin/thin" > ~/.railsrc<br />
<br />
== Настройка приложения и запуск ==<br />
<br />
'''1.''' Удаляем старое приложение и ставим свое:<br />
$ rm -rf ~/http/ && rails new ~/http<br />
<br />
'''2.''' Добавляем в приложение библиотеку для запуска JavaScript кода непосредственно из Ruby:<br />
$ echo "gem 'execjs'" >> ~/http/Gemfile<br />
$ echo "gem 'therubyracer'" >> ~/http/Gemfile<br />
<br />
'''3.''' Подключаем thin в приложение:<br />
$ echo "gem 'thin'" >> ~/http/Gemfile<br />
<br />
'''4.''' Запускаем:<br />
$ killall -9 mongrel_rails; ~/init.d/mongrel start<br />
<br />
Если все сделали правильно, то у вас откроется вот такая тестовая страница приложения http://test-l19-ror3.1gb.ru/ .<br />
<br />
== См. также ==<br />
* [[Юникс шелл]]<br />
* [[Ruby on Rails: использование gems]]<br />
* [[Как обновить RubyGems]]<br />
<br />
== Ссылки ==<br />
* [http://www.1gb.ru/services_ruby.php Ruby on Rails] (рус.) - общая информация на сайте [http://www.1gb.ru 1Gb.ru].<br />
* [http://rubyonrails.org/ Ruby on Rails] (англ.) - официальный сайт проекта, дистрибутивы, статьи, документация.<br />
[[Категория:Программирование]]<br />
[[Категория:Ruby]]</div>Renton