Redmine ist eines der beliebtesten Open-Source-Softwaretools für Projektmanagement und Problemverfolgung. Es ist plattform- und datenbankübergreifend und baut auf dem Ruby on Rails-Framework auf.
Redmine umfasst Unterstützung für mehrere Projekte, Wikis, Problemverfolgungssystem, Foren, Kalender, E-Mail-Benachrichtigungen und vieles mehr.
Dieses Tutorial beschreibt, wie Sie die neueste Version von Redmine auf einem Ubuntu 18.04-Server mit MySQL als Datenbank-Backend und Passenger + Nginx als Ruby-Anwendungsserver installieren und konfigurieren.
Voraussetzungen #
Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben, bevor Sie mit diesem Lernprogramm fortfahren:
- Sie haben einen Domänennamen, der auf die öffentliche IP Ihres Servers verweist. In diesem Tutorial verwenden wir
example.com
. - Sie sind als Benutzer mit sudo-Berechtigungen angemeldet.
- Sie haben Nginx installiert, indem Sie diese Anweisungen befolgen.
- Sie haben ein SSL-Zertifikat für Ihre Domain installiert. Sie können ein kostenloses SSL-Zertifikat von Let’s Encrypt installieren, indem Sie diesen Anweisungen folgen.
Mysql-Datenbank wird erstellt #
Redmine unterstützt MySQL/MariaDB, Microsoft SQL Server, SQLite 3 und PostgreSQL. In diesem Tutorial verwenden wir MySQL als Datenbank-Backend.
Wenn Sie MySQL noch nicht auf Ihrem Ubuntu-Server installiert haben, können Sie es installieren, indem Sie diesen Anweisungen folgen.
Melden Sie sich bei der MySQL-Shell an, indem Sie den folgenden Befehl eingeben:
sudo mysql
Führen Sie in der MySQL-Shell die folgende SQL-Anweisung aus, um eine neue Datenbank zu erstellen:
CREATE DATABASE redmine CHARACTER SET utf8mb4;
Erstellen Sie als Nächstes ein MySQL-Benutzerkonto und gewähren Sie Zugriff auf die Datenbank:
GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Stellen Sie sicher, dass Sie change-with-strong-password
ändern mit einem starken Passwort. Wenn Sie fertig sind, verlassen Sie die MySQL-Konsole, indem Sie Folgendes eingeben:
EXIT;
Installieren von Ruby #
Der einfachste Weg, Ruby auf Ihrem Ubuntu-System zu installieren, ist über apt
Paket-Manager. Zum Zeitpunkt des Schreibens ist die Version in den Ubuntu-Repositories 2.5.1, die neueste stabile Version von Ruby.
Installieren Sie Ruby, indem Sie Folgendes eingeben:
sudo apt install ruby-full
Wenn Sie Ruby über Rbenv oder RVM installieren möchten, lesen Sie diese Anleitung.
Installieren von Passenger und Nginx #
Passenger ist ein schneller und leichter Webanwendungsserver für Ruby, Node.js und Python, der in Apache und Nginx integriert werden kann. Wir werden Passenger als Nginx-Modul installieren.
Stellen Sie sicher, dass Sie die Voraussetzungen erfüllt und Nginx installiert haben, bevor Sie mit den folgenden Schritten fortfahren.
Beginnen Sie mit der Installation der erforderlichen Pakete:
sudo apt install dirmngr gnupg apt-transport-https ca-certificates
Importieren Sie den GPG-Schlüssel des Repositorys und aktivieren Sie das Phusionpassengerrepository:
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 561F9B9CAC40B2F7
sudo add-apt-repository 'deb https://oss-binaries.phusionpassenger.com/apt/passenger bionic main'
Sobald das apt-Repository aktiviert ist, aktualisieren Sie die Paketliste und installieren Sie das Passenger Nginx-Modul mit:
sudo apt update
sudo apt install libnginx-mod-http-passenger
Redmine auf Ubuntu installieren #
Wir beginnen mit der Installation der Abhängigkeiten, die zum Erstellen von Redmine erforderlich sind:
sudo apt install build-essential libmysqlclient-dev imagemagick libmagickwand-dev
Zum Zeitpunkt der Erstellung dieses Artikels ist die neueste stabile Version von Redmine Version 4.0.0.
Bevor Sie mit dem nächsten Schritt fortfahren, sollten Sie auf der Redmine-Downloadseite nachsehen, ob eine neuere Version verfügbar ist.
1. Herunterladen von Redmine #
Laden Sie das Redmine-Archiv mit dem folgenden Curl-Befehl herunter:
sudo curl -L http://www.redmine.org/releases/redmine-4.0.0.tar.gz -o /tmp/redmine.tar.gz
Sobald der Download abgeschlossen ist, extrahieren Sie das Archiv und verschieben Sie es nach /opt
Verzeichnis:
cd /tmp
sudo tar zxf /tmp/redmine.tar.gz
sudo mv /tmp/redmine-4.0.0 /opt/redmine
2. Konfigurieren der Redmine-Datenbank #
Beginnen Sie mit dem Kopieren der Redmine-Beispielkonfigurationsdatei:
sudo cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml
Öffnen Sie die Datei mit Ihrem Texteditor:
sudo nano /opt/redmine/config/database.yml
Suchen Sie nach production
Abschnitt und geben Sie die MySQL-Datenbank und Benutzerinformationen ein, die wir zuvor erstellt haben:
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "change-with-strong-password"
encoding: utf8
Wenn Sie fertig sind, speichern Sie die Datei und beenden Sie den Editor.
3. Ruby-Abhängigkeiten installieren #
Navigieren Sie zum Redmine-Verzeichnis und installieren Sie Bundler und andere Ruby-Abhängigkeiten:
cd /opt/redmine/
sudo gem install bundler --no-rdoc --no-ri
sudo bundle install --without development test postgresql sqlite
4. Generieren Sie Schlüssel und migrieren Sie die Datenbank #
Führen Sie den folgenden Befehl aus, um Schlüssel zu generieren und die Datenbank zu migrieren:
cd /opt/redmine/
sudo bundle exec rake generate_secret_token
sudo RAILS_ENV=production bundle exec rake db:migrate
5. Legen Sie die richtigen Berechtigungen #
fest
Nginx läuft als www-data
Benutzer und Gruppe. Legen Sie die richtigen Berechtigungen fest, indem Sie den folgenden chown-Befehl ausführen:
sudo chown -R www-data: /opt/redmine/
Nginx konfigurieren #
Inzwischen sollte Nginx mit SSL-Zertifikat bereits auf Ihrem System installiert sein, wenn nicht, überprüfen Sie die Voraussetzungen für dieses Tutorial.
Öffnen Sie Ihren Texteditor und erstellen Sie die folgende Nginx-Serverblockdatei:
sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com# 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/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;
}
Vergessen Sie nicht, example.com durch Ihre Redmine-Domain zu ersetzen und den richtigen Pfad zu den SSL-Zertifikatsdateien festzulegen. Alle HTTP-Anforderungen werden an HTTPS umgeleitet. Die in dieser Konfiguration verwendeten Snippets werden in diesem Handbuch erstellt.
Aktivieren Sie die Serversperre, indem Sie einen symbolischen Link zu sites-enabled
erstellen Verzeichnis:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Führen Sie vor dem Neustart des Nginx-Dienstes einen Test durch, um sicherzustellen, dass keine Syntaxfehler vorliegen:
sudo nginx -t
Wenn es keine Fehler gibt, sollte die Ausgabe so aussehen:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Starten Sie abschließend den Nginx-Dienst neu, indem Sie Folgendes eingeben:
sudo systemctl restart nginx
Zugriff auf Redmine #
Öffnen Sie Ihren Browser, geben Sie Ihre Domain ein und vorausgesetzt, die Installation ist erfolgreich, wird ein Bildschirm ähnlich dem folgenden angezeigt:
Die Standard-Anmeldeinformationen für Redmine sind:
- Benutzername:admin
- Passwort:admin
Wenn Sie sich zum ersten Mal anmelden, werden Sie aufgefordert, das Passwort wie folgt zu ändern:
Sobald Sie das Passwort geändert haben, werden Sie zur Seite des Benutzerkontos weitergeleitet.