Nach dem Durcharbeiten des Kapitels "Installation von benötigter Drittanbieter-Software" sind die entsprechenden Server-Dienste bereits lauffähig. In diesem Kapitel erfahren Sie, welche Anpassungen an den Standardeinstellungen dieser Dienste Sie vornehmen müssen, um anschließend die PPP-Webanwendung innerhalb dieser Infrastruktur installieren zu können.
MariaDB
Damit das Zusammenspiel von PPP und dem MariaDB-Server funktioniert, müssen in der Datei /etc/mysql/mariadb.conf.d/50-server.cnf im Abschnitt „[mysqld]“ im Vergleich zur Standard-Installation die folgenden Einstellungen ergänzt bzw. auf die angegebenen Werte geändert werden.
Beachten Sie bitte hierbei, dass sich alle u. g. Einstellungen prinzipiell auf den kompletten MariaDB-Server auswirken. Wird dieser nicht ausschließlich für die Speicherung der Daten der PICTURE-Prozessplattform verwendet, prüfen Sie bitte unbedingt die Auswirkungen dieser Einstellungen auf die anderen Client-Anwendungen dieses Servers!
Timeouts
interactive_timeout=87000 wait_timeout=87000
Die o. g. Timeouts bestimmen, nach wie vielen Sekunden (inaktive) Datenbankverbindungen vom MariaDB-Server getrennt werden (d. h. im konkreten Fall nach etwas mehr als einem Tag).
Um ein ordnungsgemäßes Funktionieren der PICTURE-Prozessplattform zu gewährleisten, muss die PPP bei Verwendung der o. g. Werte einmal pro Tag neu gestartet werden. Falls Sie alle in diesem Dokument dargestellten Installations-Schritte vollständig durcharbeiten, ist dies gewährleistet (vgl. 5 - Betriebs- und Wartungsaufgaben (v3.x) - Debian 12.x ).
Anzahl Verbindungen
max_user_connections=30
Dieser Wert ist abhängig von der erwarteten Anzahl gleichzeitiger Nutzer der PPP. Kalkulieren Sie als Faustregel mit einer Verbindung für jeden gleichzeitig eingeloggten Benutzer und addieren Sie einen Puffer für Datenbankverbindungen zu administrativen Zwecken (Admin-Konsole für Ad-Hoc-Zugriffe, Backup etc.)
Tabellennamen
lower_case_table_names=1
Wenn Datenbankschemata verwendet werden sollen, die auf Windows-Systemen bearbeitet wurden (z. B. initiale Erstellung, Wartung o. ä; dies betrifft insb. die von der PICTURE GmbH bereitgestellten Vorlagen für neue Mandanten), verwenden Sie unbedingt diese Einstellung. Dadurch werden Probleme aufgrund der unterschiedlichen Case-Sensitivität von Dateinamen zwischen den Dateisystemen beider Plattformen vermieden.
Paketgröße
max_allowed_packet=32M
Dieser Wert bestimmt die maximale Größe von Kommunikationspaketen für den Datenaustausch zwischen DB-Client und DB-Server.
Zeichensatz
character_set_server=utf8mb4
Dieser Wert bestimmt den Zeichensatz, der standardmäßig beim Anlegen neuer Datenbanken verwendet wird, sofern im entsprechenden SQL-Statement keine spezifischen Angaben zum Zeichensatz gemacht werden. Die Angabe "utf8mb4" ist wichtig, damit der von der PICTURE-Prozessplattform intern verwendete JDBC-Datenbanktreiber beim Aufbau von Datenbankverbindungen mit dem Server den korrekten für die Verbindung zu verwendenden Zeichensatz aushandelt, der erforderlich ist, um Daten aus dem kompletten Spektrum des Unicode-Zeichensatzes in der Datenbank speichern zu können. Standardmäßig sollte dieser Wert bereits gesetzt sein.
Starten Sie abschließend den MySQL-Server zur Aktivierung der geänderten Einstellungen mit dem folgenden Konsolen-Befehl neu:
systemctl restart mariadb
Tomcat
JVM-Optionen setzen
Um ein ordnungsgemäßes Funktionieren der PICTURE-Prozessplattform sicherzustellen, müssen einige Optionen der Instanz der Java Virtual Machine (JVM) angepasst werden, welche vom Tomcat-Server benutzt wird. Ergänzen Sie hierzu am Ende der Datei "/etc/default/tomcat10" eine Zeile zur Definition der für die PICTURE-Prozessplattform relevanten JAVA_OPTS:
JAVA_OPTS für Tomcat-Start (Beispielwerte, bitte ggf. anpassen)
JAVA_OPTS="${JAVA_OPTS} -Xmx2g -XX:ReservedCodeCacheSize=128m -Dppp.config_directory=/etc/picture -Duser.timezone=CET -Duser.country=DE -Djavax.net.ssl.trustStore=/var/lib/tomcat10/conf/truststore.jks -Djavax.net.ssl.trustStorePassword=StrengGeheim1234!"
Im Einzelnen sind folgende Einstellungen für den Betrieb der PPP relevant:
Einstellung | Bedeutung | Beispielwert |
---|---|---|
-Xmx | Maximale Größe des Java-Heapspeichers. Der Bedarf wird maßgeblich beeinflusst durch die zu unterstützende Anzahl paralleler Nutzer. | -Xmx2g (Szenario "Kleine Arbeitsgruppe"), |
-XX:ReservedCodeCacheSize | Größe des Code Caches während der Compilierung. Beim Parallelbetrieb vieler Mandanten (> 50) reicht die Standard-Einstellung (i.d.R. 48 MB) ggf. nicht aus und es muss ein größerer Wert gesetzt werden. Sollen nur einzelne Mandanten betrieben werden, kann die Einstellung weggelassen werden. | -XX:ReservedCodeCacheSize=128m |
-Dppp.config_directory | Verzeichnis, unterhalb dessen die Konfigurationsverzeichnisse der einzelnen PPP-Mandanten abgelegt werden | -Dppp.config_directory=/etc/picture |
-Duser.timezone | Zeitzone, von welcher der Server betrieben wird | -Duser.timezone=CET |
-Duser.country | Locale-Einstellung (beeinflusst Formatierung von Zahlen, Währungsangaben etc.) | -Duser.country=DE |
-Djavax.net.ssl.trustStore | (optional) Pfad zur TrustStore-Datei, in welcher vertrauenswürdige Zertifikate für SSL-verschlüsselte Verbindungen gespeichert werden. Die angegebene Datei muss Zertifikate für alle Ziel-Domains beinhalteten, zu denen durch die PPP SSL-geschützte Verbindungen aufgebaut werden sollen (z.B. SMTP-Server, über den automatisch generierte E-Mails verschickt werden). Wenn die PPP keine solchen SSL-geschützten Verbindungen zu Endpunkten aufbauen muss, die über kein Zertifikat verfügen, denen das JRE standardmäßig vertraut, kann diese Einstellung entfallen. | -Djavax.net.ssl.trustStore=/var/lib/tomcat10/conf/truststore.jks |
-Djavax.net.ssl.trustStorePassword | (optional: kann entfallen, wenn kein TrustStore benötigt wird) Passwort zum Öffnen der o.g. TrustStore-Datei | -Djavax.net.ssl.trustStorePassword=StrengGeheim1234! |
Die hier verwendeten JVM-Einstellungen bzgl. der Speicherbereiche sind Erfahrungswerte, mit denen i.d.R. ein problemloser Betrieb im Rahmen der im Abschnitt "Hardwareanforderungen" skizzierten Einsatz-Szenarien möglich ist. Treten im Live-Betrieb Fehler auf, welche auf zu gering dimensionierte Speicherbereiche hindeuten, passen Sie die Werte ggf. an. Hintergrundinformationen zur Bedeutung der einzelnen JVM-Parameter finden Sie unter https://docs.oracle.com/en/java/javase/11/tools/java.html.
Konfigurationsdateien anpassen
Server.xml
Die Tomcat-Konfigurationsdatei /var/lib/tomcat10/conf/server.xml muss im Rahmen der Installation der PICTURE-Prozessplattform angepasst werden. Stellen Sie sicher, dass die folgenden Einstellungen definiert werden:
<!-- Connector für unverschlüsselte HTTP-Verbindungen --> <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" />
Mit der Definition des HTTP-Connectors wird festgelegt, über welchen Port der Tomcat-Server für die Client-Webbrowser erreichbar ist. Der Tomcat-Standardport ist "8080". Soll der Server per Webbrowser direkt durch Eingabe des Domainnamens ohne explizite Angabe des Ports erreichbar sein (also z.B. http://picture.mydomain.com/ statt http://picture.mydomain.com:8080), so muss der Connector für Port 80 (=> Standard-Port für HTTP-Verbindungen) eingerichtet werden.
Soll der Zugriff auf die PPP zusätzlich über eine HTTPS-Verbindung (verschlüsseltes HTTP) möglich sein, befolgen Sie folgende Anleitung: Einrichtung des HTTPS-Connectors im Tomcat10-Server - Debian 12.x .
Die Angabe des "default virtual host" ist ausreichend, sofern der Tomcat-Server nur unter einem Domain-Namen erreichbar ist oder falls er zwar unter mehreren Domainnamen kontaktiert werden kann, jedoch unabhängig von der aufgerufenen Domain die selben Webanwendungen bereitstellen soll. Sollen unter verschiedenen Domains mit dem selben Tomcat-Server jeweils andere Webanwendungen bereitgestellt werden, definieren Sie zusätzliche Virtual Hosts (vgl. https://tomcat.apache.org/tomcat-10.0-doc/virtual-hosting-howto.html).
Starten Sie anschließend den Tomcat-Server neu, um die durchgeführten Konfigurationsänderungen zu aktivieren.
systemctl restart tomcat10