Redmine ist ein kostenloses, webbasiertes Open-Source-Tool für Projektmanagement und Problemverfolgung. Aufbauend auf dem Ruby on Rails-Framework bietet es eine plattform- und datenbankübergreifende Lösung, die Unterstützung für mehrere Projekte, Wikis, Foren, Kalender, E-Mail-Benachrichtigungen und vieles mehr bietet.
Hier finden Sie eine detaillierte Anleitung zur Installation und Konfiguration von Redmine auf einem CentOS 7-Server.
Voraussetzungen
Zunächst benötigen Sie einen Domainnamen, der auf Ihre öffentliche Server-IP verweist. Für dieses Tutorial beziehen wir uns auf example.com. Außerdem müssen Sie als Benutzer mit sudo-Berechtigungen angemeldet sein.
Abgesehen davon benötigen Sie auch ein Datenbank-Backend. In unserem Fall verwenden wir MariaDB. Sie können jedoch auch Microsoft SQL Server, SQLite 3 und PostgreSQL verwenden, da Redmine alle unterstützt.
Schließlich benötigen Sie einen Ruby-Anwendungsserver, für den wir Passenger mit Nginx verwenden werden. Falls Sie keines davon auf Ihrem System installiert haben, brauchen Sie sich keine Sorgen zu machen. Wir zeigen Ihnen auch, wie Sie sie installieren und konfigurieren.
Vorbereitung Ihres Systems vor der Installation von Redmine
Wie bereits erwähnt, benötigen Sie auf Ihrem CentOS-System mehrere Dinge, bevor Sie Redmine installieren und ausführen können. Falls Sie sie nicht installiert haben, finden Sie hier eine Schritt-für-Schritt-Anleitung, die Ihnen zeigt, wie Sie die Dinge einrichten.
Hinweis:Es versteht sich von selbst, dass Sie, wenn Sie bereits ein Datenbank-Backend oder einen Ruby-Anwendungsserver installiert haben, diese Schritte überspringen und zum nächsten übergehen können.
Schritt 1:Installieren der erforderlichen Pakete
Bevor Sie Redmine installieren, müssen Sie Ihr System vorbereiten, indem Sie die erforderlichen Redmine- und Ruby-Pakete aus der Quelle installieren.
Geben Sie dazu die folgenden Befehle in Ihr Terminal ein:
$ sudo yum install curl gpg gcc gcc-c++ make patch autoconf automake bison libffi-devel libtool $ sudo yum install readline-devel sqlite-devel zlib-devel openssl-develh readline glibc-headers glibc-devel $ sudo yum install mariadb-devel zlib libyaml-devel bzip2 iconv-devel ImageMagick ImageMagick-devel
Sobald das erledigt ist, ist es an der Zeit, eine MySQL-Datenbank zu erstellen.
Schritt 2:MariaDB auf CentOS 7 installieren
Sie können jedes beliebige Datenbank-Backend verwenden. Da wir jedoch für dieses Tutorial MariaDB/MySQL verwenden, finden Sie hier ein kurzes Tutorial, das Ihnen zeigt, wie Sie es auf Ihrem System installieren.
Da MariaDB Version 5.5 mit dem CentOS-Repository bereitgestellt wird, werden wir dies nur aus Bequemlichkeitsgründen installieren. Es ist nicht die neueste Version, aber sie ist außergewöhnlich stabil und Sie sollten auf keine Probleme stoßen.
Geben Sie den folgenden Befehl in Ihr Terminal ein, um die MariaDB-Pakete zu installieren:
$ sudo yum install mariadb-server
Geben Sie nach Abschluss der Installation den folgenden Befehl ein, damit es während des Systemstarts gestartet werden kann.
$ sudo systemctl start mariadb $ sudo systemctl enable mariadb
Überprüfen Sie als Nächstes, ob die Installation erfolgreich war oder nicht, indem Sie den folgenden Befehl eingeben:
$ sudo systemctl status mariadb
Die Ausgabe sollte Ihnen mitteilen, dass der Dienst aktiv ist und ausgeführt wird. Sobald dies erledigt ist, führen Sie das folgende Skript aus, um mehrere sicherheitsbezogene Aufgaben auszuführen und sicherzustellen, dass alles ordnungsgemäß und wie vorgesehen funktioniert.
$ sudo mysql_secure_installation
Dadurch werden die folgenden Eingabeaufforderungen angezeigt:
Do you want to set up the root user password?
Do you want to remove anonymous user accounts?
Do you want to restrict root user access to the local machine?
Do you want to remove the test database?
Beantworten Sie alle diese Fragen mit Y (ja).
Und voila, Sie haben MariaDB erfolgreich auf Ihrem CentOS-System installiert. Jetzt ist es an der Zeit, mit dem nächsten Schritt fortzufahren.
Schritt 3:Erstellen Sie eine MySQL-Datenbank
Wenn MariaDB auf Ihrem CentOS-System installiert ist, befolgen Sie diese Schritte, um eine MySQL-Datenbank zu erstellen. Zuerst müssen Sie sich bei Ihrer MySQL-Shell anmelden. Geben Sie dazu im Terminal folgenden Befehl ein:
$ sudo mysql
Als nächstes müssen Sie eine neue Datenbank erstellen. Geben Sie dazu in Ihrer MySQL-Shell den folgenden Befehl ein:
mysql> CREATE DATABASE redmine CHARACTER SET utf8;
Sobald dies erledigt ist, müssen Sie ein MySQL-Benutzerkonto erstellen und ihm Zugriff auf die neu erstellte Datenbank gewähren. Dies geschieht mit dem folgenden Befehl:
mysql> GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'EnterPasswordHere';
Ersetzen Sie EnterPasswordHere durch ein sicheres Passwort Ihrer Wahl.
Sie haben erfolgreich eine MySQL-Datenbank erstellt. Verlassen Sie nun die Shell mit dem folgenden Befehl und fahren Sie mit dem nächsten Schritt fort:
mysql> EXIT;
Schritt 4:Passagier und Nginx installieren
Passenger ist ein Webanwendungsserver, der für Ruby, Node.js und Python entwickelt wurde. Es ist superschnell, leicht und kann mit Apache und Nginx integriert werden. Für dieses Tutorial installieren wir das Passenger-Modul für Nginx.
Dazu müssen wir zunächst einige notwendige Pakete installieren, einschließlich des EPEL-Repositorys. Geben Sie dazu in Ihrem Terminal folgenden Befehl ein:
$ sudo yum install epel-release yum-utils pygpgme $ sudo yum-config-manager --enable epel
Als nächstes müssen Sie das Phusionpassenger-Repository aktivieren. Dies kann mit diesem Befehl erfolgen:
$ sudo yum-config-manager --add-repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo
Aktualisieren Sie schließlich die Paketliste und installieren Sie sowohl Nginx als auch Passenger mit diesem Befehl:
$ sudo yum install nginx passenger passenger-devel
Schritt 5:Erstellen Sie einen neuen Systembenutzer
Wir sind fast fertig damit, alles einzurichten, um Redmine zu installieren. Als nächstes müssen wir einen neuen Systembenutzer und eine neue Gruppe erstellen, die die Redmine-Instanz ausführen. Wir legen zunächst einen neuen Benutzer an, indem wir im Terminal folgenden Befehl eingeben:
$ sudo useradd -m -U -r -d /opt/redmine redmine
Der Einfachheit halber haben wir den Benutzernamen redmine beibehalten; Es steht Ihnen jedoch frei, einen beliebigen Benutzernamen zu verwenden.
Fügen Sie als Nächstes den ngnix-Benutzer mit diesem Befehl zur neuen Benutzergruppe hinzu:
$ sudo usermod -a -G redmine nginx
Und schließlich ändern Sie die Verzeichnisberechtigungen /opt/redmine so, dass Nginx darauf zugreifen kann. Geben Sie dazu diesen Befehl ein:
$ sudo chmod 750 /opt/redmine
Schritt 6:Ruby installieren
Und jetzt, als letzten Schritt, um alles vorzubereiten, müssen wir Ruby auf unserem CentOS-System installieren.
Der knifflige Teil ist nun, dass die Ruby-Version, die mit dem CentOS-Repository geliefert wird, veraltet ist und von Redmine nicht unterstützt wird. Aus diesem Grund müssen wir es mit RVM installieren.
Wechseln Sie zunächst zum Redmine-Benutzer, indem Sie den folgenden Befehl eingeben:
$ sudo su - redmine
Sie müssen den GPG-Schlüssel mit diesem Befehl importieren:
$ gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Sobald dies erledigt ist, installieren Sie RVM mit diesem Befehl:
$ curl -sSL https://get.rvm.io | bash -s stable
Um nun RVM zu verwenden, müssen Sie die RVM-Datei mit diesem Befehl beziehen:
$ source /opt/redmine/.rvm/scripts/rvm
Schließlich ist es an der Zeit, Ruby auf unserem System zu installieren. Geben Sie dazu in Ihrem Terminal den folgenden Befehl ein.
$ rvm install 2.7 $ rvm --default use 2.7
Hinweis:Hier bezieht sich 2.7 auf Ruby Version 2.7, die zum Zeitpunkt des Schreibens die neueste Version von Ruby ist. Wenn es eine aktualisierte Version von Ruby gibt, während Sie dies lesen, dann laden Sie sie stattdessen herunter. Sie können immer die Version 2.7 verwenden, solange Redmine sie unterstützt.
Und das ist es! Sie haben Ihr CentOS-System erfolgreich konfiguriert und können jetzt Redmine installieren.
Installieren Sie Redmine auf CentOS 7
Wenn Sie Redmine installieren, sollten Sie immer die Redmine-Download-Seite überprüfen, um die neueste Version zu sehen und diese herunterzuladen. Für dieses Tutorial werden wir Redmine Version 4.1.1 installieren, da dies zum Zeitpunkt des Schreibens die aktuelle stabile Version ist.
Nachdem das aus dem Weg geräumt ist, finden Sie hier eine Schritt-für-Schritt-Anleitung zur Installation von Redmine 4.1.1 auf CentOS 7.
Schritt 1:Laden Sie Redmine herunter
Bevor Sie beginnen, vergewissern Sie sich, dass Sie alle Befehle ausführen, indem Sie sich als Redmine-Benutzer anmelden.
Sobald Sie das getan haben, laden Sie das Redmine-Archiv auf Ihr System herunter. Sie können dies mit dem folgenden Curl-Befehl tun:
$ curl -L http://www.redmine.org/releases/redmine-4.1.1.tar.gz -o redmine.tar.gz
Nachdem Sie das Archiv heruntergeladen haben, extrahieren Sie es mit dem folgenden Befehl:
$ tar -xvf redmine.tar.gz
Schritt 2:Konfigurieren Sie die Redmine-Datenbank
Als nächstes müssen Sie die Redmine-Datenbank konfigurieren. Kopieren Sie zunächst die Konfigurationsdatei der Redmine-Beispieldatenbank mit dem folgenden Befehl:
$ cp /opt/redmine/redmine-4.1.1/config/database.yml.example /opt/redmine/redmine-4.1.1/config/database.yml
Als nächstes öffnen Sie die Datei mit dem Texteditor Ihrer Wahl. Wir werden den Nano-Editor verwenden.
nano /opt/redmine/redmine-4.1.1/config/database.yml
Suchen Sie nun unter dem Produktionsabschnitt und geben Sie die zuvor erstellten MySQL-Datenbankinformationen ein, einschließlich Benutzername und Passwort, wie unten gezeigt.
production: adapter: mysql2 database: redmine host: localhost username: redmine password: "EnterPasswordHere" encoding: utf8
Ersetzen Sie EnterPasswordHere durch ein sicheres Passwort Ihrer Wahl.
Wenn Sie fertig sind, speichern und beenden Sie die Datei, um mit dem nächsten Schritt fortzufahren.
Schritt 3:Ruby-Abhängigkeiten installieren
Als nächstes müssen Sie alle Ruby-Abhängigkeiten und Bundler installieren.
Gehen Sie dazu in das Verzeichnis redmine-4.1.1, öffnen Sie das Terminal und geben Sie die folgenden Befehle ein:
$ cd ~/redmine-4.1.1 $ gem install bundler --no-rdoc --no-ri $ bundle install --without development test postgresql sqlite
Schritt 4:Schlüssel generieren und Datenbank migrieren
Geben Sie die folgenden Befehle in Ihr Terminal ein, um Schlüssel zu generieren und die Datenbank zu migrieren:
$ bundle exec rake generate_secret_token $ RAILS_ENV=production bundle exec rake db:migrate
Schritt 5:Nginx konfigurieren
Bevor wir nun auf Redmine zugreifen können, müssen Sie Nginx einrichten. Wechseln Sie dazu zunächst zurück zu Ihrem sudo-Benutzer, indem Sie den folgenden Befehl eingeben:
$ exit
Öffnen Sie nun den Texteditor und erstellen Sie die Nginx-Serverblockdatei. Geben Sie dazu folgenden Befehl ein:
$ sudo nano /etc/nginx/conf.d/example.com.conf
Kopieren Sie als Nächstes den folgenden Inhalt und fügen Sie ihn in die Datei ein:
Hinweis:Denken Sie daran, example.com mit Ihrer Redmine-Domain zu wechseln.
passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini; passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby; passenger_instance_registry_dir /var/run/passenger-instreg; server { listen 80; server_name example.com www.example.com; root /opt/redmine/redmine-4.1.1/public; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; passenger_enabled on; passenger_min_instances 1; client_max_body_size 10m; }
Führen Sie anschließend einen Test durch, um sicherzustellen, dass keine Systemfehler vorliegen, indem Sie den folgenden Befehl eingeben:
$ sudo nginx -t
Eine saubere Ausgabe ohne Fehler sollte so aussehen:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Sobald Sie grünes Licht erhalten, können Sie den Nginx-Server neu starten, indem Sie diesen Befehl eingeben:
sudo systemctl restart nginx
Schritt 6:Nginx mit SSL verschlüsseln
Sie müssen Nginx mit einer SSL-Zertifizierung konfigurieren. Falls Ihre Domain noch nicht durch ein vertrauenswürdiges SSL-Zertifikat geschützt ist, können Sie mit Let’s Encrypt ein kostenloses Zertifikat generieren.
Sobald Sie das Zertifikat zur Hand haben, müssen Sie die Nginx-Konfigurationsdatei erneut bearbeiten. Dazu müssen Sie es zunächst in Ihrem Texteditor mit dem folgenden Befehl öffnen:
$ sudo nano /etc/nginx/conf.d/example.com.conf
Bearbeiten Sie nun die Datei wie unten gezeigt:
passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini; passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby; passenger_instance_registry_dir /var/run/passenger-instreg; # Redirect HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # Redirect WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; root /opt/redmine/redmine-4.1.1/public; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; passenger_enabled on; passenger_min_instances 1; client_max_body_size 10m; }
Hinweis:Denken Sie daran, example.com mit Ihrer Redmine-Domain zu wechseln.
Und das ist es! Sie können nun auf Redmine zugreifen.
Auf Redmine zugreifen
Sie haben Redmine nun erfolgreich auf CentOS installiert und konfiguriert. Es ist endlich an der Zeit, darauf zuzugreifen und zu sehen, ob alles richtig funktioniert.
Um auf Redmine zuzugreifen, müssen Sie zunächst Ihren Browser öffnen und Ihre Domain eingeben. Wenn die Installation erfolgreich war, sollten Sie den folgenden Bildschirm sehen, der Sie nach Ihrem Benutzernamen und Passwort fragt.

Standardmäßig lauten die Anmeldeinformationen wie folgt:
Username: admin Password: admin
Nach der ersten Anmeldung werden Sie vom System aufgefordert, Ihr Passwort in ein sichereres zu ändern.

Nachdem Sie Ihr Passwort geändert haben, werden Sie auf die Seite Ihres Hauptbenutzerkontos weitergeleitet, von wo aus Sie mit der Verwendung von Redmine beginnen können.