Windows Server 2019

Einleitung

Folgen Sie diesen Anweisungen, um Relution 5 auf Windows Server 2019 einzurichten. Diese Anleitung verwendet MariaDB als Datenspeicher und NginX als Reverse Proxy.

Für zusätzliche Sicherheit und Performance empfehlen wir, Relution, MariaDB und NginX auf getrennten Rechnern zu installieren. Die Installation auf einer einzelnen Maschine oder auf einer oder mehreren virtuellen Maschinen ist ebenfalls möglich.

Diese Anleitung behandelt die Installation und Konfiguration einer einfachen Relution-Instanz.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass:

  • Die Maschinen sich mit dem Internet verbinden können
  • Sie administrative Rechte haben
  • Sie haben ein gültiges SSL-Zertifikat für Ihren externen Hostnamen haben

Selbst signierte Zertifikate funktionieren nicht, da mobile Geräte ihnen nicht vertrauen. Sie können Ihr Root-Zertifikat manuell auf einem Gerät installieren, damit es Ihrem Zertifikat vertraut. Diese Vorgehensweise wird nicht empfohlen.

Zertifikate von Let’sEncrypt → sind getestet und funktionieren. Beachten Sie, dass ältere Geräte diesen Zertifikaten möglicherweise nicht vertrauen, da Let’s Encrypt erst vor kurzem als Zertifizierungsstelle (CA) eingerichtet wurden.

MariaDB installation

Gehen Sie zu MariaDB → und laden Sie die neueste stabile 64-Bit-Version für Windows herunter. Zum Zeitpunkt der der Erstellung dieser Anleitung ist dies mariadb-10.11.5-winx64.msi.

Folgen Sie den Bildschirmanweisungen für die Installation.

MariaDB konfiguration

Aktualisieren Sie die Konfiguration von MariaDB mit den von Relution benötigten Optionen:

  • Gehen Sie zu "%ProgramFiles%\MariaDB 10.11\data"
  • Öffnen Sie “my.ini” in einem Texteditor als Administrator (z.B. Notepad)
  • Suchen Sie den Abschnitt “[mysqld]”

Fügen sie diese Einstellungen in den Bereich “[mysqld]” hinzu:

collation-server=utf8mb4_general_ci
character-set-server=utf8mb4
max_allowed_packet=1G
innodb_file_per_table=1

## No longer needed/supported for MariaDB >= 10.2.2
## If you have an older version please update or enable this
#innodb_large_prefix=on
#innodb_file_format=Barracuda

Der Abschnitt “[mysqld]” kann bereits eine “Zeichensatz-Server”-Einstellung enthalten. Entfernen Sie diese Einstellung und ersetzen Sie sie durch die obige.

Wenn Sie von einer älteren Version von MariaDB aktualisieren, haben Sie möglicherweise noch die Einstellungen innodb_large_prefix und innodb_file_format in Ihrer my.ini-Datei. Diese Einstellungen werden nicht mehr benötigt und ihr Vorhandensein kann den MariaDB-Dienst daran hindern, korrekt zu starten.

Starten Sie den MariaDB-Dienst neu, indem Sie entweder den Dienste-Manager (services.msc) oder über die Eingabeaufforderung. Beachten Sie, dass der Dienst aus Gründen der Abwärtskompatibilität den Namen “MySQL” hat.

net stop MySQL
net start MySQL

Installation überprüfen

Sie sollten nun in der Lage sein, sich mit dieser MariaDB-Instanz zu verbinden. Sie können die die Verknüpfung “MySQL Client (MariaDB 10.11 (x64))”, die das Installationsprogramm in Ihrem Startmenü angelegt haben sollte. Nachdem Sie eine Verbindung hergestellt haben, sollten Sie eine eine ähnliche Ausgabe wie diese sehen:

Enter password: ********
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 10.11.5-MariaDB mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> exit
Bye

Alternativ können Sie auch den HeidiSQL-Client verwenden, der ein optionaler Teil des Installationsprogramms ist, oder die MySQL Workbench um sich mit der Instanz zu verbinden.

Datenbank anlegen

Als nächstes erstellen Sie die Datenbank relution und einen zugehörigen Datenbank-Benutzer. Dieser Benutzer wird vom Relution-Dienst verwendet, um sich mit der Datenbank verbinden.

Stellen Sie eine Verbindung zur Datenbank mit einem SQL-Client her. Die Verwendung einer GUI-Anwendung wie HeidiSQL oder MySQL Workbench wird für diese Aufgabe empfohlen. Führen Sie die folgenden SQL-Anweisungen aus:

CREATE DATABASE relution CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';
CREATE USER 'relution'@'localhost' IDENTIFIED BY '$PASSWORD';
GRANT ALL PRIVILEGES ON relution.* TO 'relution'@'localhost' IDENTIFIED BY '$PASSWORD';
CREATE USER 'relution'@'%' IDENTIFIED BY '$PASSWORD';
GRANT ALL PRIVILEGES ON relution.* TO 'relution'@'%' IDENTIFIED BY '$PASSWORD';
FLUSH PRIVILEGES;

Ersetzen Sie $PASSWORD durch ein sicheres Zufallspasswort. Wir empfehlen die Verwendung eines Passwort-Managers, um ein langes Zufallspasswort zu erzeugen (z.B. 32 Zeichen oder mehr). Dieses Passwort wird vom Relution-Dienst verwendet und muss nicht von einem Administrator manuell eingegeben werden. Daher können Sie auf jeden Fall ein langes, sicheres Kennwort verwenden.

Dadurch wird eine neue Datenbank namens relution und ein neuer Datenbankbenutzer mit dem Namen relution, der volle Rechte für diese Datenbank hat, erzeugt. Dieser Benutzer wird vom Relution-Dienst für den Zugriff auf die Datenbank verwendet. Wenn administrativer Zugriff auf die Datenbank zu Wartungszwecken benötigt wird, wird empfohlen, einen separaten Datenbankbenutzer für diesen Zweck anzulegen.

Stellen Sie sicher, dass Sie das Passwort speichern. Es wird später für die Konfiguration der Datenbankverbindung von Relution benötigt.

Vergewissern Sie sich, dass Sie sich als dieser Benutzer mit der Datenbank verbinden können. Öffnen Sie die Verknüpfung “Command Prompt (MariaDB 10.6 (x64))” aus dem Startmenü und geben Sie den folgenden Befehl ein:

mysql -u relution -p relution

Geben Sie das Passwort ein, wenn Sie dazu aufgefordert werden. Sie sollten die MariaDB-Eingabeaufforderung wie oben sehen. Geben Sie exit ein und drücken Sie die Eingabetaste um die Sitzung zu beenden.

Firewall Konfiguration

Wenn Sie Relution auf einem anderen Rechner installieren, müssen Sie den Port 3306 auf diesem Rechner öffnen, damit Relution mit MariaDB kommunizieren kann. Wenn Relution auf demselben Rechner installiert werden soll, können Sie diese Schritte überspringen.

  • Öffnen Sie Windows Defender Firewall mit erweiterter Sicherheit
  • Wählen Sie Eingehende Regeln
  • Klicken Sie auf Neue Regel... auf der rechten Seite
  • Wählen Sie Programm
  • Klicken Sie auf Weiter
  • Wählen Sie Dieser Programmpfad
  • Nutzen Sie Durchsuchen... Um die Exe-Datei des MariaDB Diensts zu wählen (C:\Program Files\MariaDB 10.6\bin\mysqld.exe) * Klicken Sie auf Weiter * Wählen Sie Verbindung zulassen * Klicken Sie auf Weiter * Aktivieren Sie Domäne und/oder Privat - abhängig von Ihrer Infrastruktur * Klicken Sie auf Weiter * geben Sie der Regel einen Namen * Klicken Sie auf Beenden

Relution Installation

Java Runtime installieren

Laden Sie eine unterstützte Java-Version herunter und installieren Sie sie. Wenn das Installationsprogramm fragt ob JAVA_HOME konfiguriert werden soll, wählen Sie Ja.

Wir empfehlen derzeit die Verwendung von OpenJDK 17 (JRE). Die meisten Anbieter behandeln diese Version als Long Term Support (LTS) Release. Lesen Sie unbedingt unseren change log → für aktuelle Informationen

Es gibt mehrere Anbieter von OpenJDK, darunter Eclipse Temurin, Oracle, RedHat und andere. Für Windows empfehlen wir Eclipse Temurin →.

Umgebung konfigurieren

Die folgenden Schritte sind nur notwendig, wenn das Installationsprogramm nicht das JAVA_HOME` gesetzt hat. Das AdoptOpenJDK-Installationsprogramm kann dies für Sie tun. Wenn Sie diese Option aktiviert haben, können Sie diese Schritte überspringen.

  • Klicken Sie auf Start und suchen Sie nach Umgebungsvariablen
  • Öffnen Sie Systemumgebungsvariablen bearbeiten
  • Klicken Sie auf den Erweitert Tab
  • Wählen Sie Umgebungsvariablen
  • Klicken Sie auf Neu... in den Systemvariablen
  • Geben Sie JAVA_HOME als Namen der Variable ein
  • Geben Sie das Installationsverzeichnis des JRE/JDK als Wert für die Variable ein
  • Klicken Sie auf OK

Prüfen ob JAVA_HOME gesetzt ist

Wenn Sie ein Eingabeaufforderungsfenster schon vorher geöffnet hatten, müssen Sie es schließen bevor die Änderungen wirksam werden. Öffnen Sie eine neue Windows-Eingabeaufforderung und geben Sie den folgenden Befehl ein, gefolgt von der Eingabetaste.

echo %JAVA_HOME%

Sie sollten den Wert sehen, den Sie oben in den Umgebungsvariablen eingegeben haben. Andernfalls überprüfen Sie bitte Ihre Einstellungen.

Relution installieren

Laden Sie das aktuelle Relution Paket → herunter. Klicken Sie mich rechts auf die Datei und wählen Sie Alle extrahieren....

Beachten Sie, dass Windows standardmäßig ein neues Verzeichnis für die extrahierten Dateien anlegt, also relution sich innerhalb des Verzeichnisses relution-package befindet.

Basiskonfiguration von Relution

Öffnen Sie einen Texteditor (z.B. Notepad) als Administrator und fügen Sie folgenden Inhalt dort ein:

relution:
  system:
    admin:
      password: %SYSTEM_ADMIN_PASSWORD%
      email: %SYSTEM_ADMIN_EMAIL%
  server:
    externalURL: %EXT_HOSTNAME_URL%
  database:
    type: mysql
    url: jdbc:mariadb://<db-hostname>/relution?useServerPrepStmts=true
    username: relution
    password: %MYSQL_PASSWORD%
  mongodb:
    enabled: false

 #Optionale Parameter:
  mail:
    username: %SMTP_USERNAME%
    password: %SMTP_PASSWORD%
    host: %SMTP_HOSTNAME%
    port: %SMTP_PORT%
  smtp:
    ttls: false
    ssl: false
    ehlo: true
  wizard:
    orga:
      name: %ORG_UNIQUE_NAME%
      fullName: %ORG_DISPLAY_NAME%
      admin:
        username: %ADM_USERNAME%
        password: %ADM_PASSWORD%
        givenname: %ADM_FIRST_NAME%
        surname: %ADM_LAST_NAME%

Stellen Sie sicher, dass Sie die Datei bearbeiten und an Ihre Umgebung anpassen. Die folgenden Parameter müssen ersetzt werden:

PlatzhalterBeschreibung

%SYSTEM_ADMIN_PASSWORD%

Das Passwort für den Systemadmin

%SYSTEM_ADMIN_EMAIL%

Die Mailadresse des Systemadmin

%EXT_HOSTNAME_URL%

Die externe URL über die Relution erreichbar sein wird, z.B. https://mdm.example.com

%MYSQL_PASSWORD%

Das Passwort des relution Datenbankusers

HINWEIS: Vergessen Sie nicht, den SQL Server im Verbindungsstring anzugeben.

Optionale Parameter

PlatzhalterBeschreibung

%SMTP_HOSTNAME%

Der Hostname des SMTP Servers

%SMTP_PORT%

Der Port des SMTP Servers (default: 25)

%SMTP_USERNAME%

Der Username für den SMTP Server

%SMTP_PASSWORD%

Das Passwort des SMTP users

%ORG_UNIQUE_NAME%

Der eindeutige Name der ersten Relution Organisation. Darf nur alphanumerische Zeichen und keine Leerzeichen enthalten.

%ORG_DISPLAY_NAME%

Der Name der Organisation

%ADM_USERNAME%

Der Benutzername des Organisations-Admins. Darf nur alphanumerische Zeichen und keine Leerzeichen enthalten.

%ADM_PASSWORD%

Das initiale Kennwort des Organisations-Administrators. Ändern Sie dies nach dem ersten Login

%ADM_FIRST_NAME%

Der Vorname des Organisations-Admins

%ADM_LAST_NAME%

Der Nachname des Organisations-Admins

Erwägen Sie die Verwendung eines Kennwortgenerators zur Erstellung des ersten Kennworts für Ihr Verwaltungskonto. Wir empfehlen, das Kennwort zu ändern, nachdem Sie sich zum ersten Mal angemeldet haben.

Speichern Sie die Datei als application.yml im Relution Installationsverzeichnis (z.B. "%ProgramFiles%\relution\application.yml").

Installation prüfen

Um zu überprüfen, ob die Einrichtung bis zu diesem Punkt korrekt ist, starten Sie Relution im Vordergrund. Öffnen Sie ein Konsolenfenster als Administrator und führen Sie die folgenden Befehle aus:

cd "%ProgramFiles%\relution"
windows-bin\relution-foreground.bat

Warten Sie, bis der Relution gestartet ist. Sobald die Terminalausgabe aufgehört hat, sich zu aktualisieren, sollten Sie in der Lage sein, eine Verbindung zu Relution mit einem Browser zu verbinden:

http://localhost:8080

Wenn alles funktioniert, sollten Sie das Relution-Portal sehen und sich mit dem administrativen Konto anmelden können, das in der Datei application.yml definiert haben. Aus Sicherheitsgründen sollten Sie das Passwort des Administrators nach der Anmeldung ändern. Erwägen Sie aus Sicherheitsgründen das Entfernen der Organisation und der Administratorkonfiguration aus der application.yml.

Wenn Sie Fehler erhalten, überprüfen Sie, ob Sie alle oben genannten Schritte durchgeführt haben. Verwenden Sie Strg+C", um Relution anzuhalten, und warten Sie, bis der Relution heruntergefahren ist. Wenn Relution nicht beendet wird, verwenden Sie erneut die Tastenkombination “Strg+C”, um das Beenden des Dienstes zu erzwingen.

Relution als Dienst einrichten

Installieren Sie Relution als Windows-Dienst, mit dem Batch-Script install_service.bat. Öffnen Sie als Administrator ein Konsolenfenster und führen Sie die folgenden Befehle aus:

cd "%ProgramFiles%\relution"
windows-bin\install_service.bat

Der Dienst sollte nach der Installation automatisch gestartet werden. Andernfalls können Sie den Dienstmanager verwenden oder net start relution. In der Eingabeaufforderung eingeben, um den Dienst zu starten.

Firewall konfigurieren

Wenn Sie NginX auf einem anderen Rechner installieren, müssen Sie den Port 8080 öffnen, damit NginX mit Relution kommunizieren kann. Wenn Relution auf dem gleichen Rechner installiert wird, können Sie diese Schritte überspringen.

  • Öffnen Sie Windows Defender Firewall mit erweiterter Sicherheit

  • Klicken Sie auf eingehende Regeln

  • Wählen Sie Neue Regel... im Aktionsmenü

  • Wählen Sie Programm

  • Klicken Sie auf Weiter

  • Wählen Sie bei Dieser Programmpfad

  • das Durchsuchen... und wählen Sie die Service Datei von Relution

    (C:\Program Files\relution\windows-bin\nssm.exe) * Klickken Sie auf Weiter * Wählen Sie Verbindung zulassen * Klicken Sie auf Weiter * Wählen Sie Domäne und/oder Privat , abhängig von Ihrer Infrastruktur * Klicken Sie auf Weiter * geben Sie der Regel einen Namen * Klicken Sie auf Fertig stellen

Nginx Installation

Vorbereitung

Sie haben ein gültiges SSL-Zertifikat und einen Zertifikatsschlüssel von Ihrem SSL-Anbieter (Certificate Authority, CA) erhalten. Wenn Sie OCSP Stapling verwenden wollen, sollten Sie auch eine Datei für die Zertifikatskette haben.
OCSP stapling →

SSL Zertifikat umwandeln →

Kopieren Sie diese Dateien auf den Server, auf dem Sie nginx einrichten werden. Verschieben Sie diese Dateien in geeignete Verzeichnisse und sichern Sie sie nach Bedarf.

Der private Schlüssel darf nur für den Administrator lesbar sein. Achten Sie darauf, diese Datei sicher aufzubewahren. Jeder, der Zugang zu diesem Schlüssel hat, kann Daten in Ihrem Namen signieren und an Sie gesendete private Informationen entschlüsseln.

Wenn Sie Let’s Encrypt verwenden, lesen Sie bitte ACME Client Implementations für mögliche Clients, die für Windows verfügbar sind. Der offizielle Certbot ist nur für UNIX-ähnliche Betriebssysteme verfügbar.
ACME Client Implementations →
Certbot →

nginx installieren

Laden Sie die neueste stabile Version von nginx für Windows → in Ihr Download-Verzeichnis.

Klicken Sie mit der rechten Maustaste auf die Datei nginx-x.xx.zip und klicken Sie auf Alles extrahieren....

Verschieben Sie das extrahierte Verzeichnis nginx-x.xx nach %ProgramFiles% und benennen Sie es um in es in nginx um.

move "%HOMEPATH%\Downloads\nginx-1.14.0\nginx-1.14.0" "%ProgramFiles%\nginx"

Anpassen des Quellverzeichnisses nach Bedarf.

Standardmäßig erstellt Windows ein neues Verzeichnis für die extrahierten Dateien, so dass das eigentliche nginx-x.xx-Verzeichnis sich innerhalb eines anderen nginx-x.xx Verzeichnis befinden kann. Stellen Sie sicher, dass Sie das Verzeichnis, das die Datei nginx.exe enthält, verschieben.

nginx für Relution konfigurieren

Kopieren Sie Ihr SSL-Zertifikat und Ihren privaten Schlüssel nach %ProgramFiles%\nginx\server.pem und %ProgramFiles%\nginx\server.key.

Kopieren Sie %ProgramFiles%\relution\proxy\nginx_windows_sample.conf nach %ProgramFiles%\nginx\conf\nginx.conf (überschreibt ggf. die vorhandene Datei).

copy "%ProgramFiles%\relution\proxy\nginx_windows_sample.conf" "%ProgramFiles%\nginx\conf\nginx.conf"

Öffnen Sie die Datei in einem Texteditor, der mit Linux-Zeilenenden arbeiten kann (z. B. Notepad++) und passen Sie die Datei nach Bedarf an Ihre Umgebung an. Wenn Sie Relution auf einem anderen Server installiert haben, stellen Sie sicher, dass Sie die IP-Adresse in proxy_pass http://127.0.0.1:8080; entsprechend anpassen.

Überprüfen Sie Ihre nginx-Konfiguration mit dem folgenden Befehl:

"%ProgramFiles%\nginx\nginx.exe" -t

Sie sollten die Meldungen syntax is okay und test is successful erhalten. Wenn Sie Fehler erhalten, überprüfen Sie Ihre nginx-Konfiguration auf Tippfehler usw., wie in der wie in der Fehlermeldung angegeben.

nginx als Windows-Dienst installieren

Kopieren Sie nssm.exe und install_service.bat aus dem Proxy-Verzeichnis von Relution in das nginx-Installationsverzeichnis

cd "%ProgramFiles%\nginx"
kopieren Sie "%ProgramFiles%\relution\proxy\nssm.exe" .
Kopieren Sie "%ProgramFiles%\relution\proxy\install_service.bat" .

Führen Sie das Batch-Skript install_service.bat als Administrator aus, um nginx als einen Windows-Dienst zu installieren.

"%ProgramFiles%\nginx\install_service.bat"

Firewall

Öffnen Sie die Ports 80 und 443 in der Firewall, um den Zugriff auf HTTP und HTTPS von der Außenwelt zu ermöglichen.

  • Öffnen Sie Windows Firewall mit erweiterter Sicherheit
  • Navigieren Sie zu Eingehende Regeln
  • Klicken Sie im Bereich Aktionen auf Neue Regel...
  • Wählen Sie Programm
  • Klicken Sie auf Weiter
  • Wählen Sie Dieser Programmpfad
  • Verwenden Sie Durchsuchen..., um die ausführbare Datei des Relution-Dienstes auszuwählen
    • C:\Programme\nginx\nginx.exe. Klicken Sie auf Weiter
    • Wählen Sie Verbindung zulassen. Klicken Sie auf Weiter
    • Wählen Sie Öffentlich. Klicken Sie auf Weiter
    • Geben Sie einen Namen für die Regel ein und klicken Sie auf Fertigstellen