Instalujeme Redmine: přehledné řízení projektu

Zdeněk Hásek 13. 3. 2012

Při práci na větším projektu, a to buď v týmu a nebo jako freelancer, je dobré mít nástroj na projektové řízení. My si dnes ukážeme webový open-source nástroj psaný v Ruby on Rails jménem Redmine, který spadá do kategorie nástrojů pro projektové řízení. Ukážeme si, jak ho nainstalovat a nastavit.

Představení

Redmine je webový nástroj pro projektové řízení který je napsán ve frameworkru Ruby on Rails. Je označován jako hlavní alternativa k systém Trac. Pro rychlé proklikání systému je k dispozici veřejné demo.

Důležité vlastnosti systému Redmine jsou:

  • Podpora více projektů
  • Přístup k projektům na základě práv uživatele
  • RSS a e-mailové notifikace
  • Wiki a fórum ke každému projektu
  • Kalendář
  • Ganttův graf
  • Sledování času stráveného na projektu/úkolu
  • Podpora češtiny
  • Podpora více databází
  • Integrace s Subversion, Darcs, Mercurial, Cvs, Bazaar, Git

Instalace

Instalace byla prováděna na systémech jak z rodiny Debian (Ubuntu), tak z rodiny Red Hat. Pojďme si tedy ukázat, jak jednotlivé instalace probíhají, včetně instalace přes automatický instalátor.

Pomocí automatického instalátoru

Pokud si chcete Redmine jen vyzkoušet, a nemíníte ho instalovat na produkční stroj, asi neschůdnější varianta bude použít instalátor. Je dostupný pro systémy Windows, Linux i Mac OS X. Dále je možné stáhnout si VMware virtuální stroj nebo použít cloud server na Amazonu.

Instalátor jsem testoval pouze na linuxovém systému s grafickým prostředím. Samotná instalace probíhá jako klasická grafická instalace programů známého z Windows. Všechny potřebné komponenty se rozbalí do /opt včetně Apache. Pro běh Redmine se nevyužívá žádná část systému, všechny knihovny a programy pro běh jsou, občas duplicitně, v /opt. Klasický běh Apache je shozen a na jeho místě běží instance z /opt. Již z popisu fungování je patrné že použití instalátoru je opravdu jen pro testovací prostředí, respektive pro rychlé otestování Redmine na desktopu.

Debian/Ubuntu

Uživatelé distribucí z rodiny Debian mají velikou výhodu v podobě připraveného balíčku v repositáři. Pro instalaci tedy stačí jen:

# aptitude install redmine redmine-mysql

A projít si automatickou instalací spolu s nastavením databáze. Pak už jen zbývá nastavit vhost v Apache.

<Directory /var/www/Redmine>
    RailsBaseURI /Redmine
    PassengerResolveSymlinksInDocumentRoot on
</Directory>

Poté stačí restartovat Apache a je hotovo.

Fedora 16

U distribucí z rodiny RedHat už to tak jednoduché není. Připravený balíček totiž chybí a je tedy potřeba nainstalovat si Redmine ručně. Vycházel jsem z instalačního návodu na stránkách projektu.

Instalaci jsem trochu upravil a doplnil o chybějící či nepřesné části. Potřebné balíčky budeme instalovat jak přes balíčkovací systém distribuce, tak přes rubygems.

Nejprve si nainstalujeme potřebné balíčky přes yum:

# yum install rubygem-rails rubygem-i18n.noarch rubygem-i18n-doc.noarch ruby-mysql rubygem-rake rubygem-rake-doc rubygem-rack rubygem-RedCloth

Přes rubygems nainstalujeme pouze balíček passenger, který v depozitáři fedory není.

# gem install passenger

Setkal jsem se s problémem verzí balíčků v rubygems, je tedy potřeba opravit závislosti na daných verzí, vše řeší následující příkazy.

# gem update --system 1.5.3
# gem install rack --version=1.1.0

A příkazem passenger-install-Apache2-module nainstalujeme podporu pro běh pod Apache.

V dalším kroku stáhneme Redmine ze stránek rubyforge, verzi 1.3.1 a rozbalíme do libovolného umístění, v našem případě do /var/lib/redmine/redmine-1.3.1/.

Nastavení databáze

V Redmine se dá použít databáze MySQL nebo SQLite, my použijeme MySQL a takto si vytvoříme databázi:

create database redmine character set utf8;
create user 'redmine'@'localhost' identified by 'redmine';
grant all privileges on redmine.* to 'redmine'@'localhost';
flush privileges ;

Kterou posléze nastavíme na v /var/lib/redmine/redmine-1.3.1/config/database.yml  nějak takto:

production:
  adapter: mysql
  database: redmine
  host: 127.0.0.1
  username: redmine
  password: redmine
  encoding: utf8

Položky by měly být jasné, jen bych se vyvaroval použití host: localhost, které s největší pravděpodobností nebude fungovat.

Když už máme databázi vytvořenou, je potřeba do ní nahrát strukturu; o to se postarají níže uvedené příkazy:

# export REDMINE_HOME=/var/lib/redmine/redmine-1.3.1/
# cd $REDMINE_HOME
# rake generate_session_store
# RAILS_ENV=production rake db:migrate
# RAILS_ENV=production rake redmine:load_default_data

Konfigurace Redmine

Dále je potřeba nastavit samotný Redmine. Jde zejména o nastavení práv a přejmenování a drobné úpravy souborů.

# cd $REDMINE_HOME
# chown -R apache:apache files log tmp vendor
# cd $REDMINE_HOME/public
# cp dispatch.cgi.example dispatch.cgi
# cp dispatch.fcgi.example dispatch.fcgi
# cp dispatch.rb.example dispatch.rb

Na začátek souboru $REDMINE_HOME/public/dispatch.cgi přidáme následující řádky:

#!/usr/local/bin/ruby
require /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/dispatcher.rb

Na konec souboru $REDMINE_HOME/con­fig/environmen­t.rb přidáme následující:

Redmine::Utils::relative_url_root = "/redmine"

A do stejného souboru hned pod řádek:

Rails::Initializer.run do |config|

přidáme:

config.action_controller.relative_url_root = '/redmine'

V závěru uděláme symlink do webrootu.

$ sudo ln -s $REDMINE_HOME/public /var/www/html/redmine

Konfigurace Apache

Poslední krok k fungujícímu Redmine je nastavení Apache: Do /etc/httpd/conf/httpd.conf přidáme:

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.11
PassengerRuby /usr/bin/ruby

<VirtualHost *:80>
 ServerName localhost
 DocumentRoot /var/www/html
 RailsEnv production
 RailsBaseURI /redmine
 PassengerDefaultUser apache
</VirtualHost>

Po restartu máme hotovo.

Tento delší instalační postup může být s malými obměnami použit pro libovolný systém, třeba i v případě v depozitáři balíček máme, ale potřebujeme novější verzi.

widgety

Spuštění

Ať už jste zkusili kterýkoliv způsob instalace, k Redmine se dostanete na adrese localhost/red­mine. Výchozí přihlašovací údaje jsou uživatel: admin, heslo: admin.

Připravujeme další článek, ve kterém se budeme věnovat popisu celého prostředí Redmine a jeho praktickému využití při plánování projektu.

Našli jste v článku chybu?
Vitalia.cz: Tohle jsou nejlepší česká piva podle odborníků

Tohle jsou nejlepší česká piva podle odborníků

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

DigiZone.cz: Digi2GO u Alza.cz a s balíčkem Sport zdarma

Digi2GO u Alza.cz a s balíčkem Sport zdarma

Vitalia.cz: Jak Ondra o astma přišel

Jak Ondra o astma přišel

120na80.cz: Co je padesátkrát sladší než cukr?

Co je padesátkrát sladší než cukr?

Podnikatel.cz: EET pro e-shopy? Postavené na hlavu

EET pro e-shopy? Postavené na hlavu

Podnikatel.cz: Instalatér, malíř a elektrikář. "Vymřou"?

Instalatér, malíř a elektrikář. "Vymřou"?

Vitalia.cz: Jsou vegani a vyrábějí nemléko

Jsou vegani a vyrábějí nemléko

Vitalia.cz: Kterou dýni můžete jíst za syrova?

Kterou dýni můžete jíst za syrova?

Podnikatel.cz: Znáte už 5 novinek k #EET

Znáte už 5 novinek k #EET

DigiZone.cz: Funbox 4K v DVB-T2 má ostrý provoz

Funbox 4K v DVB-T2 má ostrý provoz

DigiZone.cz: Ginx TV: pořad o počítačových hráčích

Ginx TV: pořad o počítačových hráčích

Vitalia.cz: Inspekce našla nelegální sklad v SAPĚ. Zase

Inspekce našla nelegální sklad v SAPĚ. Zase

DigiZone.cz: Nova opět stahuje „milionáře“

Nova opět stahuje „milionáře“

Podnikatel.cz: Dva měsíce na EET. Budou stačit?

Dva měsíce na EET. Budou stačit?

Podnikatel.cz: Takhle se prodávají mražené potraviny

Takhle se prodávají mražené potraviny

Vitalia.cz: Když všichni seli řepku, on vsadil na dýně

Když všichni seli řepku, on vsadil na dýně

Podnikatel.cz: Kalousek chce odklad EET. Předvolební tah?

Kalousek chce odklad EET. Předvolební tah?

DigiZone.cz: Numan Two: rozhlasový přijímač s CD

Numan Two: rozhlasový přijímač s CD

Vitalia.cz: Muž, který miluje příliš. Ženám neimponuje

Muž, který miluje příliš. Ženám neimponuje