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.
Dieses Tutorial erklärt, wie man die neueste Version von Redmine auf CentOS 8 installiert und konfiguriert. Wir verwenden MariaDB als Datenbank-Back-End und Passenger + Apache als Ruby-Anwendungsserver.
Voraussetzungen #
Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben:
- Domänenname, der auf die öffentliche IP Ihres Servers verweist.
- Sie sind als Root oder Benutzer mit sudo-Berechtigungen angemeldet.
Erstellen einer MySQL-Datenbank #
Redmine unterstützt MySQL/MariaDB, Microsoft SQL Server, SQLite 3 und PostgreSQL. Wir verwenden MariaDB als Datenbank-Back-End.
Wenn Sie MariaDB oder MySQL nicht auf Ihrem CentOS-Server installiert haben, können Sie es installieren, indem Sie diesen Anweisungen folgen.
Melden Sie sich mit dem folgenden Befehl bei der MySQL-Shell an:
sudo mysql
Führen Sie in der MySQL-Shell die folgenden SQL-Anweisungen aus, um eine neue Datenbank und einen neuen Benutzer zu erstellen und dem Benutzer Zugriff auf die Datenbank zu gewähren:
Stellen Sie sicher, dass SieCREATE DATABASE redmine CHARACTER SET utf8;
GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
change-with-strong-password
ändern mit einem starken Passwort. Wenn Sie fertig sind, verlassen Sie die MySQL-Shell:
EXIT;
Installieren von Passenger, Apache und Ruby #
Passenger ist ein schneller und leichtgewichtiger Webanwendungsserver für Ruby, Node.js und Python, der in Apache und Nginx integriert werden kann. Wir werden Passenger als Apache-Modul installieren.
Aktivieren Sie das EPEL-Repository:
sudo dnf install epel-release
sudo dnf config-manager --enable epel
Sobald das Repository aktiviert ist, aktualisieren Sie die Paketliste und installieren Sie Ruby, Apache und Passenger:
sudo dnf install httpd mod_passenger passenger passenger-devel ruby
Starten Sie den Apache-Dienst und aktivieren Sie ihn für den Start beim Booten:
sudo systemctl enable httpd --now
Neuen Systembenutzer # erstellen
Erstellen Sie einen neuen Benutzer und eine neue Gruppe mit dem Home-Verzeichnis /opt/redmine
das wird die Redmine-Instanz ausführen:
sudo useradd -m -U -r -d /opt/redmine redmine
Fügen Sie den apache
hinzu Benutzer zum redmine
groupund ändern Sie /opt/redmine
Verzeichnisberechtigungen, damit der Apache darauf zugreifen kann:
sudo usermod -a -G redmine apache
sudo chmod 750 /opt/redmine
Installieren von Redmine #
Zum Zeitpunkt des Schreibens ist die neueste stabile Version von Redmine Version 4.1.0.
Bevor Sie mit den nächsten Schritten fortfahren, besuchen Sie die Redmine-Downloadseite, um zu sehen, ob eine neuere Version verfügbar ist.
Installieren Sie den GCC-Compiler und die Bibliotheken, die zum Erstellen von Redmine erforderlich sind:
sudo dnf group install "Development Tools"
sudo dnf install zlib-devel curl-devel openssl-devel mariadb-devel ruby-devel
Stellen Sie sicher, dass Sie die folgenden Schritte als redmine
ausführen Benutzer:
sudo su - redmine
1. Herunterladen von Redmine #
Laden Sie das Redmine-Archiv mit curl
herunter :
curl -L http://www.redmine.org/releases/redmine-4.1.0.tar.gz -o redmine.tar.gz
Sobald der Download abgeschlossen ist, extrahieren Sie das Archiv:
tar -xvf redmine.tar.gz
2. Konfigurieren der Redmine-Datenbank #
Kopieren Sie die Konfigurationsdatei der Redmine-Beispieldatenbank:
cp /opt/redmine/redmine-4.1.0/config/database.yml.example /opt/redmine/redmine-4.1.0/config/database.yml
Öffnen Sie die Datei mit Ihrem Texteditor:
nano /opt/redmine/redmine-4.1.0/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: utf8mb4
Wenn Sie fertig sind, speichern Sie die Datei und beenden Sie den Editor.
3. Ruby-Abhängigkeiten installieren #
Wechseln Sie zu redmine-4.1.0
Verzeichnis und installieren Sie die Ruby-Abhängigkeiten:
cd ~/redmine-4.1.0
gem install bundler --no-rdoc --no-ri
bundle install --without development test postgresql sqlite --path vendor/bundle
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:
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
Apache konfigurieren #
Wechseln Sie zurück zu Ihrem sudo-Benutzer und erstellen Sie die folgende Apache-vhost-Datei:
/etc/httpd/conf.d/example.com.confexit
sudo nano /etc/httpd/conf.d/example.com.conf
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /opt/redmine/redmine-4.1.0/public
<Directory /opt/redmine/redmine-4.1.0/public>
Options Indexes ExecCGI FollowSymLinks
Require all granted
AllowOverride all
</Directory>
ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>
Vergessen Sie nicht, example.com durch Ihre Redmine-Domain zu ersetzen. Starten Sie den Apache-Dienst neu, indem Sie Folgendes eingeben:
sudo systemctl restart httpd
Apache mit SSL konfigurieren #
Wenn Sie kein vertrauenswürdiges SSL-Zertifikat für Ihre Domain haben, können Sie ein kostenloses SSL-Zertifikat von Let’s Encrypt generieren, indem Sie diesen Anweisungen folgen.
Sobald das Zertifikat generiert ist, bearbeiten Sie die Apache-Konfiguration wie folgt:
sudo nano /etc/httpd/conf.d/example.com.conf
/etc/httpd/conf.d/example.com.conf<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
Protocols h2 http/1.1
<If "%{HTTP_HOST} == 'www.example.com'">
Redirect permanent / https://example.com/
</If>
DocumentRoot /opt/redmine/redmine-4.1.0/public
ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
<Directory /opt/redmine/redmine-4.1.0/public>
Options Indexes ExecCGI FollowSymLinks
Require all granted
AllowOverride all
</Directory>
</VirtualHost>
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. Zugriff auf Redmine #
Öffnen Sie Ihren Browser, geben Sie Ihre Domäne 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 zu ändern, wie unten gezeigt:
Sobald Sie das Passwort geändert haben, werden Sie auf die Seite des Benutzerkontos weitergeleitet.
Wenn Sie nicht auf die Seite zugreifen können, blockiert wahrscheinlich Ihre Firewall Port Apache-Ports.
Verwenden Sie die folgenden Befehle, um den erforderlichen Port zu öffnen:
sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --reload