Sonstige Konfigurationen

Tomcat/Java SSL Zertifikat Importieren #

In einigen Fällen ist es notwendig, ein SSL-Zertifikat im Java Truststore zu importieren.

Anwendungsbeispiel: Sie möchten die Applikation mit LDAP verbinden und verwenden eine LDAP-SSL-Verbindung. Eine verschlüsselte Verbindung ist ohne ein SSL-Zertifikat nicht möglich. Für diesen Vorgang muss das SSL-Zertifikat in den default Truststore von Java importiert werden.

Der default Keystore befindet sich im Java-Verzeichnis unter:
Linux: /lib/security/cacerts
Linux alternativ-Pfad: /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 default Keystore lautet: changeit

Um die Liste der Zertifikate anzuzeigen, geben Sie folgenden Befehl ein:
keytool -list -keystore cacerts

Zur Importierung des Zertifikats müssen Sie den folgenden Befehl eingeben:

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

Sie werden gefragt, ob sie dem Zertifikat vertrauen möchten. Dies bestätigen Sie hier mit Ja.

Die Zertifikate des Trust Stores können mit einem Tool bearbeitet, importiert und exportiert werden:
Homepage: http://portecle.sourceforge.net/
HowTo: http://portecle.sourceforge.net/howtos.html
Download: https://sourceforge.net/projects/portecle/

Hinweis: Das Vorgehen unter Windows ist gleich. Nur die Pfade unterscheiden sich!

projectfacts updaten / aktualisieren #

Zur Installation der aktuellen Updateversion ist ein teamspace-classic Account erforderlich.

Falls Sie noch keinen teamspace-classic Account haben, melden Sie sich bitte bei uns, damit wir Ihnen einen Account einrichten können.

Wenn Sie sich in teamspace-classic angemeldet haben, klicken Sie auf »Dateien – aktuelle Version«, um die aktuelle Version von projectfacts herunterzuladen.

Beachten Sie bitte auch die »Pinnwand«. Dort sind Informationen hinterlegt, falls Sie einen größeren Versionssprung vornehmen möchten. Es ist möglich, dass kleine Anpassungen vor einem Update vorgenommen werden müssen.

Linux #

1. Kopieren Sie das aktuelle Update in das Verzeichnis /srv/projectfacts.

2. Stoppen Sie den Tomcat-Server. Überprüfen Sie, ob der Tomcat gestoppt wurde.

3. Beachten Sie die Hinweise auf der Pinnwand und die Update-Hinweise.

4. Führen Sie das deploy-script mit folgendem Befehl aus: ./deploy-war.sh

5. Nachdem das Skript ausgeführt wurde, starten Sie den Tomcat-Server. Es kann einen Moment dauern, bis das System wieder erreichbar ist.

6. Wenn das System wieder erreichbar ist, melden Sie sich bitte an. Klicken Sie auf die Schaltfläche »(i)« in der Sidebar, um die Versionsnummer zu überprüfen.

Windows #

1. Kopieren Sie das aktuelle Update in das Verzeichnis »C:\projectfacts«.

2. Stoppen Sie den Tomcat-Server. Überprüfen Sie, ob der Tomcat gestoppt wurde.

3. Beachten Sie die Hinweise auf der Pinnwand und die Update-Hinweise.

4. Führen Sie das deploy-Script mit den Administratorrechten aus.  Überprüfen Sie zuerst die Pfade im Deploy-Script.

5. Nachdem das Skript ausgeführt wurde, starten Sie den Tomcat-Server. Es kann einen Moment dauern, bis das System wieder erreichbar ist.

6. Wenn das System wieder erreichbar ist, melden Sie sich bitte an. Klicken Sie auf die Schaltfläche »(i)« in der Sidebar, um die Versionsnummer zu überprüfen.

Hinweis: Falls Sie einen großen Versionssprung haben, wenden Sie sich bitte an uns.

Update Benachrichtigung für neue Version #

Für die Benachrichtigung über neue Updates für projectfacts ist ein teamspace-classic Account erforderlich. Wenn Sie keinen teamspace-classic Account haben, melden Sie sich bitte bei uns. 

  1. Nachdem Sie sich in Teamspace-classic eingeloggt haben, klicken Sie auf »Dateien«.
  2. Klicken Sie auf den Ordner »Aktuelle Version« (Rechtsauswahlbox)
  3. Klicken Sie nun auf das Dropdown-Menü und wählen Sie »Beobachten« und klicken Sie auf »Aktion«.
  4. Klicken Sie auf die Schaltfläche »Übersicht« und wählen Sie auf der linken Seite »Übersicht anpassen«.
  5. Wählen Sie im »Änderungsbericht« das »Versendeintervall« aus und klicken Sie auf »Speichern«.

Sobald sich eine neue Version im Ordner »Aktuelle Version« befindet, erhalten Sie eine E-Mail.

OAuth 2.0 Login - Microsoft 365 Mail Konten #

Bitte teilen Sie uns Ihre URL mit, damit wir sie in die »Whitelist« einfügen können, um das OAuth zu verwenden.

Sollten Sie Fragen haben oder Unterstützung bei der Anpassung benötigen, zögern Sie nicht, uns unter support@projectfacts.de zu kontaktieren.

PDF-Verarbeitungsdienst #

Linux #

Ein Hilfsdienst, der Word-Dokumente in PDFs umwandeln kann und das Zusammenfassen verschiedener Dokumentenarten in ein PDF ermöglicht.

Um die PDF-Funktion nutzen zu können, benötigen Sie die jod-server.jar Datei. Wir stellen Ihnen diese auf Anfrage zur Verfügung.

1. apt install libreoffice
2. jod-server.jar nach /opt/jod-server/ kopieren
3. /opt/jod-server/config.properties erstellen, mit folgendem Inhalt:

				
					port=3902 (Hier kann ein beliebiger Port angegeben werden.)
threads=2
whitelist=* (Um die IP-Adresse zu erlauben muss diese in RegEx angegeben werden)

				
			

4. Benutzer und Gruppe anlegen:

				
					groupadd -r jod
useradd -r -s /bin/false -g jod jod
chown jod: /opt/jod-server
				
			

5. /etc/systemd/system/jod.service erstellen mit folgendem Inhalt:

				
					[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. systemctl daemon-reload
7. systemctl enable jod.service
8. web.xml von projectfacts anpassen oder Eintrag hinzufügen, falls diese nicht vorhanden ist:

				
					<context-param>
  <param-name>pdfConvertService.url</param-name>
  <param-value>127.0.0.1:3902</param-value>
</context-param>

				
			

Windows #

Ein Hilfsdienst, der Word-Dokumente in PDFs umwandeln kann und das Zusammenfassen verschiedener Dokumentenarten in ein PDF ermöglicht.

Um die PDF-Funktion nutzen zu können, benötigen Sie die jod-server.jar Datei. Wir stellen Ihnen diese auf Anfrage zur Verfügung.

Legen Sie unter C:\projectfacts\ den Ordner jod-server an (C:\projectfacts\jod-server).

Erstellen Sie eine Datei mit dem Namen jod-server-start.bat und fügen Sie folgenden Inhalt hinzu:

				
					java -Dserver.port=3902 -jar jod-server.jar
				
			

Legen Sie eine Aufgabenplanung an, damit die Batch Datei nach dem Starten des Servers automatisch gestartet wird.

LDAP-Verbindung einrichten #

Wenn Sie projectfacts mit LDAP verbinden möchten wird Ihnen hier Schritt für Schritt erklärt wie Sie die LDAP-Anbindung einrichten können.

ldap.userBaseDN & ldap.groupDN ermitteln
Um die beiden oben genannten Pfade zu ermitteln verbinden Sie sich auf dem LDAP Server.

Um die User BASE DN zu ermitteln geben Sie in der CMD folgenden Befehl ein:
dsquery user -name <username being used>

Um die Group Base DN zu ermitteln geben Sie in der CMD folgenden Befehl ein:
dsquery group -name <group name>

Um den LDAP Server Hostname zu ermitteln geben Sie in der CMD folgenden Befehl ein:
set L

Anpassung an der web.xml für LDAP
In der web.xml ist die LDAP-Anbindung auskommentiert. Kommentieren Sie diese ein und Passen Sie die grün markierten Bereiche an. Sollte der Block nicht vorhanden sein können Sie diesen hier einfach in die web.xml einfügen:

Parameter Erklärung für LDAP #

BezeichnungBeschreibung
app.authMethodKann auf „basic“ gesetzt werden wenn man „Basic Authentication“ anstatt eines Formulars für den Login in projectfacts 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.authMethodKann entweder „none“, „simple“ oder eine sasl_mech-Liste sein (siehe http://docs.oracle.com/javase/tutorial/jndi/ldap/authentication.html)
ldap.allowOfflineLoginWie lange, nach dem letzten erfolgreichen LDAP Login, darf man sich in pf einloggen, wenn der LDAP nicht erreichbar ist (Wert in Stunden).
ldap.userBaseDNDer DN in dem wir nach Benutzern suchen
ldap.groupDNDN der Gruppe, zu der ein Benutzer gehören muss, damit er sich einloggen darf.
ldap.principalPattern

Bei einem AD kann man auf 11 verschiedene Weisen seinen „Benutzernamen“ eingeben. Hier kann man bestimmen ob und wie der „rohe“ Loginname zu einem Principal

umformatiert wird (z.B. „{0}@5p“)

ldap.userUID

Attribut eines Benutzers, welches ihn eindeutig identifiziert (der Loginname). Beim AD ist

das idR. „sAMAccountName“.

ldap.userGUID

Attribut eines Benutzers, welches ihn global eindeutig identifiziert. Dieses Attribut muss auch beim Umbenennen oder Verschieben eines Benutzer gleich bleiben. Beim AD ist das

die GUID bzw. objectGUID.

ldap.userSearchEin Suchfilter um einen Benutzer zu finden. Syntax siehe http://docs.oracle.com/javase/tutorial/jndi/ops/filter.html. Als Platzhalter für den Benutzernamen verwenden wir {0}
ldap.searchUserDNDer DN eines Benutzers der im LDAP nach Benutzern suchen darf
ldap.searchUserPwPasswort für den Such-Benutzer

LDAP Benutzer Zuweisen #

Tomcat 9 Installation unter Debian 12 #

Aufgrund der Verwendung des Tomcat 9 und der Tatsache, dass unter Debian 12 kein Tomcat 9 verfügbar ist, muss der Tomcat 9 manuell installiert werden.

Java 17 Installieren #

Wenn Sie bereits Java 17 (OpenJDK17) installiert haben, können Sie den Punkt überspringen.

				
					sudo apt update && apt install openjdk-17-headless
				
			

Java installation Prüfen

				
					Java -version
openjdk version "17.0.7" 2023-04-18
OpenJDK Runtime Environment (build 17.0.7+7-Debian-1deb12u1)
OpenJDK 64-Bit Server VM (build 17.0.7+7-Debian-1deb12u1, mixed mode, sharing)

				
			

Tomcat Benutzer und Gruppen anlegen #

Legen Sie Tomcat Benutzer und Gruppe an:

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

Download von Tomcat 9 und entpacken #

Gehen Sie auf die offizielle Website von Tomcat, um den aktuellen Tomcat 9 herunterzuladen.

Offizielle Downloadseite: https://archive.apache.org/dist/tomcat/

				
					cd /tmp && wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.80/bin/apache-tomcat-9.0.80.tar.gz
				
			

Tomcat unter /opt/tomcat entpacken:

				
					sudo mkdir /opt/tomcat && sudo tar xzvf apache-tomcat-*.tar.gz -C /opt/tomcat –strip-components=1
				
			

Berechtigung anpassen #

				
					cd /opt/tomcat && sudo chgrp -R tomcat9 /opt/tomcat && sudo chmod -R g+r conf && sudo chmod g+x conf && sudo chown -R tomcat9 webapps/ work/ temp/ logs/
				
			

Anlegen der Tomcat Systemd Datei #

JAVA_HOME Pfad herausfinden:

				
					sudo update-java-alternatives -l
java-1.17.0-openjdk-amd64   1711  /usr/lib/jvm/java-1.17.0-openjdk-amd64

				
			

Die tomcat.service Datei anlegen und passen Sie den JAVA_HOME Pfad an:

				
					vim /etc/systemd/system/tomcat.service
				
			
				
					[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/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -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
				
			
Hinweis:
JAVA_HOME: Hier können Sie den jeweiligen Java-Homepfad anpassen.
CATALINA_OPTS: Hier den RAM bedarf anpassen.

Den Daemon neustarten und Tomcat in den Autostart konfigurieren:

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

				
			

Der Tomcat 9 ist installiert und befindet sich unter /opt/tomcat