IRIS Installation (Windows): Unterschied zwischen den Versionen
Zeile 214: | Zeile 214: | ||
Wenn Sie nun die Seite aufrufen, sollte das Grundgerüst vom IRIS-System erscheinen, allerdings noch mit einer Fehlermeldung, da noch keine Verbindung zu den Services account und shipping besteht. | Wenn Sie nun die Seite aufrufen, sollte das Grundgerüst vom IRIS-System erscheinen, allerdings noch mit einer Fehlermeldung, da noch keine Verbindung zu den Services account und shipping besteht. | ||
+ | |||
+ | === Einbindung Swagger UI (API-Dokumentation) === | ||
+ | Die API Dokumentation soll unter /api verlinkt werden, wird aber im Frontend unter dem Pfad frontend\swagger ausgeliefert. | ||
+ | |||
+ | Hierzu müssen Sie noch ein Virtuelles Verzeichnis für die Web Seite erstellen. | ||
+ | |||
+ | Unter Alias tragen Sie "api" ein. | ||
+ | |||
+ | Unter Physical path tragen Sie den Pfad zum "swagger" Ordner ein: | ||
+ | |||
+ | [[Datei:IIS-VirtDir-Swagger.png|rahmenlos]] | ||
=== Einbindung account === | === Einbindung account === | ||
Zeile 250: | Zeile 261: | ||
[[Datei:IIS-ReverseProxy-account-Rewrite.png|rahmenlos|490x490px]] | [[Datei:IIS-ReverseProxy-account-Rewrite.png|rahmenlos|490x490px]] | ||
+ | |||
+ | === Einbindung shipping === | ||
+ | Das Vorgehen ist ähnlich wie beim account, d.h. auch hierfür wird das IIS Plugin AAR benötigt. | ||
+ | |||
+ | Erstellen Sie ein neues Virtuelles Verzeichnis, was auf einen leeren Pfad zeigt und dem Alias "shipping": | ||
+ | |||
+ | [[Datei:IIS-VirtDir-shipping.png|rahmenlos]] |
Version vom 9. Februar 2023, 12:40 Uhr
MariaDB
Für die Installation von IRIS wird eine installierte MariaDB vorausgesetzt:
Wir testen IRIS hierbei immer gegen die letzte LTS-Version von MariaDB. Zum jetzigen Zeitpunkt (08.02.2023) ist das die Version 10.6.
Zur Administration der Datenbank können Sie ein Tool Ihrer Wahl nehmen, z.B. DBeaver, HeidiSQL oder das bei der Installation mitgelieferte Kommandozeilentool mysql.
Datenbanken
Zum Anlegen der Datenbanken können Sie folgendes Script als root User ausführen:
create database iris_common character set = 'utf8mb4' collate 'utf8mb4_general_ci';
create database iris_account character set = 'utf8mb4' collate 'utf8mb4_general_ci';
create database iris_shipping character set = 'utf8mb4' collate 'utf8mb4_general_ci';
User
Zur besseren Sicherheit sollten jede Datenbank mit einem eigenen User versehen werden, wobei jeder User nur auf diese eine Datenbank Zugriff hat.
Bitte verwenden Sie ein sicheres Passwort, sowie für jeden Benutzer ein anderes Passwort, und ersetzen Sie es in den Befehlen unten.
Falls Sie die MariaDB und IRIS auf unterschiedlichen Servern installieren, dann ersetzen Sie bitte den Teil @'localhost' durch die IP Adresse, wo IRIS installiert wird oder eine geeignete Wildcard, z.B. @'10.0.0.15' oder @'10.0.0.%'
-- User for iris_common. Please replace the password with a secure random password
create user 'iris_common'@'localhost' identified by 'secure_password_for_iris_common_to_be_replaced';
grant all on iris_common.* to 'iris_common'@'localhost';
-- User for iris_account. Please replace the password with a secure random password
create user 'iris_account'@'localhost' identified by 'secure_password_for_iris_account_to_be_replaced';
grant all on iris_account.* to 'iris_account'@'localhost';
-- User for iris_shipping. Please replace the password with a secure random password
create user 'iris_shipping'@'localhost' identified by 'secure_password_for_iris_shipping_to_be_replaced';
grant all on iris_shipping.* to 'iris_shipping'@'localhost';
flush privileges;
Verschlüsselung der Verbindung
Die Verbindung zur MariaDB sollte mit TLS/SSL abgesichert werden.
Hierzu können Sie nach offizieller Anleitung vorgehen:
https://mariadb.com/kb/en/securing-connections-for-client-and-server/
Zum Erstellen des Zertifikats verwenden Sie bitte Ihre interne Zertifizierungs-Stelle (interne Root CA).
Bitte prüfen Sie die verschlüsselte Verbindung bevor Sie fortfahren.
Installation iris-account
Sie erhalten das Setup von iris-account von unserem Support.
Installation
Für die Erstinstallation folgen Sie bitte dem Installer. Im Folgenden nehmen wir eine Installation auf C:\Heidler\iris\account an. Sollte Ihre Installation abweichen, ersetzen Sie bitte die Pfade entsprechend.
Datenbank-Verbindung
Zunächst muss die Verbindung zur Datenbank konfiguriert werden. iris-account benötigt eine Verbindung zu den Datenbanken iris_account und iris_common.
Sie finden die vorbereiteten Konfigurationsdateien unter: C:\Heidler\iris\account\config\database
Hier bitte die zwei Dateien kopieren und die Endung .example entfernen.
Danach bitte die Konfigurationsdateien anpassen. Die Dateien selbst enthalten eine Dokumentation und Erklärung zu jedem Parameter.
Wichtig: .properties Dateien können Sonderzeichen beinhalten, diese werden mit einem \ escaped. Sollten Sie einen Backslash benötigen (z.B. als Teil der Pfadangabe des Zertifikates), dann müssen Sie dies auch mit einem \ escapen. Beispiel:
serverCertificate=C:\\Heidler\\iris\\ssl\\ca.crt
Port
Standardmäßig starten iris-account einen HTTP-Webservice auf Port 9710.
Zum Ändern des Ports editieren Sie bitte die Datei: C:\Heidler\iris\account\config\service.properties
Erster Start
Sie können nun iris-account testweise starten.
Nach dem Start erhalten Sie eine Log-Datei unter: C:\Heidler\iris\account\logs\service.log
Wenn alles erfolgreich gestartet wurde, dann erhalten Sie einen Eintrag, der so ähnlich lautet:
2023-02-08 17:22:38.926 -08 WARN [main] (init.ServiceInitializer:166) - A new user has been created.:
Username: root@localhost
Password: P6oV-GK3GYsdnn_5usDg1tBmn00
Please login with this user and change your password immediately!
Bitte notieren Sie sich diesen Benutzer + Passwort umgehend.
HTTPS
Um HTTPS für iris-account zu aktivieren, hinterlegen Sie bitte das Server-Zertifikat im X.509 Format und den Private-Key im PKCS#8 Format unter folgenden Dateinamen:
C:\Heidler\iris\account\config\server-cert.pem
C:\Heidler\iris\account\config\server-privatekey-pkcs8.pem
Die Zertifikate müssen Sie mit Ihrer internen Zertifizierungsstelle erstellen (interne Root CA).
Nach dem Hinterlegen starten Sie bitte den Dienst neu.
Im Log sollten Sie dann nach dem Neustart diesen Log-Eintrag finden:
2023-02-08 17:27:44.367 -08 INFO [main] (rest.WebServer:88) - Starting https server on port 9710
Installation iris-shipping
Sie erhalten das Setup von iris-shipping von unserem Support.
Installation
Für die Erstinstallation folgen Sie bitte dem Installer. Im Folgenden nehmen wir eine Installation auf C:\Heidler\iris\shipping an. Sollte Ihre Installation abweichen, ersetzen Sie bitte die Pfade entsprechend.
Datenbank-Verbindung
Zunächst muss die Verbindung zur Datenbank konfiguriert werden. iris-account benötigt eine Verbindung zu den Datenbanken iris_shipping und iris_common.
Sie finden die vorbereiteten Konfigurationsdateien unter: C:\Heidler\iris\shipping\config\database
Hier bitte die zwei Dateien kopieren und die Endung .example entfernen.
Danach bitte die Konfigurationsdateien anpassen. Die Dateien selbst enthalten eine Dokumentation und Erklärung zu jedem Parameter.
Wichtig: .properties Dateien können Sonderzeichen beinhalten, diese werden mit einem \ escaped. Sollten Sie einen Backslash benötigen (z.B. als Teil der Pfadangabe des Zertifikates), dann müssen Sie dies auch mit einem \ escapen. Beispiel:
serverCertificate=C:\\Heidler\\iris\\ssl\\ca.crt
Port
Standardmäßig starten iris-shipping einen HTTP-Webservice auf Port 9720.
Zum Ändern des Ports editieren Sie bitte die Datei: C:\Heidler\iris\shipping\config\service.properties
Erster Start
Sie können nun iris-shipping testweise starten.
Nach dem Start erhalten Sie eine Log-Datei unter: C:\Heidler\iris\account\logs\service.log
HTTPS
Um HTTPS für iris-account zu aktivieren, hinterlegen Sie bitte das Server-Zertifikat im X.509 Format und den Private-Key im PKCS#8 Format unter folgenden Dateinamen:
C:\Heidler\iris\shipping\config\server-cert.pem
C:\Heidler\iris\shipping\config\server-privatekey-pkcs8.pem
Die Zertifikate müssen Sie mit Ihrer internen Zertifizierungsstelle erstellen (interne Root CA).
Nach dem Hinterlegen starten Sie bitte den Dienst neu.
Im Log sollten Sie dann nach dem Neustart diesen Log-Eintrag finden:
2023-02-08 17:33:47.257 -08 INFO [main] (rest.WebServer:88) - Starting https server on port 9720
Installation Frontend
Sie erhalten die Frontend-Dateien für IRIS von unserem Support.
Bitte entpacken Sie diese Dateien an einem Ort, wo Ihr Webserver / Reverse-Proxy Zugriff hat und diese veröffentlichen kann (z.B. C:\Heidler\iris\frontend).
Reverse Proxy (IIS)
HTTPS
Zunächst muss IIS mit einem öffentlichen HTTPS-Zertifikat ausgestattet werden.
Hierzu gehen Sie in die Server-Einstellungen:
Und dann auf Server Certificates:
Hier können Sie nun ein neues Zertifikat importieren, oder ein Zertifikat anfragen.
Bitte importieren Sie hier Ihr öffentliches Server-Zertifikat (nicht von Ihrer internen Root CA).
Danach können Sie den HTTPS-Port für die Default Web Site (oder eine neu erstellte Web Site für IRIS) aktivieren:
Fügen Sie ein Binding für HTTPS hinzu und wählen das vorhin importierte Zertifikat aus.
Ihre Webseite sollte nun per HTTPS erreichbar sein.
Nun müssen HTTP-Anfragen automatisch auf HTTPS umgeleitet werden, hierzu benötigen Sie das Plugin URL-Rewrite:
https://www.iis.net/downloads/microsoft/url-rewrite
Nach der Installation haben Sie für die Web Site einen Neuen Menüpunkt URL Rewrite
Erstellen Sie eine neue leere Regel und füllen Sie die Einstellungen wie folgt:
Danach können Sie rechts oben auf "Apply" drücken.
Sie sollten nun automatisch auf HTTPS weitergeleitet werden, sofern Sie die Seite mit HTTP aufrufen.
Einbindung Frontend
Zum Ändern des Pfades der Web Site, klicken Sie im IIS auf die Default Web Site (oder neu erstellte Web Site für IRIS) und dann im rechten Teil auf "Actions" -> "Basic Settings..."
Dann wählen Sie den Pfad aus, wo Sie das Frontend entpackt haben.
Wenn Sie nun die Seite aufrufen, sollte das Grundgerüst vom IRIS-System erscheinen, allerdings noch mit einer Fehlermeldung, da noch keine Verbindung zu den Services account und shipping besteht.
Einbindung Swagger UI (API-Dokumentation)
Die API Dokumentation soll unter /api verlinkt werden, wird aber im Frontend unter dem Pfad frontend\swagger ausgeliefert.
Hierzu müssen Sie noch ein Virtuelles Verzeichnis für die Web Seite erstellen.
Unter Alias tragen Sie "api" ein.
Unter Physical path tragen Sie den Pfad zum "swagger" Ordner ein:
Einbindung account
Hierzu benötigen Sie das IIS Plugin "Application Request Routing":
https://www.iis.net/downloads/microsoft/application-request-routing
Erstellen Sie unter der Web Site ein neues Virtuelles Verzeichnis.
Der Alias muss "account" sein.
Der Physical Path muss in ein leeres Verzeichnis zeigen, z.B: C:\Heidler\iris\empty
In den Einstellungen unter dem virtuellen Verzeichnis gehen Sie auf "URL Rewrite", und fügen eine neue Regel mit dem Template "Reverse Proxy" hinzu
Sie erhalten ggf. eine Meldung, dass die Proxy-Funktionalität eingeschaltet werden muss, bestätigen Sie diese.
Wählen Sie unter Inbound Rules den Servernamen, wo der account Service installiert ist plus dem jeweiligen Port.
SSL Offloading muss deaktiviert sein, da der account Service auch ein HTTPS Service ist:
Es wurde nun eine neue Regel erstellt, die aber noch im Detail angepasst werden muss.
Unter Conditions: Alle Bedingungen entfernen
Unter Action: Den Pfad inkl. Sub-Pfad fix eingeben:
Einbindung shipping
Das Vorgehen ist ähnlich wie beim account, d.h. auch hierfür wird das IIS Plugin AAR benötigt.
Erstellen Sie ein neues Virtuelles Verzeichnis, was auf einen leeren Pfad zeigt und dem Alias "shipping":