Zum Hauptinhalt springen
Hilfecenter

Weitere Server-Konfigurationen

Ergänzende Konfigurationen für die On-Premises-Installation: LDAP-Anmeldung anbinden, PDF-Verarbeitungsdienst (JOD-Server) einrichten, SSL-Zertifikat in den Java-Truststore importieren, OAuth 2.0 für Microsoft-365-Mailkonten und Tomcat 9 manuell unter Debian 12 installieren.

Voraussetzungen

  • Eine laufende teamspace-Installation
  • Administrationsrechte auf dem Server
  • Für die LDAP-Anmeldung: Zugriff auf den LDAP-/Active-Directory-Server
  • Für den PDF-Verarbeitungsdienst: die Datei jod-server.jar – auf Anfrage über teamspace-classic

Dieser Artikel bündelt ergänzende Server-Konfigurationen, die je nach Umgebung benötigt werden. Jeder Abschnitt steht für sich – richte nur ein, was du tatsächlich nutzt:

LDAP-Anmeldung anbinden

Du kannst die Anmeldung an teamspace/projectfacts über einen LDAP-Server (z. B. Active Directory) abwickeln. Dazu ermittelst du die nötigen DNs, passt die web.xml an und setzt die Parameter.

LDAP über SSL: Verwendest du eine verschlüsselte LDAP-Verbindung, muss das LDAP-Zertifikat zuvor in den Java-Truststore importiert werden. Das beschreibt der Abschnitt SSL-Zertifikat in den Java-Truststore importieren weiter unten.

DNs und Hostnamen ermitteln

Verbinde dich auf den LDAP-Server und ermittle die Werte über die CMD:

  • User Base DN: dsquery user -name <verwendeter Benutzername>
  • Group Base DN: dsquery group -name <Gruppenname>
  • LDAP-Hostname: set L

web.xml anpassen

In der web.xml ist die LDAP-Anbindung auskommentiert. Kommentiere den Block ein und passe die markierten Bereiche an. Ist der Block nicht vorhanden, füge ihn ein.

LDAP-Block in der web.xml mit den anzupassenden Parametern wie ldap.host, ldap.userBaseDN und ldap.groupDN
Der LDAP-Block in der web.xml – die hervorgehobenen Bereiche anpassen

Parameter-Erklärung für LDAP

BezeichnungBeschreibung
app.authMethodKann auf „basic” gesetzt werden, wenn man „Basic Authentication” statt eines Formulars für den Login verwenden möchte.
app.authBackendFür die LDAP-Anbindung muss hier „ldap” eingetragen werden.
app.defaultMandantDie ID des Mandanten.
ldap.hostVollständige URL zum LDAP-Server (z. B. ldap://127.0.0.1:389).
ldap.authMethod„none”, „simple” oder eine sasl_mech-Liste (siehe Oracle-JNDI-Dokumentation).
ldap.allowOfflineLoginWie lange man sich nach dem letzten erfolgreichen LDAP-Login noch einloggen darf, wenn der LDAP nicht erreichbar ist (Wert in Stunden).
ldap.userBaseDNDer DN, in dem nach Benutzern gesucht wird.
ldap.groupDNDN der Gruppe, zu der ein Benutzer gehören muss, um sich einloggen zu dürfen.
ldap.principalPatternBestimmt, ob und wie der „rohe” Loginname zu einem Principal umformatiert wird (z. B. {0}@5p).
ldap.userUIDAttribut, das den Benutzer eindeutig identifiziert (der Loginname). Beim AD i. d. R. sAMAccountName.
ldap.userGUIDAttribut, das den Benutzer global eindeutig identifiziert und auch beim Umbenennen/Verschieben gleich bleibt. Beim AD die objectGUID.
ldap.userSearchSuchfilter, um einen Benutzer zu finden. Platzhalter für den Benutzernamen ist {0}.
ldap.searchUserDNDer DN eines Benutzers, der im LDAP nach Benutzern suchen darf.
ldap.searchUserPwPasswort für den Such-Benutzer.

LDAP-Benutzer zuweisen

Ordne im teamspace-Mandanten die LDAP-Benutzer den teamspace-Benutzern zu:

Dialog zum Zuweisen von LDAP-Benutzern zu teamspace-Benutzern
LDAP-Benutzer den teamspace-Benutzern zuweisen

PDF-Verarbeitungsdienst einrichten

Der PDF-Verarbeitungsdienst (JOD-Server) ist ein Hilfsdienst, der Word-Dokumente in PDFs umwandelt und das Zusammenfassen verschiedener Dokumentenarten in ein PDF ermöglicht. Du kannst ihn auf demselben Server betreiben, auf dem projectfacts/teamspace läuft.

Für die PDF-Funktion benötigst du die Datei jod-server.jar. Wir stellen sie dir auf Anfrage zur Verfügung. Nutzt du den Dienst nicht, sind in der web.xml keine Anpassungen nötig.

PDF-Verarbeitungsdienst unter Linux

  1. Installiere LibreOffice:
    apt install libreoffice
  2. Kopiere die jod-server.jar nach /opt/jod-server/.
  3. Erstelle /opt/jod-server/config.properties:
    port=3902
    threads=2
    whitelist=*
    port ist frei wählbar. Um eine IP-Adresse freizugeben, gib sie unter whitelist als RegEx an.
  4. Lege Benutzer und Gruppe an:
    groupadd -r jod
    useradd -r -s /bin/false -g jod jod
    chown jod: /opt/jod-server
  5. Erstelle /etc/systemd/system/jod.service:
    [Unit]
    Description=JOD-Server
    
    [Service]
    WorkingDirectory=/opt/jod-server
    ExecStart=/bin/java -jar jod-server.jar
    User=jod
    Type=simple
    Restart=on-failure
    RestartSec=15
    
    [Install]
    WantedBy=multi-user.target
  6. Aktiviere den Dienst:
    systemctl daemon-reload
    systemctl enable jod.service
  7. Ergänze in der web.xml von projectfacts den Eintrag (oder passe ihn an):
    <context-param>
       <param-name>pdfConvertService.url</param-name>
       <param-value>127.0.0.1:3902</param-value>
    </context-param>

PDF-Verarbeitungsdienst unter Windows

  1. Lege unter C:\projectfacts\ den Ordner jod-server an (C:\projectfacts\jod-server) und kopiere die jod-server.jar hinein.
  2. Erstelle die Datei jod-server-start.bat:
    java -Dserver.port=3902 -jar jod-server.jar
  3. Lege eine Aufgabenplanung an, damit die Batch-Datei nach dem Serverstart automatisch ausgeführt wird.
  4. Ergänze in der web.xml den pdfConvertService.url-Eintrag (siehe Linux-Schritt 7).

SSL-Zertifikat in den Java-Truststore importieren

In einigen Fällen muss ein SSL-Zertifikat in den Java-Truststore importiert werden – etwa bei einer LDAP-SSL-Verbindung (siehe LDAP-Anmeldung anbinden). Ohne das Zertifikat ist die verschlüsselte Verbindung nicht möglich.

Der Standard-Keystore liegt im Java-Verzeichnis unter:

  • Linux: /lib/security/cacerts
  • Linux (alternativ): /usr/lib/jvm/java-17-openjdk-amd64/lib/security/cacerts
  • Windows: C:\Program Files\Java\jre1.8.0_221\lib\security\cacerts

Das Passwort für den Standard-Keystore lautet changeit.

Zertifikate auflisten:

keytool -list -keystore cacerts

Zertifikat importieren:

keytool -keystore cacerts -importcert -alias [name eingeben] -file [name eingeben].cer

Bestätige die Rückfrage, ob du dem Zertifikat vertraust, mit Ja.

Alternativ kannst du den Truststore mit dem Tool Portecle (Homepage, Download) grafisch bearbeiten, importieren und exportieren. Das Vorgehen unter Windows ist gleich – nur die Pfade unterscheiden sich.

OAuth 2.0 Login – Microsoft-365-Mailkonten

Damit OAuth 2.0 für Microsoft-365-Mailkonten genutzt werden kann, muss deine URL in unsere Whitelist eingetragen werden. Teile uns dazu deine URL mit. Die zugehörige oauth2Gateway.url wird in der web.xml gesetzt (bei projectfacts https://www.projectfacts.de, bei teamspace https://www.teamspace.de).

Bei Fragen oder Unterstützung wende dich an support@projectfacts.de.

Tomcat 9 manuell unter Debian 12 installieren

Unter Debian 12 wird aus dem Repository kein Tomcat 9 bereitgestellt. Wird Tomcat 9 benötigt, installiere ihn manuell.

Java 17 installieren

Falls noch nicht vorhanden:

apt update && apt install openjdk-17-headless

Installation prüfen:

java -version

Benutzer und Gruppe anlegen

groupadd tomcat9 && useradd -s /bin/false -g tomcat9 -d /opt/tomcat tomcat9

Tomcat 9 herunterladen und entpacken

Lade die gewünschte Version von der offiziellen Archivseite herunter:

cd /tmp && wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.98/bin/apache-tomcat-9.0.98.tar.gz
mkdir /opt/tomcat && tar xzvf apache-tomcat-*.tar.gz -C /opt/tomcat

Berechtigungen anpassen

cd /opt/tomcat && chown -R tomcat9:tomcat9 /opt/tomcat/apache-tomcat-9.0.98
ln -s /opt/tomcat/apache-tomcat-9.0.98 /opt/tomcat/live

systemd-Datei anlegen

JAVA_HOME-Pfad herausfinden:

update-java-alternatives -l

Lege die Datei /etc/systemd/system/tomcat.service an und passe den JAVA_HOME-Pfad an:

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/default-java
Environment=CATALINA_PID=/opt/tomcat/live/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat/live
Environment=CATALINA_BASE=/opt/tomcat/live
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

User=tomcat9
Group=tomcat9
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target
  • JAVA_HOME: den ermittelten Java-Pfad eintragen.
  • CATALINA_OPTS: hier den RAM-Bedarf anpassen.

Daemon neu laden, Tomcat aktivieren und Status prüfen:

systemctl daemon-reload && systemctl enable --now tomcat && systemctl status tomcat

Der Tomcat 9 ist nun installiert und liegt unter /opt/tomcat.

Häufige Probleme

Warum kommt die verschlüsselte LDAP-Verbindung (LDAP über SSL) nicht zustande? Ohne das LDAP-Zertifikat im Java-Truststore schlägt die verschlüsselte Verbindung fehl. Importiere es zuerst – das beschreibt „SSL-Zertifikat in den Java-Truststore importieren” weiter oben.

Warum dürfen sich Benutzer einer Gruppe nicht einloggen? Über ldap.groupDN legst du fest, welcher Gruppe ein Benutzer angehören muss, um sich anmelden zu dürfen. Prüfe, ob der DN stimmt und der Benutzer Mitglied ist.

Warum wird ein Benutzer nicht gefunden? Such-Basis und Suchfilter müssen passen: ldap.userBaseDN bestimmt, wo gesucht wird, ldap.userSearch den Filter (Platzhalter {0}), ldap.userUID das identifizierende Attribut (beim AD i. d. R. sAMAccountName).

Warum werden Word-Dokumente nicht in PDF umgewandelt? Ohne laufenden JOD-Server fehlt die Umwandlung. Richte den Dienst ein und trage pdfConvertService.url in der web.xml ein (z. B. 127.0.0.1:3902). Ist der Wert leer, ist die Funktion aus.

Warum startet der PDF-Verarbeitungsdienst nach einem Server-Neustart nicht von selbst? Unter Linux aktivierst du ihn mit systemctl enable jod.service, unter Windows legst du eine Aufgabenplanung für die jod-server-start.bat an.

Warum greift der konfigurierte Port des PDF-Verarbeitungsdienstes nicht? Port aus config.properties (Linux) bzw. der .bat (Windows) und der Wert in pdfConvertService.url der web.xml müssen übereinstimmen.

Welches Passwort hat der Java-Standard-Keystore? Das Standard-Passwort für den Keystore (cacerts) lautet changeit. Damit listest, importierst und exportierst du Zertifikate über keytool.

Warum gibt es unter Debian 12 keinen Tomcat 9 aus dem Repository? Debian 12 stellt nur Tomcat 10 bereit. Brauchst du Tomcat 9, installiere ihn manuell (siehe „Tomcat 9 manuell unter Debian 12 installieren” weiter oben).

Typische Fragen & Anforderungen

Du möchtest …So geht’s
Login per Formular durch Basic Auth ersetzenapp.authMethod auf „basic” setzen.
Anmeldung soll auch bei LDAP-Ausfall kurz funktionierenldap.allowOfflineLogin (in Stunden) setzen.
Nur Mitglieder einer bestimmten Gruppe zulassenDie Gruppe über ldap.groupDN festlegen.
LDAP über SSL verbindenZuvor das Zertifikat in den Java-Truststore importieren (siehe SSL-Zertifikat in den Java-Truststore importieren).
Word-Dokumente als PDF erzeugenDen JOD-Server einrichten und pdfConvertService.url in der web.xml setzen.
Einen anderen Port für den PDF-Dienst verwendenIn config.properties (Linux) bzw. der .bat (Windows) den Port ändern und in der web.xml angleichen.
Den PDF-Dienst nach Serverstart automatisch startenLinux: systemctl enable jod.service. Windows: Aufgabenplanung für die .bat.

Verwandte Themen