![]() |
|
![]() ![]() ![]() |
|
DezmASter |
|
||||||||||||||
![]() Дизайнер :) ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 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-приложение. Теперь необходимо изменить пути к Ruby в вашем приложении. По умолчанию в Rails используется путь /usr/local/bin/ruby. Нам же нужно поменять его на, к примеру, c:/ruby/bin/ruby. Для этого можно использовать консольный скрипт:
После того как 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, дописываем строчку:
Далее находим строчку Options Indexes FollowSymLinks Includes MultiViews добавляем опцию ExecCGI, для выполнения наших ruby-сценариев вне директории cgi.
Строчку AddHandler cgi-script .cgi .pl .py (.py может отсутствовать) меняем на:
Так как корневой директорией Rails-прилолжения является директория public, нам надо изменить настройки для виртуальных хостов. В «Разделе 3: Виртуальные хосты» конфига Apache в Денвере добавляем строчку, которая позволит Apache правильно определить корневую директорию нашего приложения:
«Самый общий шаблон» — DocumentRootMatch "/home/(?!cgi-)(.*)^1/(?!cgi$|cgi-)(.*)" можно и убрать. Напоследок добавляем в конец шаблона виртуального хоста, где-нибудь перед ErrorLog "$^1/error.log", строчку
Настройка 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 |
||||||||||||||
|
|||||||||||||||
guai |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 29.4.2010 Репутация: нет Всего: нет |
Еле нашел модуль scgi тут
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Ruby on Rails" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Ruby On Rails | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |