Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Установка Ruby on Rails под Windows на Денвер. 
:(
    Опции темы
DezmASter
Дата 1.5.2007, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дизайнер :)
***


Профиль
Группа: Участник
Сообщений: 1520
Регистрация: 3.2.2006
Где: Украина, Запорожь е

Репутация: нет
Всего: 109



Появилось желание выучить что-то новенькое. И главное — появилось время заняться этим. Мой выбор пал на Ruby. Точнее на Ruby on Rails.


Сейчас все помешаны на Ruby? Так часто говорят. Мною как всегда движет прагматичный интерес и азарт. Для кого-то Ruby — тропинка, ведущая к AJAX и WEB 2.0, для кого-то просто мощный язык программирования. Многие просто ставят Ruby в один ряд с Perl и PHP и цепляют бирку с надписью - «еще один». Я помню, первое свое знакомство с PHP. Тогда я еще писал на Perl. PHP код я увидел, стоя за спиной у знакомого программиста, когда тот делал счетчик посещений. Программист искал ошибку, а я любовался кодом. После этого я «подсел» на PHP. Может быть, пришло время Ruby?


Да, Ruby — один из. Один из веб-ориентированных языков программирования, исполняемых на стороне сервера. Интерпретируемый. Особенным Ruby сделало появление Rails (Ruby on Rails). Ruby on Rails — framework, среда разработки, написанная на Ruby. Создал Ruby David Heinemeier Hansson, программист 37signals. Ruby on Rails позволяет знасительно ускорить время разработки на Ruby.

Установка Ruby



Ну а что с установкой? На первый взгляд все просто. Заходим на HowtosInstallation, читаем и ставим. Но, тут у меня начались проблемы. Что нужно было сделать? Зайти на сайт Ruby on Rail в раздел Downloads и скачать Ruby Windows Installer и Ruby Gems (последний, на сколько я понимаю, не обязательный, т.к. Gems по умолчанию входит в Ruby Windows Installer).


После установки обоих пакетов, проверяем корректность установки Ruby, для этого в командной строке набираем ruby -v. В результате мы должны увидеть версию установленного пакета Ruby. Скорее всего Вам нужно будет перед этим перезагрузить Windows.

В связи с тем, что мы устанавливаем Ruby on Rails в дополнение к пакету Денвер (Denwer), возникает вопрос о директории, в которую необходимо установить Ruby. По умолчанию Ruby устанавливается в директорию c:/ruby. Мы можем установить Ruby в директорию c:/WebServers/home/usr/local/bin. Зачем? И в чем разница? Apache будет выполнять наши ruby-скрипты как cgi-сценарии. Соответственно первой строчкой в ruby-скрипте будет идти строка, определяющая путь к исполняемому файлу ruby, например, как в perl — #!usr/bin/perl. Вот и в нашем случае путь будет выглядеть либо как #!c:/ruby/bin/ruby либо как #!usr/local/bin/ruby/ruby. Разница с одной стороны не принципиальная, но второй вариант, в котором мы ставим Ruby в директорию bin нашего сервера, предпочтительней.

Установка Rails


Итак, если все получилось, идем дальше. Устанавливаем Rails. И здесь — Ruby on Rails HowtosInstallation, и здесь — Ruby Downloads процесс установки Rails сводится к использованию Gem утилиты. В командной строке пишем gem install rails --include-dependencies, в результате с сервера будут скачаны и установлены все необходимые пакеты Rails с учетом зависимостей.

Тут у меня возникла проблемка — gem просился в Интернет, но ничего не скачивал и молча висел.


Пришлось устанавливать Rails в ручную.


Для этого необходимо скачать несколько файлов — компонентов Rails и воспользоваться все той же утилитой gem. Файлы должны быть с расширением .gem и установка из командной строки будет выглядеть так: gem install file.gem

Нам нужны компоненты:

Activesupport (activesupport-1.2.5.gem)

Actionpack (actionpack-1.11.2.gem)

Actionmailer (actionmailer-1.1.5.gem)

Activerecord (activerecord-1.13.2.gem)

Actionwebservice (actionwebservice-1.0.0.gem)

Rake (rake-0.6.2.gem)

Rails (rails-1.0.0.gem)

Скачиваем их и устанавливаем в приведенном порядке. Сам не проверял, но, говорят, порядок важен. Установка — в командной строке gem install file.gem

Итак, у нас имеется установленный Ruby on Rails. Сам Ruby без проблем работает из командной строки.



C:\>ruby puts "Hello, world!"

"Hello, world!"


Осталось создать Ruby on Rails приложение и настроить сервер.

Создание rails-приложения

Для создания Rails-приложения набираем в командной строке:



Код

rails путь/к/вашему/новому/приложению




В результате будет создано пустое Rails-приложение. Теперь необходимо изменить пути к Ruby в вашем приложении. По умолчанию в Rails используется путь /usr/local/bin/ruby. Нам же нужно поменять его на, к примеру, c:/ruby/bin/ruby. Для этого можно использовать консольный скрипт:



Код

ruby -i.bak -pe 'gsub!("#!/usr/local/bin/ruby", "#!c:/ruby/bin/ruby")' public/dispatch. script/




После того как Rails-приложение создано, разберемся с сервером.

Настройка Apache


Установив Ruby on Rails, мы автоматом получаем в свое распоряжение небольшой сервер WEBrick. Запускается он сервлетом ruby script/server из командной строки.

Тут у меня возникла вторая проблемка. Сначала сервер не запускался, а только ругался на ошибку в файле конфигурации. После устранения ошибки WEBrick стал запускаться, слушать порты, но молчать в ответ на запросы.

После часа возни, решив, что где-то мною допущена ошибка при установке или я был не в курсе какого-то нюанса, я скачал уже готовый пакет (Pre-packaged Ruby on Rails) — Instantrails.


Instantrails чем-то похож на Денвер — это готовый набор, состоящий из Apache, PHP, Ruby on Rails и MySQL.
Все хорошо, одно плохо — Instantrails у меня не заработал. Сервер запускался, но упорно не хотел меня пускать, запрещая доступ ко всему — access denied. Любую проблему можно решить, любую трудность побороть, но ни один дурак в три часа ночи в гору не ходит. Я решил эту гору обойти и положил глаз на уже установленный у меня пакет Денвер.

Для настройки денверского Apache необходимо будет изменить апачевский конфиг httpd.conf. А еще нам понадобится этот файлик — SCGI модуль. The Simple Common Gateway Interface is a project to replace CGI and FastCGI with a simpler protocol to both implement and manage. То есть вместо FastCGI, о котором так много говорится при описании установки Ruby on Rails, мы будем использовать SCGI.

Указанный файл скачиваем и помещаем в директорию с модулями Apache — C:\WebServers\usr\local\apache\modules.

Открываем конфиг Apache — C:\WebServers\usr\local\apache\conf\httpd.conf. В блоке, отвечающем за загрузку модулей Apache, дописываем строчку:

Код

LoadModule scgi_module modules/mod_scgi.so



Далее находим строчку Options Indexes FollowSymLinks Includes MultiViews добавляем опцию ExecCGI, для выполнения наших ruby-сценариев вне директории cgi.

Код

Options Indexes FollowSymLinks Includes MultiViews ExecCGI



Строчку AddHandler cgi-script .cgi .pl .py (.py может отсутствовать) меняем на:
Код


AddHandler cgi-script .cgi .pl .py .rb .fcgi



Так как корневой директорией Rails-прилолжения является директория public, нам надо изменить настройки для виртуальных хостов. В «Разделе 3: Виртуальные хосты» конфига Apache в Денвере добавляем строчку, которая позволит Apache правильно определить корневую директорию нашего приложения:

Код

DocumentRootMatch "/home/(?!cgi-)(.*)/public^1"



«Самый общий шаблон» — DocumentRootMatch "/home/(?!cgi-)(.*)^1/(?!cgi$|cgi-)(.*)" можно и убрать.

Напоследок добавляем в конец шаблона виртуального хоста, где-нибудь перед ErrorLog "$^1/error.log", строчку

Код

SCGIMount /public/dispatch.fcgi 127.0.0.1:9999



Настройка Apache закончена. Теперь у нас Денвер на Рельсах или Denwer on Rails, кому как больше нравится. Возможно, товарищ Котеров, создатель Денвера, добавит Ruby on Rails в очередной релиз своего джентльменский набор веб-разработчика, и Вам не придется так «заморачиваться», а пока что, все hand-made. Долго, зато приятно.

Ну а теперь нужно создать папку (например, ruby.ua) для нового хоста в директории /home Денвера и разместить там наш Ruby on Rails проект.

Все. Запускаем Apache, открываем браузер, набираем http://ruby.ua

Welcome aboard

You’re riding the Rails!

Автор: Влад Новак
Сайт автора: http://www.1px.biz

PM WWW ICQ Skype GTalk Jabber   Вверх
guai
Дата 8.6.2011, 05:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 29.4.2010

Репутация: нет
Всего: нет



Еле нашел модуль scgi тут
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby on Rails"
source777
  • С чего начать? начинаем
  • Документацию смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby On Rails | Следующая тема »


 




[ Время генерации скрипта: 0.1064 ]   [ Использовано запросов: 23 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.