An dieser Stelle finden Sie Hinweise auf mögliche Fehlerquellen beim Betrieb der PICTURE-Prozessplattform und die entsprechenden Lösungsansätze.
Beim Update des Tomcat von Version tomcat9 (9.0.31-1~deb10u3) auf tomcat9 (9.0.31-1~deb10u4) tritt eine Exception bei Neustart des Dienstes auf
20-Apr-2021 17:46:01.322 SCHWERWIEGEND [http-nio-80-exec-1] org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class [picture.processplatform.app.App$ java.lang.RuntimeException: java.nio.file.FileSystemException: /srv/picture/ppp/temp/sessionStorage/admin: Das Dateisystem ist nur lesbar at picture.processplatform.app.ApplicationListener.contextInitialized(ApplicationListener.java:121) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4685) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5146) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1415) at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:700) at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:223)
Fehlerursache
Nach dem Sicherheitsupdate des Debian-Tomcat-Pakets wird der Dienst nun in einem sogenannten "sandboxed"-Bereich ausgeführt und somit in einer durch das System abgeschotteten Umgebung. Es wird lediglich der Schreibzugriff auf die folgenden Verzeichnisse zugelassen:
/var/lib/tomcat9/conf/Catalina (eigentlich /etc/tomcat9/Catalina)
/var/lib/tomcat9/logs (eigentlich /var/log/tomcat9)
/var/lib/tomcat9/webapps
/var/lib/tomcat9/work (eigentlich /var/cache/tomcat9)
Um den Schreibzugriff auf andere Verzeichnisse durch den Tomcat-Dienst zu ermöglichen, müssen die Service-Einstellungen überschrieben werden. Dies erfolgt durch die Erstellung einer override.conf-Datei im /etc/systemd/system/tomcat9.service.d/.
Bitte gehen Sie zur Fehlerbehebung - wie im folgenden beschrieben - vor.
Fehlerbehebung
Da der Tomcat-Dienst auf einem Debian-System in einem geschützten Bereich ausgeführt wird, ist es notwendig die PICTURE-spezifische Verzeichnisse gesondert freizugeben. Bitte führen Sie dazu die folgenden Schritte aus:
# Verzeichnis anlegen mkdir -p /etc/systemd/system/tomcat9.service.d # Konfigurationsdatei anlegen nano /etc/systemd/system/tomcat9.service.d/override.conf # Konfiguration der Verzeichnisse mit Lese- und Schreibzugriff für den Tomcat-Dienst [Service] ReadWritePaths=/etc/picture ReadWritePaths=/srv/picture
Im Anschluss speichern Sie die Konfiguration, indem Sie den Editor “nano” mit der Tastenkombination STRG+x beenden. Im darauffolgenden Dialog bestätigen Sie die Frage “Save modified buffer?” mit der Taste “y” (yes).
Nun muss noch der System- und Sitzungs-Manager “systemd” veranlasst werden, die soeben geschrieben Konfigurationsdatei zu laden, sowie der Tomcat-Dienst neu gestartet werden:
# Konfigurationsdateien des systemd neu laden systemctl daemon-reload # Tomcat-Dienst neu starten systemctl restart tomcat9