Знакомство с Ruby on Rails (RoR)
В моей повседневной жизни возникла потребность использовать веб приложение для управления проектами, Redmine. Так как на своем домашнем ПК я использую ОС Windows XP SP2, предполагал ряд проблем с установкой и настройкой Redmine. В общем то так оно и получилось.
Убив от 5 до 6 часов на поиск документации по установке и исправлении ошибок, у меня все таки получилось увидеть в своем браузере интерфейс Redmine *СЧАСТЬЕ*.
В статье я постараюсь рассказать вам о установке и настройки всех необходимых компонентов для использования Redmine на ОС Windows XP SP2 / Windows 7. Начнем с терминов и названий.
Что такое Ruby?
Ruby – высокоуровневый язык программирования для объектно-ориентированного программирования.
Что такое Rails (RoR)?
Попросту говоря это Framework разработанный на Ruby, это как Zend Framework на PHP.
Что такое Gem?
В статье мы не раз увидим это слово. Gem – это менеджер пакетов для Ruby, т.е. с помощью него мы устанавливаем, обновляем нужные нам компоненты для Ruby.
Со всеми последующими терминами Вы можете ознакомиться в википедии.
Redmine мы будем использовать с базой данных MySQL. В этой статье не будет рассмотрена установка и настройка MySQL. Предполагается, что она уже установлена и настроена.
Начнем по порядку.
1ый этап (Установка Ruby и Redmine)
Для начала нам необходимо установить Ruby, но не спешите! Вся эта связка Ruby + Ruby on Rails очень капризна к версиям компонентов. Поэтому для начала необходимо посмотреть и определиться какую версию Redmine мы будем использовать. Таблицу совместимости можно посмотреть на www.redmine.org/projects/redmine/wiki/RedmineInstall
В этой статье будет рассмотрена установка Redmine 1.3.*. Поэтому для неё мы будем использовать Ruby 1.8.7, Rails 2.3.14. В таблице также указаны дополнительные версии компонентов, которые необходимы для правильной работы Redmine (rack и rubygems).
Скачиваем Ruby 1.8.7 с rubyinstaller.org/downloads/
Во время установки указываем путь C:Ruby и не забываем, поставить галочку «Add Ruby executables to your Path». Установка завершена.
Теперь надо скачать Redmine 1.3.0 c rubyforge.org/frs/?group_id=1850
Создаем директорию apps в C:Ruby. В ней будут находится наши приложения. Переносим архив с Redmine в C:Rubyapps. Извлекаем в текущую папку и переименуем redmine-1.3.0 в redmine. Итого получаем установленный Ruby и распакованный фреймворк в C:Rubyappsredmine.
2ой этап (Установка Rails)
Теперь нам необходимо установить фреймворк Ruby on Rails (RoR) для Redmine. Незабываем, что нам нужна версия 2.3.14, поэтому при установки мы явно указываем версию. Пуск -> Выполнить -> cmd, открыли командную строку. Выполняем команды:
cd C:
gem install rails –v=2.3.14
После установки Вы можете просмотреть список установленных пакетов и их версии. Команда:
cd C:
gem list
В ОС Windows 7 возникла ошибка при данных командах связанная с путями. Решается она довольно просто. Открываем C:Rubybingem.bat в редакторе и изменяем:
@ECHO OFF
SET _HOMEDRIVE=%HOMEDRIVE%
SET _HOMEPATH=%HOMEPATH%
SET HOMEDRIVE=C:
SET HOMEPATH=Ruby
IF NOT "%~f0" == "~f0" GOTO :WinNT
@"ruby.exe" "C:/Ruby/bin/gem" %1 %2 %3 %4 %5 %6 %7 %8 %9
GOTO :EOF
:WinNT
@"ruby.exe" "%~dpn0" %*
SET HOMEDRIVE=%_HOMEDRIVE%
SET HOMEPATH=%_HOMEPATH%
После выполняем вышеперечисленные команды.
3ий этап (Установка Rack)
Что такое Rack? Честно говоря без понятия. Где то вычитал, что он служит для обеспечения взаимодействия между веб серверами. В таблицы совместимости на сайте Redmine для версии 1.3.0 требуется Rack 1.1.*. Снова устанавливаем, явно указывая версию компонента:
cd C:
gem install rack –v=1.1.0
4ый этап (DevKit + RDoc)
Нам необходимо установить компонент rdoc, но для того, чтобы его установить надо настроить DevKit.
Скачиваем DevKit rubyinstaller.org/downloads/
Распакуем мы его в C:Rubydevkit
Выполняем команды:
cd C:Rubydevkit
ruby dk.rb init
ruby dk.rb review
ruby dk.rb install
Если установка прошла успешно, пробуем установить RDoc:
cd C:
gem install rdoc
5ый этап (Возможные проблемы с rubytree)
В дальнейшем у нас могут возникнуть проблемы с компонентом rubytree. Чтобы в дальнейшем их не было, выполним команду:
cd C:
rake gems:refresh_specs
6ой этап (Обновление RubyGems)
В таблицы совместимости указано, что нужна версия не выше 1.7.0. Давайте обновим нашего пакетного менеджера версией 1.6.2 выполнив команду:
cd C:
gem update –system=1.6.2
7ой этап (MySQL)
Теперь пожалуй мы создадим базу данных Redmine и пользователя для неё:
CREATE DATABASE `redmine` CHARACTER SET UTF8;
Создаем пользователя для Redmine:
CREATE USER 'redmine'@'localhost' IDENTIFIED BY '12345';
Если данный пользователь уже есть, пересоздайте его, т.е. удалите:
DROP USER ‘redmine’@’localhost’;
Выдаем все права для пользователя redmine для базы Redmine:
GRANT ALL PRIVILEGES ON redmine.* TO ‘redmine’@’localhost’;
FLUSH PRIVILEGES;
8ой этап (Настройка Redmine и Ruby для работы с MySQL)
Для работы с MySQL нам еще потребуется скачать DLL библиотеку libmySQL.dll
Скачиваем instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll
Библиотеку перемещаем в C:Rubybin
Открываем каталог C:Rubyappsredmineconfig. В этом каталоге делаем копию файла database.yml.example и переименуем его в database.yml, открываем.
Настроим подключение к MySQL для production версии. Сохраняем.
production:
adapter: mysql
database: redmine
host: localhost
username: redmine
password: 12345
encoding: utf8
Теперь нам надо установить компонент для работы с MySQL:
cd C:
gem install mysql
9ый этап (Создание структуры БД и внесение данных)
Выполняем команды:
cd C:Rubyappsredmine
rake generate_session_store
set RAILS_ENV=production
rake db:migrate
rake redmine:load_default_data
Думаю тут все понятно.
10ый этап (Наконец то)
Теперь мы можем запустить встроенный веб сервер Webrick и проверить работоспособность нашего веб приложения:
cd C:Rubyappsredmine
ruby script/server webrick –e production
Если все прошло успешно, открываем localhost:3000/ и видим окно приветствия Redmine.
Стандартный логин и пароль для администратора: admin / admin
Для постоянной работы данный веб сервер (Webrick) использовать не рекомендуется, поэтому в следующей статье мы рассмотрим установку и настройку Mongrel.
Чтобы закрыть Webrick, в cmd жмем Ctrl + C.
Автор: Palpatinel