По мере увеличения числа вовлечённых в проект людей возникает необходимость как-то более эффективно организовывать и управлять их деятельностью. На начальном этапе для этой цели использовались Google-таблицы, но их возможности ограничены, и появилось желание перейти на новый уровень. Изучение доступных систем управления проектами показало, что из систем с открытым кодом Redmine наиболее продвинутая и по некоторым показателям обгоняет даже проприетарные системы.
Redmine, действительно, обладает большими возможностями: управление несколькими проектами, отслеживание ошибок, интеграция с репозиториями, перекрёстные ссылки на исправленные баги в коммитах и на коммиты в баг-репортах, назначение разных ролей пользователей в каждом проекте и т.д. Однако процедура установки довольна сложна, а для некоторых очень полезных функций требуется небольшая доработка или использование плагинов. Надеюсь, что предлагаемое ниже руководство поможет желающим использовать Redmine в своих проектах.
АНГЛИЙСКИЙ НА СЛУХ — Eddie Redmayne (Эдди Редмэйн)
Компоненты
Система управления проектами Redmine
- ведение нескольких проектов
- система отслеживания событий (bug, feature)
- разные роли пользователей (менеджер, разработчик, репортер) по каждому проекту
- поддержка новостей, документов, файлов, wiki, форумов для каждого проекта
- интеграция с системами управления версиями (SVN, Git, Mercurial)
- уведомления о событиях по электронной почте
- возможность учёта времени работы
Система контроля версий Mercurial
Кросс-платформенная распределённая система управления версиями.
Также понадобится
Web-сервер и система управления базами данных. Использованы Mysql и Apache.
Установка
Также использовалась официальная инструкция по установке
Redmine Installation Guide.
Предполагаем что у нас уже есть сервер с предустановленным на нём Ubuntu Server 16.04. Дальнейшие инструкции описывают установку системы управления и вспомогательного ПО.
Итак, начнём. Сначала устанавливаем LAMP server:
$ sudo tasksel install lamp-server
Во время установки понадобится ввести пароль root-пользователя базы данных MySQL (не путать с паролем root операционной системы).
Создаём базу данных MySQL и пользователя redmine для работы с ней. Вместо [password] вставляем желаемый пароль пользователя.
Скачиваем Redmine со страницы www.redmine.org/projects/redmine/wiki/Download или командой
$ wget http://www.redmine.org/releases/redmine-3.3.3.tar.gz
Распаковываем Redmine в каталог /usr/share/redmine. Находим подкаталог config и копируем config/database.yml.example в config/database.yml. После этого редактируем файл, для того чтобы установить «production» режим базы данных:
$ sudo cp /usr/share/redmine/config/database.yml.example /usr/share/redmine/config/database.yml $ sudo nano /usr/share/redmine/config/database.yml
Вводим текст и сохраняем файл (ctrl+x):
production: adapter: mysql2 database: redmine host: localhost username: redmine password: «[password]» encoding: utf8
Устанавливаем необходимые пакеты:
FAQ по баг-трекингу Redmine
$ sudo apt install ruby ruby-dev build-essential libmysqlclient-dev
$ gem install bundler
Теперь можно установить gems, необходимые для Redmine:
$ cd /usr/share/redmine $ bundle install —without development test rmagick
Создаём случайный ключ, который Rails будет использовать для шифрования данных в cookie:
$ cd /usr/share/redmine $ bundle exec rake generate_secret_token
Дальше создаём структуру базы данных (выполняем в /usr/share/redmine):
$ RAILS_ENV=production bundle exec rake db:migrate $ RAILS_ENV=production bundle exec rake redmine:load_default_data
Устанавливаем необходимые права доступа:
$ cd /usr/share/redmine $ sudo chown -R www-data:www-data files log tmp public/plugin_assets $ sudo chmod -R 755 files log tmp public/plugin_assets
При желании можно протестировать установку Redmine с помощью веб-сервера WEBrick:
$ sudo -u www-data bundle exec rails server webrick -e production
После запуска WEBrick стартовая страница Redmine должна быть доступна в браузере по адресу http://localhost:3000/
Интеграция с Apache
$ sudo apt-get install libapache2-mod-passenger
Добавить символьную ссылку на public каталог Redmine:
$ sudo ln -s /usr/share/redmine/public /var/www/redmine
Необходимо настроить пользователя Passenger по умолчанию, для этого редактируем файл:
$ sudo nano /etc/apache2/mods-available/passenger.conf
Нужно добавить следующую строчку и сохранить (ctrl+x):
PassengerDefaultUser www-data
В итоге файл должен выглядеть так:
PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini PassengerDefaultRuby /usr/bin/ruby PassengerDefaultUser www-data
Далее создать конфигурационный файл redmine.conf для apache:
$ sudo nano /etc/apache2/sites-available/redmine.conf
Добавить следующий текст и сохранить (ctrl+x):
Подключить модули Passenger и Rewite:
$ sudo a2enmod passenger $ sudo a2enmod rewrite
Отключить default вебсайт и подключить redmine:
$ sudo a2dissite 000-default $ sudo a2ensite redmine
Установить права доступа на /tmp/cache Redmine:
sudo chmod 777 /usr/share/redmine/tmp/cache
$ sudo service apache2 reload
Теперь можно открыть любимый браузер и зайти на http://[my site or ip]/redmine или просто http://[my site or ip] . Должна появиться стартовая страничка системы Redmine.
Установка Mercurial
Необходимо установить пакеты:
$ sudo apt-get install mercurial libapache2-mod-perl2 libapache-dbi-perl libdbd-mysql-perl
Создать директорию, в которой будут храниться репозитории проектов:
$ sudo mkdir -p /var/hg/
Теперь мы хотим сделать репозитории доступными по http протоколу. Для этого необходимо создать cgi-скрипт:
$ sudo nano /var/hg/hgwebdir.cgi
Добавить следующий текст и сохранить:
#!/usr/bin/python from mercurial import demandimport; demandimport.enable() from mercurial.hgweb.hgwebdir_mod import hgwebdir import mercurial.hgweb.wsgicgi as wsgicgi application = hgwebdir(‘hgweb.config’) wsgicgi.launch(application)
Теперь нужно создать файл hgweb.config:
$ sudo nano /var/hg/hgweb.config
Добавить следующее содержимое и сохранить:
[paths] /=/var/hg/** [web] allow_push = * push_ssl = false allowbz2 = yes allowgz = yes allowzip = yes
Установить разрешения для файлов:
$ sudo chown -R www-data:www-data /var/hg/* $ sudo chmod gu+x /var/hg/hgwebdir.cgi
Теперь надо создать conf файл для Apache:
$ sudo nano /etc/apache2/conf-available/hg.conf
Добавить следующее содержимое и сохранить:
PerlLoadModule Apache2::Redmine ScriptAliasMatch ^/hg/(.*) /var/hg/hgwebdir.cgi/$1 Options +ExecCGI AuthType Basic AuthName «Mercurial» Require valid-user AuthUserFile /dev/null #Redmine auth PerlAccessHandler Apache::Authn::Redmine::access_handler PerlAuthenHandler Apache::Authn::Redmine::authen_handler RedmineDSN «DBI:mysql:database=redmine;host=127.0.0.1» RedmineDbUser «redmine» RedmineDbPass «[password]»
Ещё необходимо создать ссылки:
$ sudo ln -s /etc/apache2/conf-available/hg.conf /etc/apache2/conf-enabled/ $ sudo ln -s /usr/share/redmine/extra/svn/Redmine.pm /usr/lib/x86_64-linux-gnu/perl5/5.22/Apache2/
Включить CGI модуль и перезапустить Apache:
$ sudo a2enmod cgi $ sudo service apache2 reload
Репозитории будут доступны по адресам http://[my site or ip]/hg/* . Например, для проекта project адрес будет таким http://[my site or ip]/hg/project . Если у проекта project будет подпроект subproject1, то его репозиторий будет доступен по адресу http://[my site or ip]/hg/project/subproject1 .
Чтобы клонировать репозиторий надо будет выполнить:
$ hg clone http://[my site or ip]/hg/project
Если клонируемый проект не публичный (устанавливается в настройках проекта через веб-интерфейс системы Redmine), то потребуется ввести имя пользователя и пароль.
Авторизация осуществляется по проектам, т.е. доступ будет возможен только для участников проекта (менеджеры и разработчики).
При создании репозитория в веб-интерфейсе Redmine необходимо указать путь к нему, например /var/hg/projectname. Репозитории в /var/hg необходимо создать вручную для каждого проекта и инициализировать командой ( hg init ).
После создания нового репозитория надо убедиться, что у него установлены нужные права доступа:
$ sudo chown -R www-data:www-data /var/hg/[repository name]
В принципе, есть возможность автоматизировать создание репозиториев. Информация об этом есть в руководстве по ссылке HowTo Install Redmine 1.2.x with Mercurial and Subversion on Ubuntu Server 10.04
Уведомления о фиксации изменений по email
Redmine поддерживает уведомления о разных событиях (изменениях в жизни баг/фич и т.п.). Для того чтобы пользоваться этим функционалом достаточно настроить способ отправки email-сообщений. Делается это в файле /usr/share/redmine/config/configuration.yml В файле имеются шаблоны для разных конфигураций. Нужно разкомментировать и отредактировать нужный.
email_delivery: delivery_method: :smtp smtp_settings: address: «10.11.12.13» port: 25 authentification: :none enable_starttls_auto: false openssl_verify_mode: ‘none’
Обратите внимание, что каждая секция в файле configuration.yml сдвинута на два пробела. Это важно.
Базовые уведомления должны быть доступны после указания способа рассылки электронных писем. Однако для уведомлений об изменениях в репозитории необходимо использовать внешний плагин. Скачать его можно с сайта github.com/lpirl/redmine_diff_email.
Установим этот плагин. Для этого скопируем содержимое плагина в каталог /usr/share/redmine/plugins/redmine_diff_email. В соответствии с инструкцией по установке плагина изменяем файл /usr/share/redmine/app/views/repositories/_form.html.erb:
Оригинальный плагин работает с устаревшей версией redmine. Для redmine-3.3 нужно внести изменения в файл
/usr/share/redmine/plugins/redmine_diff_email/db/migrate/002_add_repositories_is_diff_email_attached.rb. Содержимое файла должно быть таким:
class AddRepositoriesIsDiffEmailAttached < ActiveRecord::Migration def self.up add_column :repositories, :is_diff_email_attached, :boolean, :default =>false, :null => false Repository.update_all([«is_diff_email_attached = ?», true]) Repository.update_all([«is_diff_email = ?», true]) end def self.down remove_column :repositories, :is_diff_email_attached end end
После этого в каталоге /usr/share/redmine выполнить команду для обновления базы данных:
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
$ sudo service apache2 reload
Если плагин установлен правильно, то в списке плагинов Administration → Plugins появится Redmine Diff Email Plugin, а также в веб-интерфейсе Redmine SomeProject → «Settings» Tab → «Repositories» Tab → «Edit» появятся настройки уведомлений.
Кроме того, чтобы информация об изменениях в репозиториях автоматически отслеживалась Redmine, необходимо выполнить дополнительные действия. Сначала нужно включить WS для управления репозиториями и сгенерировать API key. Как это делается:
* В web-интерфейсе Redmine в меню Administration выбрать Settings
* Перейти на вкладку Repositories
* Включить ‘Enable WS for repository management’
* Кликнуть на ссылку ‘Generate a key’
* Сохранить изменения кнопкой ‘Save’
Далее создаём скрипт:
$ sudo nano /var/hg/fetch_changes
Добавляем следующий текст и сохраняем: (необходимо заменить [your API key] сгенерированным в API-ключом)
#!/bin/sh curl «http://localhost/redmine/sys/fetch_changesets?key=[your API key]» > /dev/null 2>https://habr.com/ru/post/331006/» target=»_blank»]habr.com[/mask_link]
Система Управления Проектами Redmine: Обзор

Почему Redmine принято считать одной из лучших комплексных систем управлениями проектами? .
В последние годы проектный менеджмент прошел путь от абстрактной американской концепции к незаменимому инструменту планирования и реализации задач, разных по объему и сложности, поэтому неудивительно, что поиск комплексных софтов остается запросом номер один. Каждый причастный к сфере управления проектами подтвердит, что внедрение централизованного решения существенно облегчает работу любой компании. Но чем Redmine отличается от других PM сервисов?
Прежде всего, приложение на основе Ruby опережает любое другое на рынке PM софтов, поскольку обладает действительно широким функционалом: помимо традиционного таск менеджера платформа предлагает пакет разнообразных плагинов, предназначенных для отдельных этапов планирования проекта. Обратите ваше внимание на наглядные преимущества универсального решения Redmine.
Технология Agile
Безусловно, одним из главных достоинств системы является очень простой в использовании Agile плагин. Он помогает управлять проектами, разбивая их на более мелкие части, размещенные на Agile доске. Такой зрительный ход позволяет легко отслеживать выполнение задач, а также эффективнее распределять их между членами команды. Более того, таск трекер совместим с такими распространенными методами, как Kanban, Scrum или их гибридные виды.
Полностью подстраиваемый под желания клиентов интерфейс позволяет видеть, кто и насколько своевременно выполняет ту или иную задачу, тем самым мотивируя команду осознаннее подходить к реализации своих обязанностей.
Надежность
С 2006 года Redmine занимает лидирующее место на рынке универсальных PM решений, и всё это благодаря команде опытных специалистов, которые не прекращают искать пути улучшения сервиса, регулярно выпуская обновления. Безупречная репутация платформы подтверждается тысячами довольных клиентов, которые каждый день выбирают один из лучших софтов для управления проектами.
Переходите на готовый хостинг Redmine
Не тратьте время на поддержку своего Redmine. Наймите экспертов и сфокусируйтесь на своих проектах
Улучшенная Система Безопасности
Поскольку Redmine является системой с открытым исходным кодом, каждый член сообщества обладает свободным доступом к его возможностям, что, в свою очередь, ускоряет выявление ошибок. Эксперты сообщества также принимают участие в решении пользовательских проблем, гарантируя прозрачную политику в отношении раскрытия информации.
Вместе с тем, команда Redmine продолжает старательно разрабатывать варианты усиления конфиденциальности, а программисты, оценивая потребности клиентов относительно безопасности, воплощают их в жизнь. Redmine заботится о безопасности своих клиентов, предлагая высочайший уровень защиты данных.
Гибкий Интерфейс
Приложение известно своим практичным дизайном, который не отвлекает клиентов от богатых функциональных возможностях PM системы. Кастомизация интерфейса также является очевидным плюсом, однако для этого требуется помощь программных специалистов. Если вы находитесь в поиске уже готовых стильных тем, загляните на наш веб-сайт. Там вы найдете пять полностью адаптивных дизайнов от команды RedmineUP.
Оптимальная Стоимость
Не будем забывать и о цене вопроса. Сервис условно бесплатный: это означает, что, как и другие РМ софты, приложение предполагает платные услуги. Redmine предлагает целый арсенал инструментов, собранных на одной платформе.
С помощью единой подписки клиенты экономят не только деньги, но и более ценный ресурс – свое время. Полифункциональность приложения освобождает их от бесконечного списка обновлений и меняющихся тарифов. Так в один клик член сообщества Redmine получает доступ к спектру мощных инструментов для управления несколькими проектами одновременно.
Широкий Функционал
Первоначально задуманный как трекер задач, Redmine может быть дополнен разнообразными плагинами, существенно расширяющими его функциональные возможности. Помимо традиционного управления задачами, ролевого контроля доступа, форумов и вики, он легко настраивается и адаптируется к потребностям команды. И все это с привлекательным интерфейсом!
Мы подобрали пять лучших неочевидных функций платформы. Всех их можно найти на нашем сайте RedmineUp:
1) Ведение бюджета
С Redmine становится возможным разработать финансовую стратегию для каждой задачи и впоследствии контролировать ее исполнение. При этом плагин позволяет рассчитать индивидуальную стоимость проекта или отдельной задачи, а также оплату труда членов команды.
2) Облако
Возникла необходимость в хранении и обменивании файлов внутри команды? У Redmine есть решение! Пользователи могут воспользоваться Облаком с редактируемым доступом и надежно хранить данные, структурируя их по папкам или датам.
3) Чек-листы
Кто не любит ставить галочки напротив выполненных дел? И софт предоставляет такую заманчивую возможность! Отслеживай собственный прогресс, создавая кастомизированные чек-листы на доске Agile.
4) CRM
А что, если объединить проектный менеджмент с системой управления взаимоотношениями с клиентами? Учет клиентов и связанных с ними задач, и все это – на Redmine!
Переходите на готовый хостинг Redmine
Не тратьте время на поддержку своего Redmine. Наймите экспертов и сфокусируйтесь на своих проектах
5) Поддержка
В сочетании с предыдущей функцией, инструмент поддержки позволяет командам собрать фидбэк и помочь пользователям в решении их проблем. А клиенты, в свою очередь, могут оценить обратную связь с помощью разных эмоджи.
Тарифные Планы
Все еще сомневаетесь? Системой можно пользоваться как на собственном сервере, так и в облаке. Если вы не знаете, какой тариф выбрать, можете ознакомиться с нашей статьей. И наконец, неважно, какой выбор вы сделаете, важно то, что Redmine в любом случае станет для вас отличным помощником в управлении задачами и выполнении целей.

Customer story
I can fully recommend every plugin of RedmineUP. They save time, make Redmine a great CRM, and the team around RedmineUP is very helpful. Go give it a try. It is worth it!
Источник: www.redmineup.com
Redmine Руководство по установке и началу работы
Redmine – это бесплатный и гибкий инструмент с открытым исходным кодом для управления проектами и отслеживания ошибок, написанный с использованием среды Ruby on Rails .
Redmine поддерживает несколько проектов, с собственной вики, форумом, трекером времени и управлением проблемами.
Кроме того, Redmine реализует платформу плагинов, поэтому ее можно настраивать в зависимости от ваших требований. Существуют плагины для работы с Kanban, Scrum, плагинами уведомлений или отчетами.
Что мне действительно нравится в Redmine, так это то, что, хотя он не определяет, как вы должны работать, он содержит достаточно параметров для работы с любым видом управления проектами.
Redmine может быть установлен по-разному:
- Использование webrick (не рекомендуется в производственной среде).
- Беги с дворнягой и фастчги.
- Используя Пассажира.
- Или упакуйте Redmine в войну и разверните в Java-контейнер, такой как Tomcat или Glassfish.
В этом посте я собираюсь показать вам, как упаковать Redmine 1.3 в файл war, чтобы его можно было запускать в Tomcat7 и Linux . По идее должна быть работа с Glassfish , JBoss или любой другой ОС .
Прежде всего, скачайте JRuby 1.6.6, поэтому откройте терминал
wget http://jruby.org.s3.amazonaws.com/downloads/1.6.6/jruby-bin-1.6.6.tar.gz
Распакуйте загруженный файл и перейдите в каталог / usr / share .
tar xvzf jruby-bin-1.6.6.tar.gz
sudo mv jruby-1.6.6 / /usr/share/jruby-1.6.6
Затем обновите переменные среды с помощью установочного каталога JRuby .
sudo gedit / etc / environment
Источник: coderlessons.com