Instalace Redmine – skvělý nástroj na projektové řízení

Autor: | 3. 2. 2022 | IT, Linux

Štítky: apache | redmine
Jakmile má člověk trošku větší firmu, začíná se ztrácet v úkolech, delegování a těžko se pak plánuje. Pokud nedojde k nějaké stabilizaci, tak se brzy firma zmítá v chaosu. Nejsem jediný, kdo tuto problematiku řeší a proto lze najít už existující řešení. Jedním z nich je právě opensource Redmine. Redmine je napsaný v Ruby a tak nestačí klasický mainstreamový webhosting. Proto sepisuji návod na instalaci na vlastím serveru. Zpočátku jsem byl zaskočený v rámci závislostních balíčků, že bude potřeba nainstalovat celý Xorg server, ale bylo to dáno mojí neznalostí ohledně Ruby. Vycházím z instalační příručky Redmine a testoval jsem to na čisté instalaci Debianu 11 s verzí Redmine 4.2.

Instalace Redmine 4.2.

Zvolil jsem aktuální stabilní verzi Redmine 4.2.  Abych byl připravený i na aktualizace zdrojového kódu, tak jsem stáhl zdrojový kód skrze subversion. Počítám, s instalací MySQL nebo Maria databáze a Apache.
apt-get install mariadb-server apache2
apt-get install subversion

cd /var/www
svn co https://svn.redmine.org/redmine/branches/4.2-stable redmine.mojedomena.cz
chown -R www-data:www-data redmine.mojedomena.cz

Dalším krokem bude přichystání databáze. V mém případě se jedná o MariaDB, nicméně příprava je stejná jako pro MySQL. Vytvoří se nová databáze, uživatel a uživateli se přiřadí práva na práci s databází.
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
Následně jsem pokračoval podle návodu – přejít do složky config a nainstalovat ruby a postupně tyto příkazy. Je třeba počítat, že na instalaci balíčků a závislostí bude na disku zapotřebí kolem 300 – 500 MB:
apt-get install ruby ruby-dev bundler
apt-get install make gcc
apt-get install libmariadb-dev

cd /var/www/redmine.mojedomena.cz/config
Dalším krokem bude nastavení konfiguračního souboru, aby se připojil k nově vytvořené databázi. K tomu je zapotřebí editace souboru config/database.yml. Ve složce je example, takže jenom zkopírujeme database.yml.example a vytvoříme tak database.yml. Ten pak editujeme a nastavíme produkční verzi s parametry pro přístup k databázi.
production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "my_password" 
Potom jsem pokračoval s následujícími příkazy:
gem install bundler

bundle install --without development test
bundle install --without development test rmagick

bundle exec rake generate_secret_token

RAILS_ENV=production bundle exec rake db:migrate

RAILS_ENV=production bundle exec rake redmine:load_default_data
nebo
RAILS_ENV=production REDMINE_LANG=cs bundle exec rake redmine:load_default_data

cd ..

mkdir -p tmp tmp/pdf public/plugin_assets
chown -R www-data:www-data files log tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets

find files log tmp public/plugin_assets -type f -exec chmod -x {} +

chown -R www-data:www-data *
Po této části by měl být Redmine řádně nainstalován můžeme vyzkoušet.
bundle exec rails server webrick -e production

Příkazová řádka ukáže na jakém portu instance Redmine běží. Pro otestování správnosti instalace lze vyzkoušet.

Apache a Redmine

Není cílem, aby uživatelé zadávali zvlášť port, na kterém služba poběží. Proto chci dostat spuštění Redmine pod Apache – tedy na port 80 (HTTP) respektive 443 (HTTPS). K tomu je potřeba doinstalovat modul pro apache.
apt install libapache2-mod-passenger
Samotnám nastavením apache se už v tomto návodu zabývat nebudu, protože každý to bude mít individuálně v rámci svého serveru. Nicméně upozorním, že je třeba uvést správnou cestu pro instanci Redmine – jinak server vypíše jenom složku se zdrojovými kódy. Cesta není /var/www/redmine ale /var/www/redmine/public. Jako příklad uvádím novou instalaci debianu a v tom případě stačí v souboru /etc/apache2/sites-available/000-default.conf upravit řádek:
DocumentRoot /var/www/redmine/public
Dále pak přidat řádek:
RailsEnv production
A samozřejmě apache pak restartovat a redmine už mi běží na portu 80. Stačí zadat adresu webového serveru.
systemctl restart apache2
Defaultní přihlašovací údaje do Redmine jsou uživatel: admin heslo: admin

Nastavení e-mailu – SMTP server

Redmine umí s každým zázname posílat notifikace formou mailu. Je ovšem nutné ovšem nastavit SMTP server, aby věděl,  jaký server má Redmine využívat. Jednoduchý návod na nastavení je zde.

Instalace pluginů

Snažím se pluginům docela vyhýbat, protože mám trochu obavy, že pluginy nemusí být s novou verzí Redmine kompatibilní. Proto to nechci příliš přehánět. Ale některé pluginy mi dost usnadňují práci a mohu doporučit. Instalace pluginů je vesměs velmi jednoduchá. Je třeba si ovšem dávat pozor, aby po každé instalaci došlo k restartu Apache, jinak se budete dlouho divit, proč plugin nefunguje. Pluginy u sebe mají často návod na instalaci a instalace konkrétních pluginů vypadá takto:
cd /var/www/redmine/plugins
git clone https://github.com/peclik/clipboard_image_paste.git
systemctl restart apache2
Tento plugin umožňuje do Redmine vkládat obrázka pomocí klávesových zkratek ze schánky. Není tak nutné ukládat obrázek na disk a dávat jako přílohu. Podobně se instalují i další pluginy – doporučuji vždy krátce nahlédnout na návody k instalaci u pluginů. Může tam být krok navíc například na úpravu databáze. Další doporučené pluginy:
  • Redmine More Previews je užitečný ve chvíli, kdy dávám do Redmine přílohy – například PDF. Aby se každá příloha nemusela stahovat, tak plugin zajistí, že se otevře přímo v Redmine v prohlížeči. Musí se donastavit v admin rozhranní.
  • Clipboard image paste plugin, který umožňuje vkládat screeny obrazovky ze schránky
  • Redmine Tags plugin (Light version) umožňuje přidávat štítky ke úkolům. Je potřeba v administraci donastavit a zároveň se jedná o lite verzi zdarma a musí se stáhnout na stránkách výrobce.
  • Toggl 2 Redmine Umí šikovně importovat strávený čas na jednotlivých úkole z online nástroje Toggl. Jednoduchý videonávod na nastavení a používání pluginu je zde.
  • Redmine Mentions poslední užitečný plugin, který umožňuje do jednotlivých příspěvků vkládat odkaz na konkrétní osoby pomocí zavináče @, podobně jak to známe například z Facebooku – když chcete někoho označit. Zároveň tomu člověku přijde notifikace e-mailem.
 

Užitečné zdroje

Další články