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/config/environment.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.
Spuštění
Ať už jste zkusili kterýkoliv způsob instalace, k Redmine se dostanete na adrese localhost/redmine. 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.