Redmine ist eine flexible Open Source Webanwendung für Projektplanung und -management. Es kann plattformübergreifend und datenbankübergreifend genutzt werden, z. B. für Benutzer- und Projektverwaltung, Diskussionsforen, Zeitbuchung, Wikis, zur Ticketverwaltung, sowie zur Verwaltung und Versionierung von Dokumenten und Dateien. Innerhalb einer Redmine-Installation kann eine beliebige Anzahl an Projekten, Subprojekten und Benutzern verwaltet werden. Pro Projekt können Benutzer verschiedene Berechtigungen und Rollen haben. Auf Projekt- oder Benutzerebene können Nachrichten erstellt und per Feed oder Mail verteilt werden. Themes werden bereitgestellt, sodass das Aussehen der Redmine-Site jederzeit nach Bedarf und Laune angepasst werden kann.
Redmine ist nicht weniger professionell einsetzbar als Jira. Im Vergleich zur Jira-Basisversion kommt Redmine sogar von Grund auf mit den nötigen Zusatzfunktionen daher und es sind keine Lizenzen notwendig wie im Fall von Jira.
Installiere und konfiguriere Redmine inklusive Komponenten
Update zunächst deinen Server mit Hilfe des unten eingeblendeten Kommandos.
apt-get update && apt-get upgrade
Installiere dann alle notwendigen Pakete.
apt-get install curl subversion libmysqlclient-dev libmagickcore-dev libmagickwand-dev imagemagick g++ zlib1g-dev libyaml-dev libsqlite3-dev sqlite3 autoconf libgmp-dev libgdbm-dev libncurses5-dev automake libtool bison pkg-config libffi-dev libgmp-dev libreadline6-dev libssl-dev
Redmine speichert seine Daten in einer Datenbank, wobei MySQL, PostgreSQL, Microsoft SQL Server und SQLite unterstützt werden. In diesem Tutorial nutze ich MySQL. Nutze den unten gezeigten Befehl, um MySQL zu installieren. Während dem Installationsprozess wirst du gebeten ein Passwort für den root-Account festzulegen.
apt-get install mysql-server
Führe nach der Installation folgendes Kommando aus, um sicherzustellen dass die Installation erfolgreich war.
mysql_secure_installation
Melde dich danach bei MySQL unter dem root-Nutzer an.
mysql -uroot -p
Erstelle in der Kommandoschnittstelle von MySQL eine Datenbank,
mysql> CREATE DATABASE redminedb;
Query OK, 1 row affected (0.00 sec)
sowie einen Nutzer
mysql> CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)
und weise diesem Nutzer alle Rechte an der Datenbank zu.
mysql> GRANT ALL PRIVILEGES ON redminedb.* TO 'testuser'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
Verlasse danach die Kommandoschnittstelle von MySQL.
mysql> EXIT;
Bye
Erstelle einen neuen System-Nutzer
Für die Nutzung von Redmine erstellst du mit Hilfe des unten gezeigten Befehls einen neuen Systemnutzer. In meinem Beispiel nenne ich diesen redmineuser. Dies ist ein Platzhalter und kann von dir mit einer x-beliebigen anderen Bezeichnung ausgetauscht werden.
adduser --home /opt/redmine --shell /bin/bash --gecos 'Redmine application' redmineuser
usermod -aG redmineuser
Wechsele anschließend in die Rolle des neu erstellten Nutzers, denn alle nächsten Schritte musst du unter diesem ausführen.
su - redmineuser
Installiere Ruby mit RVM
Redmine ist mit dem Ruby-on-Rails-Framework geschrieben. Von daher ist es notwendig Ruby auf deinem Server zu installieren. Führe zunächst die folgenden beiden Kommandos aus.
curl -sSL https://rvm.io/mpapis.asc | gpg --import -
curl -sSL https://get.rvm.io | bash -s stable --ruby
Um RVM zu starten, nutze folgende Befehle.
source ~/.rvm/scripts/rvm
rvm --default use ruby
Mit dem unten gezeigten Befehl kannst du sicherstellen, dass sich Ruby auf deinem Ubuntu-Server befindet.
ruby --version
Installiere Redmine
Führe die folgenden Befehle aus, um den Redmine-Quellcode an das $HOME/redmine-Verzeichnis auszugeben und die erforderlichen Verzeichnisse zu erstellen.
cd && svn co http://svn.redmine.org/redmine/branches/3.4-stable redmine
mkdir -p ./redmine/tmp/pids ./redmine/public/plugin_assets
Konfiguriere die Datenbank-Settings.
cp ./redmine/config/configuration.yml.example ./redmine/config/configuration.yml
cp ./redmine/config/database.yml.example ./redmine/config/database.yml
Öffne hiernach die database.yml-Datei im Editor deiner Wahl. Im unten aufgeführten Kommando tue ich dies mit dem nano-Editor.
nano ./redmine/config/database.yml
In der production-Sektion ersetzt du die Informationen zu database, username und password mit den Daten, die du bei der Erzeugung einer Datenbank mit zugehörigem Nutzer und Passwort zuvor festgelegt hast.
production:
adapter: mysql2
database: redminedb
host: localhost
username: testuser
password: "password"
encoding: utf8
Im Screenshot unten erkennst du, wie das aussehen kann. Nachdem du die Datei angepasst hast, speicherst du im nano-Editor die Inhalte mit der Tastenkombination Strg+O und verlässt diesen dann mit der Tastenkombination Strg+X.
Installiere Gems
Nun installierst du noch das offizielle Paketsystem für die Programmiersprache Ruby mit Hilfe der unten aufgelisteten Kommandos. Nach dem ersten Kommando wird die ~redmine$-Kommandoschnittstelle aktiviert.
cd /opt/redmine/redmine
~redmine$ echo "gem 'puma'" >> Gemfile.local
~redmine$ echo "gem: --no-ri --no-rdoc" >> ~/.gemrc
~redmine$ gem install bundler
~redmine$ bundle install --without development test postgresql sqlite
Bereite die Datenbank vor
Die folgenden drei Befehle dienen dazu die Datenbank vorzubereiten.
~redmine$ rake generate_secret_token
~redmine$ RAILS_ENV=production rake db:migrate
~redmine$ RAILS_ENV=production REDMINE_LANG=en rake redmine:load_default_data
Konfiguriere und starte Puma
Erstelle mit dem unten eingeblendeten Befehl eine neue Konfigurationsdatei namens puma.rb
~redmine$ nano ~/redmine/config/puma.rb
und füge in diese den Code via Copy&Paste ein, den du im unten präsentierten Code-Clock siehst.
#!/usr/bin/env puma
application_path = '/opt/redmine/redmine'
directory application_path
environment 'production'
daemonize true
pidfile "#{application_path}/tmp/pids/puma.pid"
state_path "#{application_path}/tmp/pids/puma.state"
stdout_redirect "#{application_path}/log/puma.stdout.log", "#{application_path}/log/puma.stderr.log"
bind "tcp://0.0.0.0:9000"
Speichere die Inhalte und verlasse den nano-Editor wie bereits oben im Fall der database.yml-Datei beschrieben.
Um den puma-Server zu starten, nutzt du den unten eingeblendeten Befehl.
~redmine$ cd /opt/redmine/redmine/ && bundle exec puma --config config/puma.rb
Das Output hierauf sollte dem im Code-Snippet unten gezeigten Output gleichen.
Puma starting in single mode...
* Version 3.12.0 (ruby 2.5.1-p57), codename: Llamas in Pajamas
* Min threads: 0, max threads: 16
* Environment: production
* Daemonizing...
Getting started mit Redmine
Nun kannst du deine Redmine-Site im Browser via http://localhost:9000 erreichen, wobei du localhost mit der IP deines Servers austauscht.
So gelangst du auf die Hauptseite von Redmine, wie du dem Screenshot unten entnimmst. Erst, wenn du dich angemeldet hast, sind die Funktionalitäten verfügbar. Hierzu nutzt du den Anmelden-Button oben rechts auf der Seite.
Du wirst daraufhin zum Login navigiert. Zunächst loggst du dich unter dem Benutzer admin und dem Passwort admin ein.
Nach dem Login, kannst du ein neues Passwort festlegen.
Unter dem Menüpunkt Meine Seite werden dir alle Tickets angezeigt, die dir zugewiesen sind sowie alle erstellten Tickets.
Unter dem Menüpunkt Projekte sind alle Projekte gelistet. Mit dem oben rechts befindlichen +-Icon kannst du jederzeit neue Projekte hinzufügen.
Hierbei hast du die Möglichkeit Informationen zum Projekt anzulegen, sowie festzulegen welche Module und Ticket-Features beim Projekt berücksichtigt werden sollen, bzw. genutzt werden können.
Im Aktivität-Tab wird dir eine Übersicht aller Aktivitäten bereitgestellt. Rechts auf der Seite kannst du über Checkmark-Boxen steuern, welche Arten von Aktivitäten du aufgeführt haben möchtest.
Der Tickets-Tab bietet dir die Möglichkeit Tickets zu erstellen, diese über unterschiedliche Filter nach bestimmten Kriterien anzeigen zu lassen und zu managen.
Zeiterfassung lässt sich über den Tab Aufgewendete Zeit gut im Überblick behalten. Hier kannst du Aufwände buchen und dir nach bestimmten Filtern Details oder Berichte zu Aufwänden wiedergeben lassen.
Zusätzlich dazu kannst du dir im Tab Gantt-Diagramm, im Kontext bestimmter Filter, die zeitliche Abfolge von Aktivitäten grafisch aufbereitet generieren lassen.
Der Kalender-Tab erleichtert dir zudem die Planung deiner Aufgaben und lässt dich Deadlines nicht vergessen.
Schließlich hast du dann noch innerhalb des Projekte-Menüpunkts über den News-Tab, Zugriff auf Neuigkeiten innerhalb deiner Site.
Über den Menüpunkt Administration kannst du dann noch eine Reihe administrativer Aufgaben managen, wie u.a. Benutzer hinzufügen und verwalten, das Layout deiner Redmine-Site beeinflussen, sowie Einstellungen an den Features wie z.B. dem Ticketsystem vornehmen.
Fazit
Es kann losgehen! ? Ich habe dir gezeigt, wie du dir Redmine auf deinem Ubuntu-Server installierst und zur Nutzung einrichtest. Du kannst deine Projekte nun im Team webbasiert durchführen und behältst dabei organisiert den Überblick.