Redmine ist eine kostenlose Open-Source-Projektmanagement- und Problemverfolgungsanwendung. 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.
In diesem Tutorial zeigen wir Ihnen, wie Sie die neueste Version von Redmine auf einem Debian 9-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:
- Haben Sie einen Domänennamen, der auf die öffentliche IP Ihres Servers verweist. Wir werden
example.com
verwenden . - Als Benutzer mit sudo-Berechtigungen angemeldet.
- Nginx installiert haben.
- Lassen Sie ein SSL-Zertifikat für Ihre Domain installieren.
Erstellen einer MySQL-Datenbank #
Redmine unterstützt MySQL/MariaDB, Microsoft SQL Server, SQLite 3 und PostgreSQL. Wir verwenden MariaDB als Datenbank-Backend. Stellen Sie sicher, dass auf Ihrem Computer mindestens MySQL 5.7 oder MariaDB 10.3 installiert ist.
Wenn MariaDB oder MySQL nicht auf Ihrem Debian-Server installiert ist, können Sie es anhand dieser Anleitung installieren.
Melden Sie sich zunächst bei der MySQL-Konsole an, indem Sie Folgendes eingeben:
sudo mysql
Führen Sie die folgende SQL-Anweisung aus, um eine neue Datenbank zu erstellen:
CREATE DATABASE redmine CHARACTER SET utf8mb4;
Erstellen Sie ein neues MySQL-Benutzerkonto und gewähren Sie Zugriff auf die Datenbank:
GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Vergessen Sie nicht, change-with-strong-password
zu ändern mit einem starken Passwort. Wenn Sie fertig sind, melden Sie sich von der MariaDB-Konsole ab, indem Sie Folgendes eingeben:
EXIT;
Installieren von Ruby #
Der einfachste Weg, Ruby unter Debian zu installieren, ist die Verwendung von apt
Paketmanager:
Installieren Sie Ruby, indem Sie Folgendes eingeben:
sudo apt install ruby-full
Zum Zeitpunkt des Schreibens ist die Version in den Debian-Repositories 2.3.3p222
die von der neuesten Version von Redmine unterstützt wird.
Wenn Sie Ruby über Rbenv oder RVM installieren möchten, besuchen Sie dieses Tutorial.
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 Nginx installiert ist, bevor Sie mit den folgenden Schritten fortfahren.
Installieren der erforderlichen Pakete zum Aktivieren eines https-Repositorys:
sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common
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 stretch main'
Aktualisieren Sie die Paketliste und installieren Sie das Passenger Nginx-Modul mit:
sudo apt update
sudo apt install libnginx-mod-http-passenger
Redmine auf Debian installieren #
Beginnen Sie mit der Installation der Abhängigkeiten, die zum Erstellen von Redmine erforderlich sind:
sudo apt install build-essential libmariadbclient-dev imagemagick libmagickwand-dev curl ruby-dev libxslt-dev libxml2-dev zlib1g-dev
Zum Zeitpunkt der Erstellung dieses Artikels ist die neueste stabile Version von Redmine Version 4.0.4.
Bevor Sie mit dem nächsten Schritt fortfahren, sollten Sie auf der Redmine-Downloadseite nach einer neueren Version suchen.
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.4.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.4 /opt/redmine
2. Konfigurieren der Redmine-Datenbank #
Kopieren Sie die 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.