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.
- 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.
Installation
Für den Betrieb der ForumSuite Version > 2023-07.1 wird eine Java Runtime Java 17 vorausgesetzt.
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
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
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
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.
#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
#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
openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes
Zertifikat extrahieren aus PFX
openssl pkcs12 -in certname.pfx -nokeys -out cert.pem
Passwort vom Schlüssel entfernen
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
#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
Einbindung weiterer Anmeldungsserver
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:
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
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
#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.
# 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)
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)
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
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
- Der Active Directory Server muss vom ForumSuite Server erreichbar sein
- Der Zugriff auf das Active Directory ist zulässig, ggf. mittels seperaten technischen AD-Nutzer
- 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
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
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
// 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
// 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)
Single-Sign-On über Kerberos (SSO)
Zur Konfiguration eines Single-Sign-Ons mittels Kerberos beachten Sie bitte die nachfolgende Anleitung:
OAuth Microsoft Entra
Anwendung registrieren
Parameter config\application.properties
# 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