Android

So installieren und konfigurieren Sie redmine auf centos 7

Configure HTTPS on Synology NAS Using Let's Encrypt | Synology

Configure HTTPS on Synology NAS Using Let's Encrypt | Synology

Inhaltsverzeichnis:

Anonim

Redmine ist eines der beliebtesten Tools für Open Source-Projektmanagement und Issue-Tracking. Es ist plattform- und datenbankübergreifend und basiert auf dem Ruby on Rails-Framework.

Redmine bietet Unterstützung für mehrere Projekte, Wikis, Problemverfolgungssysteme, Foren, Kalender, E-Mail-Benachrichtigungen und vieles mehr.

In diesem Tutorial werden die Schritte beschrieben, die zum Installieren und Konfigurieren der neuesten Version von Redmine auf einem CentOS 7-Server mit MariaDB als Datenbank-Backend und Passenger + Nginx als Ruby-Anwendungsserver erforderlich sind.

Voraussetzungen

Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben, bevor Sie mit diesem Lernprogramm fortfahren:

  • Domainname, der auf die öffentliche IP Ihres Servers verweist. In diesem Tutorial verwenden wir example.com Eingeloggt als Benutzer mit Sudo-Rechten.

Installieren Sie die Pakete, die zum Erstellen von Redmine und Ruby aus dem Quellcode erforderlich sind:

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

MySQL-Datenbank erstellen

Redmine unterstützt MySQL / MariaDB, Microsoft SQL Server, SQLite 3 und PostgreSQL. In diesem Tutorial verwenden wir MariaDB als Datenbank-Backend.

Wenn Sie MariaDB oder MySQL nicht auf Ihrem CentOS-Server installiert haben, können Sie es installieren, indem Sie diese Anweisungen befolgen.

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 utf8;

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 change-with-strong-password durch ein sicheres change-with-strong-password .

Wenn Sie fertig sind, verlassen Sie die mysql-Shell, indem Sie Folgendes eingeben:

EXIT;

Passenger und Nginx installieren

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.

Installieren Sie das EPEL-Repository und die erforderlichen Pakete:

sudo yum install epel-release yum-utils pygpgme sudo yum-config-manager --enable epel

Aktivieren Sie das Phusionpassenger-Repository:

sudo yum-config-manager --add-repo

Sobald das Repository aktiviert ist, aktualisieren Sie die Paketliste und installieren Sie Nginx und Passenger mit:

sudo yum install nginx passenger passenger-devel

Neuen Systembenutzer anlegen

Erstellen Sie einen neuen Benutzer und eine neue Gruppe, die die Redmine-Instanz ausführen. Der Einfachheit halber nennen wir den Benutzer redmine :

sudo useradd -m -U -r -d /opt/redmine redmine

Fügen Sie den nginx Benutzer der neuen Benutzergruppe hinzu und ändern Sie die Verzeichnisberechtigungen für /opt/redmine damit der Nginx darauf zugreifen kann:

sudo usermod -a -G redmine nginx sudo chmod 750 /opt/redmine

Ruby installieren

Die Version von Ruby in den CentOS-Repositories ist ziemlich veraltet und wird von Redmine nicht unterstützt. Wir installieren Ruby mit RVM.

redmine zum Benutzer redmine indem Sie redmine eingeben:

sudo su - redmine

Importieren Sie die GPG-Schlüssel und installieren Sie RVM:

gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB curl -sSL https://get.rvm.io | bash -s stable gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB curl -sSL https://get.rvm.io | bash -s stable

So verwenden Sie RVM als Quelle für die rvm Datei:

source /opt/redmine/.rvm/scripts/rvm

Jetzt können wir Ruby installieren, indem wir Folgendes ausführen:

rvm install 2.5 rvm --default use 2.5 Wenn Sie Ruby über Rbenv installieren möchten, lesen Sie diese Anleitung.

Redmine unter CentOS installieren

Zum Zeitpunkt des Schreibens dieses Artikels ist die neueste stabile Version von Redmine Version 4.0.1.

Bevor Sie mit den nächsten Schritten fortfahren, sollten Sie auf der Redmine-Downloadseite nachsehen, ob eine neuere Version verfügbar ist.

redmine Sie sicher, dass Sie die folgenden Schritte als redmine Benutzer redmine .

1. Redmine herunterladen

Laden Sie das Redmine-Archiv mit dem folgenden Curl-Befehl herunter:

curl -L http://www.redmine.org/releases/redmine-4.0.1.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 Redmine-Beispieldatenbank-Konfigurationsdatei:

cp /opt/redmine/redmine-4.0.1/config/database.yml.example /opt/redmine/redmine-4.0.1/config/database.yml

Öffnen Sie die Datei mit Ihrem Texteditor:

nano /opt/redmine/redmine-4.0.1/config/database.yml

Suchen Sie nach dem production und geben Sie die zuvor erstellten MySQL-Datenbank- und Benutzerinformationen ein:

/opt/redmine/redmine-4.0.1/config/database.yml

production: adapter: mysql2 database: redmine host: localhost username: redmine password: "change-with-strong-password" encoding: utf8

Sobald Sie fertig sind, speichern Sie die Datei und beenden Sie den Editor.

3. Installieren von Ruby-Abhängigkeiten

Navigieren Sie zum redmine-4.0.1 und installieren Sie den redmine-4.0.1 und andere Ruby-Abhängigkeiten:

cd ~/redmine-4.0.1 gem install bundler --no-rdoc --no-ri 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:

bundle exec rake generate_secret_token RAILS_ENV=production bundle exec rake db:migrate

Nginx konfigurieren

Wechseln Sie zurück zu Ihrem sudo-Benutzer:

exit

Öffnen Sie Ihren Texteditor und erstellen Sie die folgende Nginx-Server-Blockdatei:

sudo nano /etc/nginx/conf.d/example.com.conf /etc/nginx/conf.d/example.com.conf

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.0.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; } Vergessen Sie nicht, example.com durch Ihre Redmine-Domain zu ersetzen.

Führen Sie vor dem Neustart des Nginx-Dienstes einen Test durch, um sicherzustellen, dass keine Syntaxfehler vorliegen:

sudo nginx -t

Wenn keine Fehler vorliegen, sollte die Ausgabe folgendermaßen aussehen:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Starten Sie schließlich den Nginx-Dienst neu, indem Sie Folgendes eingeben:

sudo systemctl restart nginx

Konfigurieren Sie Nginx mit SSL

Nachdem das Zertifikat generiert wurde, bearbeiten Sie die Domain-Nginx-Konfiguration wie folgt:

sudo nano /etc/nginx/conf.d/example.com.conf /etc/nginx/conf.d/example.com

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.0.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; } Vergessen Sie nicht, example.com durch Ihre Redmine-Domain zu ersetzen und den richtigen Pfad zu den SSL-Zertifikatdateien festzulegen. Alle HTTP-Anforderungen werden an HTTPS umgeleitet.

Zugriff auf Redmine

Öffnen Sie Ihren Browser, geben Sie Ihre Domain ein und bei erfolgreicher Installation wird ein Bildschirm ähnlich dem folgenden angezeigt:

Sobald Sie das Passwort geändert haben, werden Sie zur Benutzerkontoseite weitergeleitet.

Fazit

Sie haben Redmine erfolgreich auf Ihrem CentOS-System installiert. Sie sollten jetzt die Redmine-Dokumentation lesen und mehr über die Konfiguration und Verwendung von Redmine erfahren.

Centos Redmine Ruby MySQL Mariadb Nginx