Skip to main content
Skip table of contents

Java Plattform installieren

Betroffene Produkte

Diese Anleitung bezieht sich auf folgende Web-Anwendungen:

ForumBCM (ab Version 2.0)

ForumISM (ab Version 2020-09)

ForumOSM

ForumCMS

ForumNMS

ForumTCM

ForumDSM

ForumNSR

ForumWPC

Aufbau der Software

Sowohl der für den Betrieb der Anwendung benötigte Webserver als auch die Datenbank zur Speicherung der Inhalte ist im Softwarepaket für die Java Plattform enthalten.
Für den Einsatz ist lediglich eine installierte 64bit Java 17 Runtime oder höher erforderlich, das Betriebssystem kann frei gewählt werden – siehe Java Plattform

Sämtliche Anwendungen der ForumSuite werden in einem einzigen Paket ausgeliefert. Für ihren Einsatz müssen diese nach dem Kauf nur noch mit einem Freischaltschlüssel aktiviert werden und die dazugehörigen Vorschläge eingespielt werden.

Vorhandene Anwendungen

Sofern Sie bereits eine oder mehrere der oben genannten Anwendungen auf der Java Plattform der ForumSuite einsetzen, ist keine erneute Installation der Software erforderlich.


In diesem Fall gehen Sie bitte wie folgt vor:

  • Prüfen Sie, ob ggf. eine Aktualisierung erforderlich ist. Nutzen Sie dazu die Updateanleitung sowie die Versionshistorie für die zu installierende Anwendung.
  • Aktivieren Sie die neue Anwendung mit Hilfe des Ihnen zur Verfügung gestellten Freischaltschlüssels.
  • Installieren Sie die zur neuen Anwendung gehörigen Vorschläge/Kataloge, wie im Abschnitt   Installation der Vorschläge im Handbuch der entsprechenden Anwendung beschrieben.

  • (Haken) Es sind keine weiteren Schritte erforderlich – die Installation ist damit abgeschlossen.

Sollen Sie noch keine der oben genannten Anwendungen  einsetzen, fahren Sie bitte mit der Installationsanleitung fort.

Prüfung

Bekannte nicht unterstützte Java Laufzeitumgebungen:

  • Red Hat JRE / JDK

Bei Nutzung einer höheren Version als Java 21 LTS wird keine Garantie für die korrekte Funktionsweise der ForumSuite übernommen.


Die folgenden Tätigkeiten müssen alle auf dem Server der ForumSuite ausgeführt werden.

Betriebssystem Windows

Prüfung IST Zustand

  1. Öffnen Sie bitte im Windows Explorer  den Installationspfad der ForumSuite
  2. Bearbeiten Sie bitte die Datei start_suite.cmd

    Abbildung: Edit start_suite.cmd
  3. Prüfen Sie bitte nun den Pfad für den Aufruf der Laufzeitumgebung

    Abbildung 1: in ForumSuite Ordner eingebettete Java Runtime

    Abbildung 2: Java Runtime des Betriebssystems

    In diesem Fall fragen Sie die eingesetzte Version bitte über die Eingabeaufforderung mittels des Befehls java -version  ab.

    Abbildung 2.1: Abfrage Version der installierten Java Runtime


Sollten Sie mit einer installierten Java Runtime arbeiten (Abbildung 2), prüfen Sie bitte, ob noch andere Anwendungen diese Runtime nutzen/voraussetzen.
Falls ja, erfragen Sie bitte beim Hersteller, ob die Anwendung mit einer Java Runtime 17*  betrieben werden kann.

Update Java Runtime - Abbildung 1 (eingebettete Java Runtime)

  1. Laden Sie die portable Version 17 der Java Runtime von ADOPTIUM herunter (
    )
  2. Entpacken Sie den Inhalt des Archivs
  3. Kopieren Sie den Ordner jdk-17*-jre in den Ordner der ForumSuite
  4. Stoppen Sie den Dienst der ForumSuite
  5. Bearbeiten Sie bitte die Datei start_suite.cmd

    Abbildung: Edit start_suite.cmd
  6. start_suite.cmd - vorher

    BASH
    FOR %%f IN (FORUM_Suite_*.jar) DO .\jdk-11.0.17+8-jre\bin\java -Djavax.net.ssl.trustStoreType=WINDOWS-ROOT -Xmx8G -jar %%f

    start_suite.cmd - nachher (Beispiel)

    BASH
    #Bitte den String jdk-17... entsprechend anpassen
    FOR %%f IN (FORUM_Suite_*.jar) DO .\jdk-17.N.N.N+N-jre\bin\java -Djavax.net.ssl.trustStoreType=WINDOWS-ROOT -Xmx8G -jar %%f
  7. Speichern und schließen Sie die Datei start_suite.cmd 
  8. Starten Sie den Dienst der ForumSuite

Update Java Runtime - Abbildung 2 (Java Runtime des Betriebssystems)

  1. Laden Sie die installierbare Version 17 der Java Runtime von ADOPTIUM herunter (
    )
  2. Stoppen Sie den Dienst der ForumSuite
  3. Deinstallieren Sie die Java 11 Runtime via Systemsteuerung\Alle Systemsteuerungselemente\Programme und Features 
  4. Installieren Sie das Paket inkl. der Optionen JAVA_HOME  und JavaSoft (Oracle) 

    Abbildung: Installationsparamter
  5. Prüfung der Version über die Eingabeaufforderung mittels des Befehls java -version .
    Ergebnis sollte nun Version 17* sein.
  6. Starten Sie den Dienst der ForumSuite
Betriebssystem Linux

Nachfolgend wir die Aktualisierung unter Linux (hier: Debian Bullseye ) beschrieben.
Es wird davon ausgegangen, das die ForumSuite im systemd eingebunden ist

  1. ForumSuite stoppen

    BASH
    systemctl stop forumsuite.service
  2. Java 11 deinstallieren

    BASH
    apt remove openjdk-11-jre
    apt update;apt upgrade;apt autoremove;apt autoclean
  3. Java 17 installieren

    BASH
    apt install openjdk-17-jre
  4. ForumSuite starten

    BASH
    systemctl start forumsuite.service


Installation

Für den Betrieb der ForumSuite Version > 2023-07.1 wird eine Java Runtime Java 17 vorausgesetzt.

1. Entpacken

Sofern Sie die Installationsdateien als ZIP-Archiv erhalten haben, entpacken Sie das Archiv in das Verzeichnis auf Ihrem Server, aus welchem der Betrieb erfolgen soll.
Das Verzeichnis sollte sich nicht in einem geschützten Windows-Ordner oder unterhalb eines Systemverzeichnisses, wie etwa C:\Windows , D:\ProgramFiles , D:\Programme, /bin, /sbin, /lib  o.ä. befinden.
Entpacken Sie die Dateien bitte in einem vom Betriebssystem nicht beanspruchtem Verzeichnis des jeweiligen Laufwerkes, wie z.B. C:\Apps\ForumSuite , D:\Daten\ForumSuite bzw. /opt/forum .
Dieses Verzeichnis ist frei von Ihnen wählbar und wird im weiteren als Installationsverzeichnis bezeichnet.
Alle für den Betrieb benötigten Softwarekomponenten sind im Installationspaket enthalten.

Achten Sie auf ausreichend verfügbaren Platz auf dem Datenträger, auf welchem sich das Installationsverzeichnis befindet.

Der Platzbedarf ist dabei hauptsächlich von Anzahl und Umfang der von den Nutzern in den einzelnen Anwendungen hochgeladenen Dateianhänge abhängig.


In der Standardinstallation werden sowohl die Datenbank als auch sämtliche Anhänge unterhalb Installationsverzeichnisses abgelegt.


2. Diensteinrichtung

Dieser Artikel betrifft ausschließlich die Java Plattform.

Um die ForumSuite auf Basis der Java Plattform unter einem Windows Betriebssystem als Dienst (Service) zu starten, empfehlen wir den Einsatz eines Wrappers.

Unter https://github.com/kohsuke/winsw/releases können Sie sich – in Abhängigkeit des auf Ihrem Server installierten .NET-Frameworks – das entsprechende Hilfsprogramm in der aktuellsten Version herunterladen.

  • Kopieren Sie die im Archiv enthaltene WinSW.NET2.exe oder WinSW.NET4.exe in das Installationsverzeichnis Ihrer ForumSuite
  • Kopieren Sie die im Archiv enthaltene Datei sample-minimal.xml  ebenfalls in das Installationsverzeichnis Ihrer ForumSuite und benennen Sie die Datei um in WinSW.NET2.xml oder WinSW.NET4.xml
  • Passen Sie die Datei WinSW.NET2.xml oder WinSW.NET4.xml  entsprechend Ihren Bedürfnissen an

    Beispiel Konfiguration

    XML
    <configuration>
      
      <!-- ID of the service. It should be unique across the Windows system-->
      <id>ForumSuite</id>
      <!-- Display name of the service -->
      <name>ForumSuite Service (powered by WinSW)</name>
      <!-- Service description -->
      <description>This service is a service created from a minimal configuration for ForumSuite</description>
      
      <!-- Path to the executable, which should be started -->
      <executable>C:\<VERZEICHNIS>\start_suite.cmd</executable>
    
    </configuration>
  • Öffnen Sie die Eingabeaufforderung als Administrator
  • begeben Sie sich innerhalb des Eingabefensters in den Installationsordner der ForumSuite

  • Starten Sie die Datei WinSW.NET2.exe oder WinSW.NET4.exe mit dem Zusatzparameter install

    Beispiel Eingabeaufforderung

    POWERSHELL
    C:\WINDOWS\system32>cd C:\APPS\FORUMSuite
    
    C:\APPS\FORUMSuite>WinSW.NET4.exe install
    2019-10-17 16:47:18,717 INFO  - Installing the service with id 'ForumSuite'
    
    C:\APPS\FORUMSuite>WinSW.NET4.exe start
    2019-10-17 16:49:49,261 INFO  - Starting the service with id 'ForumSuite'
3. Feinabstimmung

Für den reibungslosen Betrieb der ForumSuite ist ein ausreichend dimensionierter verfügbarer Hauptspeicher für die Java Runtime Umgebung (der sog. Java Heap-Speicher) erforderlich.
Dieser muss für Java-Anwendungen im Vorfeld konfiguriert werden, da keine dynamische Zuweisung erfolgt.

Standardmäßig wird die Anwendung mit einem verfügbaren Heap-Speicher von 4 GB gestartet. 
Sofern Ihr Server über 8 GB Hauptspeicher verfügt, ist keine Anpassung erforderlich.

Stehen dem Betriebssystem 12 GB RAM oder mehr zur Verfügung, können Sie den verfügbaren Heap-Speicher erhöhen.
Dies ist insbesondere dann empfehlenswert, wenn Sie mehrere Anwendungen der ForumSuite nutzen oder umfangreiche PDF-Dokumente erzeugen möchten.

Vorgehensweise

Gehen Sie zur Anpassung des Java Heap-Speichers wie folgt vor:

Bearbeiten Sie die Datei start_suite.cmd und ändern Sie den hinter dem Parameter -Xmx hinterlegten Wert.

Beispiel für die Erhöhung auf 8 GB Heap-Speicher:

POWERSHELL
java -Xmx8G -jar FORUM_Suite_X.Y.Z.jar

Bitte beachten Sie, dass auch dem Betriebssystem nach der Erhöhung des maximal verfügbaren Java Heap-Speichers noch ausreichend Speicher zur Verfügung steht (Empfehlung: mindestens 2 GB).

Für einen Server mit 16GB RAM sollte die Java Heap Size entsprechend höchstens 14GB (Empfehlung: 12GB) betragen.

Konfiguration

Vor der Inbetriebnahme der Software ist eine Bearbeitung der Konfiguration erforderlich.

Anlegen der Konfiguration

Im Installationsverzeichnis befindet sich der Unterordner „config“.
Öffnen Sie diesen und benennen Sie die Datei application.properties.default in application.properties um oder kopieren Sie diese.

Bearbeiten Sie die Datei anschließend mit einem normalen Text-Editor.

Aufbau der Konfigurationsdatei

Die Einträge in der Datei bestehen aus einem Schlüssel gefolgt von einem Gleichheitszeichen (=) und dem Wert des Eintrags. Letzterer kann dabei auch leer sein.

Werte von Einträge können als Zeichenketten, Zahlen oder Wahr- und Falsch-Werte („true“ bzw. „false“) hinterlegt sein.

Kommentare werden durch Raute-Zeichen (#) am Anfang einer Zeile gekennzeichnet.

Die einzelnen Bereiche der Konfigurationsdateien sind durch Kommentare unterteilt.

Ändern Sie eigenmächtig bitte keine Werte im Bereich Interne Konfiguration, da ein fehlerfreier Betrieb der ForumSuite ansonsten ggf. nicht gewährleistet werden kann.

Anpassung der Einträge

Nachfolgend werden die anzupassenden Einträge näher beschrieben.

Erstnutzer

CODE
application.admin.user=

Mit diesem Eintrag wird die Login-Kennung des Erstnutzers definiert. Dieser Nutzer ist als technischer Administrator angelegt und kann unabhängig von eingerichteten Verzeichnisdiensten auf die Anwendung zugreifen – auch wenn erstere ggf. nicht erreichbar sind.

Beispiel: application.admin-user=admin

CODE
application.admin.password=

Über diesen Eintrag legen Sie das Kennwort für den Erstnutzer fest. Das Kennwort kann dabei im Klartext (nicht empfohlen) oder als Bcrypt-Hashwert hinterlegt werden.

Zur Erzeugung eines gültigen Passwort-Hashes können Sie das im Unterverzeichnis tools mitgelieferte Hilfsprogramm hash_password.cmd nutzen.

Starten Sie dazu einfach das Tool, geben das gewünschte Kennwort an der Eingabeaufforderung ein und kopieren anschließend den erzeugten Hashwert in die Zwischenablage, um diesen danach in die Konfigurationsdatei einfügen zu können.

Eine Online-Alternative zur Erzeugung von Hashwerten finden Sie unter https://bcrypt.online/


Beispiel: application.admin.password=$2a$12$dota0URv/ROPlpYInU0LCu5Cdv.hXRfFbvCxnAyuvTPPwOQZUV5Mi

Nach Einrichtung eines Verzeichnisdienstes können Sie den Erstnutzer durch Entfernen des Kennwortes und/oder des Nutzernamens deaktivieren.

Kommentieren Sie dazu die Einträge durch Voranstellen eines #-Zeichens aus oder Löschen Sie die Werte nach den Gleichheitszeichen.

Web-Adresse

JAVA
application.frontend.url=http://<Server>.<domain>.<tld>/
server.port=80

In diesem Eintrag hinterlegen Sie die Adresse, unter welcher der Server innerhalb Ihres Unternehmens im Netzwerk per Browser erreichbar ist.

Die URL muss immer mit http:// oder https:// beginnen und endet mit einem Schrägstrich (/). Sie können eine IP-Adresse oder einen gültigen DNS-Namen verwenden, der auf den Server verweist.

Beispiel:  application.frontend.url=http://app-server01.firma.lan

Hintergrund

Innerhalb der ForumSuite können Sie Aufgaben und Termine definieren. Über die integrierte E-Mail-Benachrichtigung können die zuständigen Nutzer auf die Aufgaben hingewiesen werden. Um den Verantwortlichen den direkten Aufruf der betroffenen Objekte zu ermöglichen, enthält die Benachrichtigung einen Link zur entsprechenden Aufgabe. Dieser Link kann leider nicht sicher automatisiert bei der Installation erkannt werden und muss daher manuell in der Konfiguration hinterlegt werden. 

Bitte achten Sie darauf, dass die angegebene URL auch von allen Client Arbeitsplätzen erreichbar ist.

Sollte bereits ein anderer Webservice auf Port 80 auf dem Installationsserver laufen, können Sie dies entsprechend dem nachfolgenden Beispiel anpassen oder Sie wenden sich bitte an die FORUM Hotline zur Unterstützung bei der Anpassung.

JAVA
#alternativ Aufruf über z.B. Port 8080
application.frontend.url=http://<Server>.<domain>.<tld>:8080/
# Interne Konfiguration Server:
# --- NUR NACH AUFFORDERUNG DURCH DEN SUPPORT ANPASSEN ---
server.port=8080

Einrichtung HTTPS

Anpassungen bereits vorhandener Parameter

Um die ForumSuite via HTTPS aufrufen zu können, müssen der Konfigurationsdatei application.properties weitere Parameter hinzugefügt werden.

ForumSuite > Version 2022-12.1

SSL Parameter application.properties

TEXT
#KeyStore Parameter und Pfade
server.ssl.certificate=config/my-cert.crt
server.ssl.certificate-private-key=config/my-cert.key
server.ssl.trust-certificate=config/ca-cert.crt

Das Zertifikat sowie die Schlüsseldatei werden im Ordner config der ForumSuite mit abgelegt.

Das Zertifikat wird im Format .crt benötigt und die Schlüsseldatei im Format .key oder .pem.
Beachten Sie bitte das die Schlüsseldatei ohne Passwort sein muß.

Sollten Sie das Zertifikat nicht im richtigen Format vorliegen haben, so können Sie sich die benötigten Dateien ggf. auch selbst erstellen. 
Für die Umwandlung / Extraktion können Sie entweder das Tool KeyStore Explorer unter Windows nutzen, oder mithilfe der Nachfolgenden Befehle z.B. aus einer .P12 Datei .

privaten Schlüssel extrahieren aus PFX

TEXT
openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes

Zertifikat extrahieren aus PFX

TEXT
openssl pkcs12 -in certname.pfx -nokeys -out cert.pem

Passwort vom Schlüssel entfernen

TEXT
openssl rsa -in c:\<Pfad>\schlüssel.pem -passin pass:'<Passwort>' -out c:\>Pfad>\server.key

Darüber hinaus muss in der Konfigurationsdatei application.properties der Parameter für die Frontend URL angepasst werden. Dieser wird für die Generierung der Links in EMail's verwendet.

zu aktualisierende Parameter in der Datei application.properties

TEXT
#an dieser Stelle http durch https ersetzen
application.frontend.url=https://<Server>.<domain>.<tld>/
#alternativ mit Verschlüsselung z.B. über Port 8443
#application.frontend.url=https://<Server>.<domain>.<tld>:8443/

#Port über welchen die Anwendung aufgerufen werden soll - 8443 oder 443 (https Standard)
server.port=443
#alternativ mit Verschlüsselung z.B. über Port 8443
#server.port=8443

Nach erfolgreicher Anpassung der Parameter starten Sie den Dienst der ForumSuite bitte neu.

Verzeichnisdienste


Active Directory (SimpleBind)
CODE
# Konfiguration Active Directory:
application.ad.enabled=true oder false -- Pflichtangabe
application.ad.domain=Domainname -- Pflichtangabe
application.ad.url=Adresse des AD-Servers, z.B. ldap://ad-server.lan/ -- Pflichtangabe
application.ad.user.searchbase=Basis für Suche der Nutzer im AD, z.B. O=FIRMA (optional)
application.ad.user.searchfilter=Suchfilter für Nutzer, z.B. (&(objectClass=user)(sAMAccountName={1})) (optional, siehe Hinweis im Text)

Beim Active Directory (AD) handelt es sich um einen Verzeichnisdienst von Microsoft für Windows-Netzwerke. Das Active Directory ermöglicht es, die Struktur einer Organisation nachzubilden. Der erste Wert gibt ab, ob ein AD verbunden werden soll. Der Zweite definiert den Domainnamen und zum Schluss wird die Adresse des AD-Servers benötigt. 

(Info) Sofern Sie eine eigene Angabe für den Suchfilter (application.ad.user.searchfilter) vornehmen, wird der Platzhalter {0} durch den Nutzernamen mit AD-Domain (nutzter@domain) ersetzt, der Platzhalter {1} durch den reinen Nutzernamen, wie er in der Anmeldemaske eingegeben wird.

Anpassen der Import Mappings

Zur Vereinfachung der Arbeit mit der ForumSuite empfehlen wir den Import von Mitarbeiter-Daten aus dem Active Directory. Der Import wird über eine Datei gesteuert.

Im Installationsverzeichnis befindet sich der Ordner „config“. Öffnen Sie diesen und benennen Sie die Datei import_mapping_ad.json5.sample in import_mapping_ad.json5 um.

Bearbeiten Sie die Datei anschließend mit einem normalen Text-Editor.


Active Directory (ldaps - Server ist Mitglied der Domäne)

Anpassung der Datei start_suite

Anpassung der Datei start_suite.cmd im Programmverzeichnis der ForumSuite durch hinzufügen des Parameters -Djavax.net.ssl.trustStoreType=WINDOWS-ROOT 

start_suite.cmd

BASH
FOR %%f IN (FORUM_Suite_*.jar) DO java -Djavax.net.ssl.trustStoreType=WINDOWS-ROOT -Xmx4G -jar %%f

Anpassung der Datei application.properties

Anpassung der Datei application.properties im Verzeichnis conf des Programmverzeichnisses der ForumSuite durch Anpassung der Parameters application.ad.url.

conf\application.properties

TEXT
application.ad.url=ldaps://<server>.<domain>.<tld>:<port>

Die Angabe des Ports (Standard: 636) ist optional.

Nach der Anpassung der Werte ist der Neustart des ForumSuite Dienstes erforderlich.


LDAP Anbindung

Die Anbindung eines Lightweight Directory Access Protocol (LDAP) Dienstes stellt eine Alternative zur AD-Anbindung dar.

CODE
# Konfiguration LDAP:
application.ldap.enabled=true oder false -- Pflichtangabe
application.ldap.url=Adresse des LDAP-Servers, z.B. ldap://ldap-server.lan/ -- Pflichtangabe
application.ldap.username=Nutzername für LDAP-Zugriff (optional, nur wenn für den LDAP-Zugriff notwendig)
application.ldap.password=Kennwort für LDAP-Zugriff (optional, nur wenn für den LDAP-Zugriff notwendig)
application.ldap.user.searchbase=Basis für LDAP-Suche, z.B. O=FIRMA -- Pflichtangabe
application.ldap.user.searchfilter=Suchfilter für Nutzer, z.B. (|(cn={0})(mail={0})(displayName={0})) -- Pflichtangabe

Die Einträge searchbase und searchfilter sind abhängig von der Struktur Ihres LDAP-Verzeichnisses. Innerhalb des Eintrags searchfilter wird der Platzhalter {0} durch den Anmeldenamen ersetzt.

Werden beide Anbindungen (AD und LDAP) aktiviert, erfolgt für die Prüfung der Authentifizierung zuerst über das Active Directory und anschließend – sofern die Anmeldung per AD nicht erfolgreich war – über LDAP.

Falls Sie eine detailliertere Steuerung der Reihenfolge oder die Anbindung zusätzlicher AD/LDAP-Verzeichnisse benötigen, nutzen Sie bitte die im folgenden beschriebene erweiterte Konfiguration für die Verzeichnisdienste.

Einbindung weiterer Anmeldungsserver


weitere Authentifizierungsserver anbinden

Sofern erforderlich, können weitere Authentifizierung-Server können über die Konfigurationsdatei extra_auth_servers.json5 hinzugefügt werden.

Eine Authentifizierung der Benutzer wird dann in der Reihenfolge der Einträge in der Datei versucht.

  1. Umbenennen der Datei ./config/extra_auth_servers.json5.sample nach ./config/extra_auth_servers.json5 
  2. Anpassung des Inhaltes der Datei ./config/extra_auth_servers.json5

Aufgrund der sequentiellen Abarbeitung der Anmeldungsserver können Log-Meldungen zu fehlgeschlagenen Anmeldeversuchen auftreten, die in diesem Fall normal sind.


Zur Diagnose von Problemen bei der Anmeldung (sowohl AD als auch LDAP) können Sie folgende Einträge zu den application.properties hinzufügen:

CODE
logging.level.org.springframework.security=DEBUG
logging.level.org.springframework.security.web=INFO

Festlegung technische Administratoren

Einzelnutzer

Beispiel; technische Administratoren in Datei config\application.poperties

TEXT
application.adminusers=nutzer-01,nutzer-02,nutzer-03

An dieser Stelle legen Sie alle technischen Administratoren fest. Tragen Sie dazu alle Login-Kennungen derjenigen Nutzer aus Ihrem konfigurierten Verzeichnisdienst (siehe oben) ein, die mit dem entsprechenden Recht ausgestattet werden sollen. Trennen Sie mehrere Einträge mit Komma und fügen Sie keine zusätzlichen Leerzeichen ein.

Die technischen Administratoren haben zunächst keine Zugriffsberechtigung auf Inhalte der ForumSuite. Sie sind aber berechtigt, Mitarbeiter und Nutzer anzulegen sowie Zugriffsrechte zu erteilen.

Beispiel:  application.adminusers=anton.admin,siegbert.sicher

ActiveDirectory (AD) Gruppe (Version > 2022-12.1)

Es kann auch eine Active Directory (AD) Gruppe mit technischen Administratoren in der Datei application.properties hinterlegt werden.
Dies hat den Vorteil, das technische Administratoren an zentraler Stelle gepflegt werden können.

Beispiel; Gruppe mit technischen Administratoren in Datei config\application.properties

TEXT
#Beispiel AD Gruppen-Parameter für technische Administratoren in der Datei application.properties
#Hier wurde eine Gruppe App-ForumSuite-techAdmins im ActiveDirectory angelegt und Mitarbeitern zugeordnet.
application.admingroups=App-ForumSuite-techAdmins

Die hinterlegte Gruppe darf am jeweiligen Benutzer nicht als primäre Standardgruppe hinterlegt sein.


Kommunikation

Mailserver-Anbindung

Die ForumSuite selbst kann keine E-Mails verschicken und benötigt daher die Anbindung an einen SMTP-Mailserver, um Nutzer per E-Mail über Aufgaben und Termine zu benachrichtigen. 

CODE
# Konfiguration Mailserver:
spring.mail.host=Adresse des SMTP-Servers ohne Protokoll-Angabe, z.B. smtp-server.lan
spring.mail.port=Zielport, über den der SMTP-Server erreichbar ist, z.B. 25
spring.mail.username=Nutzername für Zugriff auf den SMTP-Server (optional, nur wenn für den Mailversand notwendig)
spring.mail.password=Kennwort für den Zugriff auf den SMTP-Server (optional, nur wenn für den Mailversand notwendig)
spring.mail.properties.mail.smtp.auth=true oder false — aktiviert/deaktiviert SMTP-Authentifizierung, Pflichtangabe
spring.mail.properties.mail.smtp.starttls.enable=true oder false — aktiviert/deaktiviert StartTLS Verschlüsselung, Pflichtangabe

In jedem Falle wird der Name der Mailserver und der zu nutzende SMTP-Port benötigt. Die weiteren Werte werden für eine ggf. erforderlich Authentifikation und Verschlüsselung benötigt.

Die ForumSuite ist ausschließlich für den Mailversand gedacht. Es können keine E-Mails empfangen werden.

Speicherort der Datenbank (optional)

CODE
application.database.file

Dieser Wert definiert den Speicherort der verwendeten Datenbank sowie des zugehörigen Volltext-Indexes. Normalerweise liegt dieser Ordner im Installationsverzeichnis – der Speicherort kann von Ihnen aber frei definiert werden, sofern dies erforderlich ist.

Für die Standardinstallation ist keine Anpassung notwendig.

Bitte achten Sie darauf, dass der Speicherort der Datenbank vom Server immer erreichbar ist und ausreichende Lese- und Schreibrechte existieren.

Verwenden Sie bei der Definition ausschließlich Forward-Slashes (/) zur Unterteilung der Pfade.


Standardwert:  application.database.file=database/lucene_suite

Beispiel:  application.database.file=//FILESERVER/FORUM-SUITE/database

Speicherort für Anhänge (optional)

CODE
application.uploads.path

Der Eintrag legt fest, wo die Software hochgeladene Anhänge ablegt. Standardmäßig liegt dieser Ordner im Installationsverzeichnis – der Speicherort kann von Ihnen aber frei definiert werden, sofern dies erforderlich ist.

Für die Standardinstallation ist keine Anpassung notwendig.

Bitte achten Sie darauf, dass das Verzeichnis vom Server immer erreichbar ist und ausreichende Lese- und Schreibrechte sowie genügend Speicherplatz vorhanden sind.

Verwenden Sie bei der Definition ausschließlich Forward-Slashes (/) zur Unterteilung der Pfade.


Standardwert:  application.uploads.path=uploads

Beispiel:  application.uploads.path= //FILESERVER/FORUM-SUITE/uploads

Interne Konfiguration (nur nach Aufforderung ändern)

Über die Einträge in diesem Bereich können weitere, interne Parameter der Software gesteuert werden.

Bitte ändern Sie Einträge aus dem Bereich Interne Konfiguration nur nach Aufforderung durch den Support. Ansonsten kann es zum Ausfall oder Fehlfunktionen der ForumSuite kommen.

Vielen Dank für Ihr Verständnis!

Datensicherung

Automatische Datensicherung

CODE
application.backup.path=//FILESERVER/FORUM-SUITE/backups

Dieser Wert definiert den Speicherort der zu erstellenden Backups. Normalerweise liegt dieser Ordner im Installationsverzeichnis – der Speicherort kann von Ihnen aber frei definiert werden, sofern dies erforderlich ist.

Manuelle Datensicherung

Um eine Datensicherung vorzunehmen, gehen Sie wie folgt vor:

  • beenden Sie die Anwendung (siehe „Beenden der Anwendung“ oben)
  • sichern Sie das gesamte Installationsverzeichnis über ein Backup-Programm Ihrer Wahl oder durch einfaches Kopieren der enthaltenen Dateien auf ein Sicherungsmedium.

Sollten Sie die Datenbank oder Anhänge an einer anderen Stelle außerhalb des Installationsverzeichnisses abgelegt haben, müssen diese Speicherorte natürlich ebenfalls gesichert werden (geänderte Konfigurationseinträge für application.database.file bzw. application.uploads.path, siehe oben).

Konfiguration Import AD Benutzer

Neben der lokalen Benutzerverwaltung bietet die ForumSuite die Möglichkeit des Benutzerimports. Für die Java Plattform steht hierfür eine Schnittstelle zum Active Directory bereit.

Voraussetzungen

  1. Der Active Directory Server muss vom ForumSuite Server erreichbar sein
  2. Der Zugriff auf das Active Directory ist zulässig, ggf. mittels seperaten technischen AD-Nutzer
  3. Es existiert eine Konfigurationsdatei zur Steuerung des Active Directory Import

Konfiguration ForumSuite

In der Konfigurationsdatei für die ForumSuite application.properties wird der Pfad zur Konfigurationsdatei für den Active Directory Import angegeben.
Der Dateiname ist prinzipiell frei wählbar.

Einbindung Import Mapping Datei

TEXT
application.ad.import.config.file=config/import_mapping_ad.json5

Konfiguration Active Directory Import

Allgemeiner lesender Zugriff auf das Active Directory

Der Zugriff benötigt einen Domainbenutzer, dessen Passwort und eine Beschreibung, wo im Active Directory die zu importierenden Nutzer zu finden sind.
Verwenden Sie vorzugsweise einen technischen Benutzer, dessen Passwort sich nicht ändert.

Konfiguration Import von Mitarbeitern aus dem AD

TEXT
config: {
user: 'reader@ad.domain.lan',

// Das Passwort muss aus technischen Gründen im Klartext vorliegen.
password: 'xxxx',

// ab wo soll gesucht werden?
searchbase: 'OU=Nutzer,OU=Firma,DC=ad,DC=domain,DC=lan',
// Domäne hier im Beispiel: ad.domain.lan
// bei Zuordnung bitte auf Typ OU-Container oder CN-Container achten!!!
// Ordner entsprechend mit Unterordnern angeben z.B. Firma mit einem Unterordner Nutzer

// Welche Objekt sollen importiert werden
// Im Beispiel: alle Objekte vom Typ person und deren Account nicht deaktiviert ist
filter: '(&(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))'
}

Mapping der Daten Active Directory > ForumSuite - Mitarbeiter

TEXT
// Mapping der Felder:
// Aufbau: <FeldName FORUM Mitarbeiter-Objekt> : { adId: <Attribut in AD> }
fieldmap: {
    extid: {
      // Eindeutige, idealerweise unveränderliche ID zur eindeutigen Identifikation des Mitarbeiters.
      // (Diese sollte auch nach Namensänderungen erhalten bleiben.)
      adId: 'sAMAccountName',
      isPrimaryId: true,
      isCaseInsensitive: true
    },
    kennung: {
      // Login-Kennung des Mitarbeiters bei Authentifizierung über das Active Directory (normalweise 'sAMAccountName'):
      adId: 'sAMAccountName'
    },
    // Persönliche Daten (sofern kein Import erwünscht, bitte Flag 'skip' für den Eintrag auf 'true' setzen):
    nachname: {
      adId: 'sn'
    },
    vorname: {
      adId: 'givenName'
    },
    titel: {
      adId: 'personalTitle'
    },
    email: {
      adId: 'mail'
    },
    telefon: {
      adId: 'telephoneNumber'
    },
    mobiltelefon: {
      adId: 'mobile',
      skipImport: true
    },
    telefonprivat: {
      adId: 'homePhone',
      skipImport: true
    }
  }

Sofern kein Import erwünscht, bitte Flag 'skipImport' für den Eintrag auf 'true' setzen.

Paging der Active Directory Daten

TEXT
// Anzahl der pro Aufruf zu lesenden Datensätze (Paging).
// Hierdurch kann ein serverseitig vorhandes Limit umgegangen werden.
// (Standardwert: 1000 / ein Wert kleiner 1 deaktiviert die Paging-Funktion und verarbeitet nur
// die vom Server gelieferten - ggf. unvollständigen - Resultate)
pagesize: 1000

Das Paging ist nur in Fällen, mit sehr vielen AD Nutzern notwendig.

Optionale Funktionen

Authentifizierung von Benutzern ohne Verzeichnis (Active Directory oder LDAP)

Aktivierung der Authentifizierung über die integrierte Benutzerverwaltung

Dieser Artikel betrifft ausschließlich die Java Plattform.

Der Einsatz der in die ForumSuite integrierten Benutzerverwaltung zur Authentifizierung von Nutzern wird nicht für den produktiven Betrieb empfohlen. Nutzen Sie nach Möglichkeit die Anbindung an ein Active Directory oder LDAP-Verzeichnis.

Eine weitere Möglichkeit für die Einrichtung von Benutzern außerhalb des zentralen Verzeichnisdienstes ist die Anlage und Passwortvergabe innerhalb der ForumSuite. Die Passworte werden in diesem Fall verschlüsselt in der Datenbank der ForumSuite abgelegt.

  1. Anpassung der Datei conf\application.propierties durch Modifikation/Hinzufügen des Parameters application.auth.user.suite.enabled.

    conf\application.properties

    BASH
    application.auth.user.suite.enabled=true

    Neustart des ForumSuite Dienstes nach Anpassung erforderlich.

  2. Deaktivierung des AD/LDAP Importes

    Abbildung: Deaktivierung AD/LDAP Sync
  3. Anlegen eines Mitarbeiters in der Mitarbeiterverwaltung.

    Abbildung: Weg zur Mitarbeiterverwlatung

    Abbildung: neu angelegter Mitarbeiter

    Mit den im Feld Login-Kennung hinterlegten Daten meldet sich der Benutzer dann an.

  4. Initiales Vergabe eines Passwortes durch den Administrator in der Benutzerverwaltung.

    Abbildung:; Aufruf Nutzer in der Benutzerverwaltung

    Abbildung: Eingabemöglichkeit Initialkennwort

    Nach speichern des Nutzerdokumentes kann sich der manuell angelegte Mitarbeiter mit der Login-Kennung und dem Passwort anmelden und über den oben beschriebenen Weg ein eigenes Kennwort vergeben.

  5. Falls der AD/LDAP Import vor der Anlage aktiv war, muss nun die Schnittstelle wieder aktiviert werden.

Single-Sign-On über Kerberos (SSO)

Zur Konfiguration eines Single-Sign-Ons mittels Kerberos beachten Sie bitte die nachfolgende Anleitung:

Einrichtung Kerberos SSO...

Einleitung

Zur Aktivierung des SingleSignOn (SSO) über Kerberos muss die Funktionalität im Active Directory (AD) des Unternehmens aktiviert und konfiguriert werden.
Darüber hinaus müssen Anpassungen in den Einstellungen der ForumSuite sowie ggf. für den auf dem Windows Desktop des Anwenders verwendeten Browsers vorgenommen werden.

Anpassung am Active Directory

Sämtliche nachfolgende Angaben zu Benutzern, Passworten, Servern und Domains müssen auf die für ihr Unternehmen gültigen Werte angepasst werden.

Registrieren des Dienstprinzipalnamens (SPN)

POWERSHELL
#Am AD Server auszuführen. 
#In der Befehlszeile den Server auf welchem die ForumSuite gehostet wird hinterlegen. 
#Die Angabe des Ports ist optional (falls abweichend von Standard HTTP Port). Notation: HTTP/server.domain.lan:<Port>

PS C:\>setspn -A HTTP/server.domain.lan Benutzer

Generierung KeyTab Datei

POWERSHELL
PS C:\>ktpass /out c:\fsuite.keytab /mapuser Benutzer@domain.lan /princ HTTP/server.domain.lan@DOMAIN.LAN /pass 'Password' /ptype KRB5_NT_PRINCIPAL /crypto All

Die erzeugte Datei im Ordner config der ForumSuite ablegen und den Pfad im Parameter application.kerberos.keytab-location hinterlegen (siehe nächster Abschnitt).

Notwendige Parameter in der Datei application.properties der ForumSuite

ParameterDefaultwertBedeutungBeispiel
application.kerberos.enabledfalseKerberos SSO aktiv?application.kerberos.enabled=true
application.kerberos.service-principal(leer)ServicePrincipalNameapplication.kerberos.service-principal=HTTP/server.domain.lan@DOMAIN.LAN
application.kerberos.keytab-location(leer)

Pfad zur Keytab-Datei des Services

(Info) Bei relativen Angaben muss das Verzeichnis z.B. "config/" mit angegeben werden.

application.kerberos.keytab-location=config/fsuite.keytab
application.kerberos.remove-domainfalse

AD-Domain aus Login-Kennung entfernen?

Falls ein "@" in der Kennung enthalten ist, werden als Nutzername nur die Zeichen davor behalten.
Über diesen Nutzernamen erfolgt dann das Mapping auf "user" in der ForumSuite.

Beispiel: Bei aktivierter Einstellung wird die Kennung "ad-benutzer@DOMAIN.LAN" zu "ad-benutzer".

application.kerberos.remove-domain=true

application.kerberos.debugfalseDebug-Modus aktiv?application.kerberos.debug=true

Anpassung Browser

Zur Nutzung von Kerberos SSO müssen – sofern noch nicht erfolgt – Anpassungen der auf den Windows Desktop des Anwenders genutzten Browser vorgenommen werden.

Firefox Browser

Die nachfolgende Einstellung existiert nur für Windows! Unter MacOS und Linux ist die Einstellungsmöglichkeit für SSPI nicht vorhanden.

Abbildung: Trusted URL's
Chrome, Internet Explorer

Fügen Sie die Domäne zum lokalen Intranet hinzu.

Abbildung: Einstellungen für IE und Chrome

OAuth Microsoft Entra

Anwendung registrieren

01 - neu Anwendung registrieren

Abbildung: 01 - Anwendung registrieren
grafik-20240419-100409.png
grafik-20240419-100612.png
grafik-20240419-100912.png
Abbildung: 02 - Schlüssel erzeugen
grafik-20240419-101647.png

03 - URL's anpassen

Abbildung: 03 - URL's anpassen

Parameter config\application.properties

YAML
# Konfiguration Microsoft Entra ID Login (ehemals Azure Active Directory):
# - Pflichtangaben:
application.entra.enabled=true
# Entra ID Tenant-ID:
# https://learn.microsoft.com/de-de/entra/fundamentals/how-to-find-tenant
application.entra.tenant.id=
# Name der Entra ID Anwendung:
application.entra.app.name=
# Client-ID der Entra ID Anwendung:
application.entra.client.id=
# Client Secret der Entra ID Anwendung:
application.entra.client.secret=
# - optionale Parameter:
# Steuerung Entra ID Logout-Verhalten:
application.entra.logout.enabled=false

grafik-20240419-103819.png

Abbildung: Paramterzuordnung

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.