Installation des Backends
Die enaio® coLab-Backend-API ist als Spring-Boot-Anwendung programmiert worden. enaio® coLab verwendet Spring Boot in der Version 2.3.8.
Installation
Bevor Sie das Backend einrichten, kopieren Sie alle Ressourcen aus dem Serviceportal in ein lokales Verzeichnis (<colab-localfolder>).
Als nächstes installieren Sie enaio® coLab mit SAM tools.
-
Navigieren Sie in einem Eingabeaufforderungsfenster zum Verzeichnis <enaio_install>\service-manager\tools\sam.
-
Führen Sie den folgenden Befehl aus: sam install <colab_localfolder>\colab-app\enaio-colab-app.jar
In einer Meldung wird angezeigt, dass die Konfiguration gespeichert und enaio® coLab installiert wurde.
-
Kopieren Sie die Datei <colab-localfolder>\colab-app\colab-prod.yml in das Verzeichnis <enaio_installation>\service-manager\config.
Konfiguration
Die Anwendungseigenschaften passen Sie über die Konfigurationsdatei an:
<enaio_installation>\service-manager\config\colab-prod.yml.
In diesem Absatz wird beschrieben, wie Sie verschiedene Abschnitte in der Konfigurationsdatei ändern können.
Validieren Sie die .yml-Datei mithilfe eines Tools Ihrer Wahl, nachdem Sie die Konfiguration abgeschlossen haben. Die App kann nicht gestartet werden, wenn die .yml-Datei nicht valide ist.
global: service: baseUrl: http://<gateway_IP>/colab view: baseUrl: http://<gateway_IP>/colab
Die global.service.baseUrl sollte auf die Back-End-URL und auf die global.view.baseUrl verweisen, welche die Benutzer als Einstiegspunkt verwenden. Wenn Sie HTTPS verwenden, müssen Sie das Protokoll entsprechend ändern.
epr: smtp: host: 127.0.0.1 port: 26 from: name: "enaio(c) coLab" address: enaio-colab@colab.dev auth: enable: true username: username password: pass
Definieren Sie die SMTP-Eigenschaften entsprechend den Systemeinstellungen, in denen enaio® coLab installiert wurde. Wenn Ihr E-Mail-Server keine Authentifizierung erfordert, benötigen Sie keinen auth-Parameter.
Im file-repository-Bereich sollte der Parameter store auf fs eingestellt sein.
file-system-dir: Dieser Parameter definiert den Pfad, in dem temporäre Dateien gespeichert werden sollen. Das angegebene Verzeichnis muss im Dateisystem vorhanden sein (z. B. C:\data).
bucket: Das Bucket-Verzeichnis muss im Dateisystem innerhalb des file-system-dir-Pfades vorhanden sein (z. B. C:\data\bucketdir).
Im Postgres-Bereich ist uri die URL des Postgres-Servers. Der Benutzername und das Passwort gelten für den enaio® coLab-Benutzer, den Sie bei der Installation von Postgres erstellt haben. Wenn sich Ihre Datenbank und enaio® coLab auf demselben Server befinden, verwenden Sie localhost als URL.
Wenn sich Postgres und enaio® coLab auf verschiedenen Servern befinden, fügen Sie die Postgres-URL folgendermaßen hinzu:
-
Öffnen Sie die Konfigurationsdatei C:\Program Files\PostgreSQL\10\data\pg_hba.conf und suchen Sie den Eintrag host all all 127.0.0.1/32 md5.
-
Kopiere Sie die Zeile und füge Sie die Zeile noch einmal ein.
-
Ersetzen Sie die IP 127.0.0.1 durch Ihre Server-IP-Adresse und speichern Sie die Datei.
-
Um die Postgres-Konfiguration neu zu laden, öffnen Sie 'pgAdmin 4' als Postgres-Benutzer.
-
Führen Sie die folgende Abfrage aus:
select pg_reload_conf();
Ebenfalls notwendig ist für Neuinstallationen folgender Eintrag in der colab-prod.yml:
liquibase:
contexts: legacy
Wechseln Sie in das Verzeichnis <enaio_installation>\service-manager\config\, öffnen Sie die Datei application-cloud.yml und geben Sie folgendes ein:
enaio: blue: gateway: address: <gateway_IP>
Die Adresse von enaio® gateway muss genau so wie bei global.view.baseUrl angegeben werden, also als IP oder DNS.
Stellen Sie sicher, dass enaio® gateway für enaio® coLab erreichbar ist.
Wechseln Sie in das Verzeichnis <enaio_installation>\service-manager\config\, öffnen Sie die Datei application-prod.yml und geben Sie folgendes ein:
feign: hystrix: enabled: false
Wechseln Sie in das Verzeichnis <enaio_installation>\services\os_gateway\apps\os_gateway\config\, öffnen Sie die Datei application-prod.yml und geben Sie folgendes ein:
proxy: services: endpoints: - endpoint: name: colab url: 'http://<colab-IP>:8066'
Aktualisieren Sie Einstellungen für die Anmeldung externer Benutzer:
Ersetzen Sie:
handleRedirectsFromService: 'OSWebClient,osweb'
durch:
handleRedirectsFromService: 'OSWebClient,osweb,epr,colab'
Falls der Eintrag nicht vorhanden ist, erstellen Sie ihn:
proxy: services: handleRedirectsFromService: 'OSWebClient,osweb,epr,colab'
Starten Sie danach enaio® gateway neu.
Die Einstellungen für enaio® server nehmen Sie in folgender Konfigurationsdatei vor:
<enaio_installation>\service-manager\config\application_blue.yml.
enaio.dms.username: <enaio_user> enaio.dms.password: <enaio_pw> server: enaiodms1.example.com:4000:50#enaiodms2.example.com:4000:50
Alle enaio®-Server müssen hier aufgelistet sein.
Die folgenden Einstellung für die NTLM-Anmeldung von enaio®-Benutzern sind in enaio® enterprise-manager notwendig:
-
SSP-Login: Windows
-
Security Support Provider: NTLM
-
Reihenfolge der Anmeldung: A oder AI
-
Benutzernamen für LoginPipe-Ausnahmen: Alle technischen Benutzer aller Dienste und Services, die in enaio® eingebunden sind.
-
IP-Adressen für LoginPipe-Ausnahmen: Alle Adressen aller Dienste und Services, die in enaio® eingebunden sind.
-
Alternative LoginPipe: UI
COLAB_ADMIN
In der Benutzerverwaltung von enaio® richten Sie die Gruppe 'COLAB_ADMIN' ein. Die Gruppe benötigt keine weiteren Eigenschaften.
Mitgliedern dieser Gruppe werden nach der Anmeldung alle bestehenden Projekträume angezeigt. Zu jedem Projektraum können detaillierte Informationen aufgerufen werden. Projekträume auch anderer Projektraum-Besitzer können administriert und gelöscht werden.
Über einen Eintrag in der Datei application-blue.yml aus dem Verzeichnis <enaio_installation>\service-manager\config\ können Sie einer anderen Gruppe diese Funktion geben:
enaio.admin-user-group: NEW-GROUP_NAME
Anmeldung für externe Benutzer
In der Datei colab-prod.yml können Sie die Anmeldung in enaio® coLab für externe Benutzer konfigurieren. Die Anmeldung kann entweder über die Google-, LinkedIn- oder Microsoft-Konten der Benutzer erfolgen oder mithilfe von Keycloak als Authentifizierungsinstanz.
Führen Sie die folgenden Schritte aus, damit sich Benutzer mit ihren Google-Konten anmelden können:
-
Melden Sie sich unter https://console.developers.google.com an.
-
Erstellen Sie ein neues Projekt und wechseln Sie in den Bereich Credentials.
-
Klicken Sie auf Create credentials und wählen Sie den Eintrag OAuth client ID aus.
-
Wählen Sie als Anwendungstyp Web application aus.
-
Rufen Sie Client-ID und Client Secret ab und tragen Sie die Daten in den entsprechenden Bereich in der Konfigurationsdatei colab-prod.yml ein.
-
Klicken Sie auf Authorized JavaScript originsund geben Sie Ihre Domäne mit dem Protokoll ein, auf dem enaio® gateway installiert ist.
Beispiel: http://<gateway-IP>:colab
-
Geben Sie unter Authorized redirect URIs Ihren Domänennamen gefolgt von /epr/login/google/ ein.
Beispiel: http://<gateway-IP>/colab/epr/login/google
- Passen Sie die Datei <enaio_installation>\service-manager\config\colab-prod.yml an:
spring:
security:
oauth2:
client:
registration:
google:
clientId: client_id
clientSecret: client_secret
redirect-uri: ${global.service.baseUrl}/epr/login/google
scope: openid, email, profile
Führen Sie die folgenden Schritte aus, damit sich Benutzer mit ihren LinkedIn-Konten anmelden können:
-
Melden Sie sich unter https://developer.linkedin.com/docs/oauth2 an und führen Sie nur den Schritt 1 aus. Nachdem Sie die Authentifizierungsschlüssel (Client-ID und Client Secret) erhalten haben, tragen Sie die Daten in den entsprechenden Abschnitt in der Konfigurationsdatei colab-prod.yml ein.
-
Wenn die Anwendung erstellt wurde, geben Sie Ihren Domainnamen unter Authorized redirect URLs zusammen mit dem Protokoll und dem Port und gefolgt von /epr/login/linkedin ein.
- Passen Sie die Datei <enaio_installation>\service-manager\config\colab-prod.yml an:
spring:
security:
oauth2:
client:
registration:
linkedin:
clientId: client_id
clientSecret: client_secret
redirect-uri: ${global.service.baseUrl}/epr/login/linkedin
scope: r_emailaddress, r_liteprofile
client-authentication-method: post
authorization-grant-type: authorization_code
provider:
linkedin:
authorization-uri: https://www.linkedin.com/oauth/v2/authorization
token-uri: https://www.linkedin.com/oauth/v2/accessToken
user-info-uri: https://api.linkedin.com/v2/me
user-name-attribute: id
Führen Sie die folgenden Schritte aus, damit sich Benutzer mit ihren Microsoft-Konten anmelden können:
-
Melden Sie sich unter https://portal.azure.com an und suchen Sie über das Suchfeld nach App registration.
- Klicken Sie auf 'New registration', füllen Sie alle Felder mit den entsprechenden Daten aus und klicken Sie auf 'Register'.
Application- ID / Client-ID und Object-ID werden angezeigt.
- Klicken Sie auf ‘Certificates & secrets’ und dann auf ‘New client secret’.
- Kopieren Sie den Wert von 'Client secret'.
Microsoft zeigt den Client Secret nur einmal an
-
Gehen Sie zu 'Authentification', klicken Sie auf Add a platform und von der Konfigurations-Platform auf Web und gehen Sie zu 'RedirectURL' und geben Sie Ihren Domänennamen und Ihr Protokoll ein, gefolgt von /epr/login/microsoft.
Beispiel: http://<gatewayIP>/colab/epr/login/microsoft
Wenn der Prozess abgeschlossen ist, tragen Sie den Client Secret zusammen mit dem App Key in den entsprechenden Abschnitt in der Konfigurationsdatei colab-prod.yml ein.
- Passen Sie die Datei <enaio_installation>\service-manager\config\colab-prod.yml an:
spring:
security:
oauth2:
client:
registration:
microsoft:
client-id: client_id
client-secret: client_secret
provider: microsoft
redirect-uri: ${global.service.baseUrl}/epr/login/microsoft
scope: openid, profile, email, https://graph.microsoft.com/.default
client-authentication-method: basic
authorization-grant-type: authorization_code
provider:
microsoft:
authorization-uri: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
token-uri: https://login.microsoftonline.com/common/oauth2/v2.0/token
user-info-uri: https://graph.microsoft.com/v1.0/me
jwk-set-uri: https://login.microsoftonline.com/common/discovery/v2.0/keys
user-name-attribute: id
Es ist möglich, Keycloak als Authentifizierungsinstanz in enaio® coLab zu verwenden. Keycloak muss aus Sicherheits- und Wartungsgründen auf einem eigenen Server installiert werden.
Sie müssen zuerst Keycloak mithilfe der Installationsdateien und anhand der Anweisungen auf https://keycloak.org installieren und konfigurieren. Die Benutzeraccounts werden über Ihre Instanz von Keycloak verwaltet.
Um Keycloak als Authentifizierungsinstanz in enaio® coLab zu verwenden, ergänzen Sie folgende Konfiguration in der Datei colab-prod.yml:
spring:
security:
oauth2:
client:
registration:
keycloak:
client-id: client_id
client-secret: client_secret
provider: keycloak
redirect-uri: ${global.service.baseUrl}/epr/login/keycloak
scope: openid, profile, email
authorization-grant-type: authorization_code
title: Keycloak server
provider:
keycloak:
authorization-uri: http://<server_ip>:<port>/auth/realms/colab-test/protocol/openid-connect/auth
token-uri: http://<server_ip>:<port>/auth/realms/colab-test/protocol/openid-connect/token
user-info-uri: http://<server_ip>:<port>/auth/realms/colab-test/protocol/openid-connect/userinfo
jwk-set-uri: http://<server_ip>:<port>/auth/realms/colab-test/protocol/openid-connect/certs
user-name-attribute: sub
Um zu prüfen, ob die Änderungen nach der Aktualisierung von enaio® coLab angewendet wurden, gehen Sie zu http://127.0.0.1:7273 > coLab app. Klicken Sie auf 'Details' und dann 'Umgebung'. Suchen Sie nach den Keycloak-Eigenschaften und prüfen Sie, ob diese in der Liste enthalten sind.
Einbinden eines Virenscanners
In enaio® coLab kann per Webhook ein Virenscanner eingebunden werden, der Dokumente, die Benutzer einfügen wollen, prüft. Benutzer erhalten gegebenenfalls einen entsprechenden Hinweis.
Das Einbinden ist auf den Update-Seiten beschrieben.
Weitere Update-Informationen erhalten Sie über die Release-Seiten.