Redmine – это довольно популярная в последнее время платформа для управления проектами и отслеживания ошибок. По идее, его установка – стандартная процедура, но мне, как совершенно незнакомому с Ruby и тонкостями установки Ruby софта пришлось повозиться.
Кроме того, в большинстве инструкций описывается использование Apache в качестве веб-сервера. У меня для этой цели будет использован Nginx
Подготовка системы
Для начала установим минимально необходимые для работы Ruby пакеты
- 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
- sudo gem install -v=2.3.5 rails
- sudo gem install mysql mongrel mongrel_cluster
mysql – C-библиотека для работы с MySQL базой данных, rails – знаменитые RubyOnRails, mongrel и mongrel_cluster – родной веб-сервер для Ruby веб-приложений.
Создание учетных записей
В принципе, этот шаг можно пропустить и использовать существующего пользователя, например www-data, но я крайне рекомендую все-же не полениться и, ради безопасности, проделать и эту часть инструкции.
Создаем нового пользователя с домашней директорией /home/redmine , и именем redmine
- sudo useradd -d /home/redmine -m -s /bin/bash redmine ; sudo passwd redmine
Переключаемся на созданного пользователя
- sudo su redmine ; cd ~
Загрузка и настройка Redmine
Если у вас есть GIT, то
- git clone git://github.com/edavis10/redmine.git
Если нет:
- svn co http://redmine.rubyforge.org/svn/trunk redmine
Перемещаем полученные файлы в корень домашней директории и подчищаем мусор
- mv redmine/* . ; rm -r redmine
Теперь нужно настроить соединение Redmine с базой данных… Redmine поддерживает работу с базами данных sqlite, mysql и postgre-sql. MySQL у меня на сервере есть, но его версия 5.1. Проблема в том, что текущая версия Ruby библиотеки не поддерживает работу с версией 5.1 сервера MySQL, поэтому я решил использовать sqlite3 базу данных. Так вот, копируем пример конфиг-файла
- cp config/database.yml.example config/database.yml
- nano config/database.yml
Меняем строки production на что-то вроде backup_production а строку test_sqlite3 на production, сохраняем. Т.е. вся база данных будет храниться в sqlite3 файле db/test.db (создастся автоматически)
После создаем некое рандомное значение, необходимое для кодирования Cookies
- rake config/initializers/session_store.rb
Генерируем структуру базы данных
- rake db:migrate RAILS_ENV="production"
Загружаем и импортируем в базу данных стандартные данные
- RAILS_ENV=production rake redmine:load_default_data
Выставляем необходимые права доступа
- 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
В принципе, теперь можно попробовать запустить:
- ruby script/server webrick -e production
При этом запустится простенький веб-сервер по адресу http://localhost:3000/ Можно открыть в браузере, зайти под учеткой admin/admin, сменить пароль на нормальный. Для остановки сервера жмем Ctrl+C. Если хотите использовать redmine локально – на этом можно остановиться, а для совместной работы через интернет нужно настроить веб-сервер для работы с Ruby и Redmine. Как это сделать – см во 2-й части