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.czDalší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/configDalší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 productionPří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-passengerSamotná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/publicDále pak přidat řádek:
RailsEnv productionA samozřejmě apache pak restartovat a redmine už mi běží na portu 80. Stačí zadat adresu webového serveru.
systemctl restart apache2Defaultní 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 apache2Tento 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.