Linux, программирование, Я!

Установка Redmine на Ubuntu 9.10 под Nginx

Redmine – это довольно популярная в последнее время платформа для управления проектами и отслеживания ошибок. По идее, его установка – стандартная процедура, но мне, как совершенно незнакомому с Ruby и тонкостями установки Ruby софта пришлось повозиться.

Кроме того, в большинстве инструкций описывается использование Apache в качестве веб-сервера. У меня для этой цели будет использован Nginx

Подготовка системы

Для начала установим минимально необходимые для работы Ruby пакеты

bash
  1. sudo apt-get install ruby rubygems ruby1.8-dev libgemplugin-ruby libgemplugin-ruby1.8  libruby-extras libruby1.8-extras rubygems1.8 libsqlite3-ruby libopenssl-ruby

Пакеты ruby,  ruby1.8-dev, libruby-extras, libruby1.8-extras нужны для работы самого руби, rubygemslib, gemplugin-ruby, libgemplugin-ruby1.8, rubygems1.8 нужны для установки Ruby библиотек из самого руби (эт такой руби-пакетный менеджер), libopenssl-ruby – для SSL, libsqlite3-ruby – для работы с sqlite3 базой данных. Хочу заметить, что это НЕОБХОДИМЫЙ МИНИМУМ пакетов.

Далее устанавливаем необходимые для работы Redmine Ruby – библиотеки через встроенный пакетный менеджер gem

bash
  1. sudo gem install -v=2.3.5 rails
  2. sudo gem install mysql mongrel mongrel_cluster

mysql – C-библиотека для работы с MySQL базой данных, rails – знаменитые RubyOnRails, mongrel и mongrel_cluster – родной веб-сервер для Ruby веб-приложений.

Создание учетных записей

В принципе, этот шаг можно пропустить и использовать существующего пользователя, например www-data, но я крайне рекомендую все-же не полениться и, ради безопасности, проделать и эту часть инструкции.

Создаем нового пользователя с домашней директорией /home/redmine , и именем redmine

bash
  1. sudo useradd -d /home/redmine -m -s /bin/bash redmine ; sudo passwd redmine
После ввода этой команды придумайте пароль для нового пользователя и введите его в появившемся запросе.

Переключаемся на созданного пользователя

bash
  1. sudo su redmine ; cd ~
.

Загрузка и настройка Redmine

Если у вас есть GIT, то

bash
  1. git clone git://github.com/edavis10/redmine.git

Если нет:

bash
  1. svn co http://redmine.rubyforge.org/svn/trunk redmine

Перемещаем полученные файлы в корень домашней директории и подчищаем мусор

bash
  1. mv redmine/* . ; rm -r redmine

Теперь нужно настроить соединение Redmine с базой данных… Redmine поддерживает работу с базами данных sqlite, mysql и postgre-sql. MySQL у меня на сервере есть, но его версия 5.1. Проблема в том, что текущая версия Ruby библиотеки не поддерживает работу с версией 5.1 сервера MySQL, поэтому я решил использовать sqlite3 базу данных. Так вот, копируем пример конфиг-файла

bash
  1. cp config/database.yml.example config/database.yml
И редактируем этот конфиг

bash
  1. nano config/database.yml

Меняем строки production на что-то вроде backup_production а строку test_sqlite3 на production, сохраняем. Т.е. вся база данных будет храниться в sqlite3 файле db/test.db (создастся автоматически)

После создаем некое рандомное значение, необходимое для кодирования Cookies

bash
  1. rake config/initializers/session_store.rb

Генерируем структуру базы данных

bash
  1. rake db:migrate RAILS_ENV="production"

Загружаем и импортируем в базу данных стандартные данные

bash
  1. RAILS_ENV=production rake redmine:load_default_data

Выставляем необходимые права доступа

bash
  1. mkdir tmp public/plugin_assets sudo chown -R redmine:redmine files log tmp public/plugin_assets sudo chmod -R 755 files log tmp public/plugin_assets

В принципе, теперь можно попробовать запустить:

bash
  1. ruby script/server webrick -e production

При этом запустится простенький веб-сервер по адресу http://localhost:3000/ Можно открыть в браузере, зайти под учеткой admin/admin, сменить пароль на нормальный. Для остановки сервера жмем Ctrl+C. Если хотите использовать redmine локально – на этом можно остановиться, а для совместной работы через интернет нужно настроить веб-сервер для работы с Ruby и Redmine. Как это сделать – см во 2-й части

Оставить комментарий

Вы можете использовать следующие HTML теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>