SuperX

KontaktMail für InfosSuchenLogin

Kernmodul und Ubuntu Upgrade für Version 6.0

Da SuperX unter Ubuntu Linux die Referenzimplementierung ist, haben wir hier eine Anleitung zum Upgrade von Kernmodul und Betriebssystem vorbereitet. Wir gehen hier davon aus dass Sie SuperX unter Ubuntu 2022.04 betrieben haben. Die Arbeitsschritte "in short":

  • Beenden und deaktivieren Sie tomcat 9:
systemctl stop tomcat9
systemctl disable tomcat9
  • Sichern Sie die Postgres DBen und User:
su - postgres
pg_dumpall >mydump.sql
  • Wenn Sie einen graphischen Desktop nutzen, müssen Sie den Bildschirmschoner ausschalten und neu starten.
  • Danach Upgraden Sie Ubuntu mit
apt-get update
apt-get upgrade
apt-get dist-upgrade
do-release-upgrade

(alle Sicherheitsabfragen mit dem Default bestätigen)


  • Installieren Sie dann Java 17 und Tomcat 10
apt-get install openjdk-17-jdk tomcat10
  • Ändern Sie in /etc/passwd das Homeverzeichnis vom User tomcat auf /var/lib/tomcat10. Dort müssen ein paar Anpassungen gemacht werden:
mkdir /var/lib/tomcat10/.kettle
touch /var/lib/tomcat10/.kettle/kettle.properties
cp -ar /var/lib/tomcat9/.ssh /var/lib/tomcat10
chown -R tomcat:tomcat /var/lib/tomcat10/.kettle
  • aufräumen:
apt autoremove
  • in der Datei /etc/default/tomcat10 die Konfigurationen ändern:
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
JAVA_OPTS="-Xmx2520M -Djava.awt.headless=true  -DSuperX-DB-PROPERTIES-SET=true --add-opens java.naming/com.sun.jndi.ldap=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.jar=ALL-UNNAMED --add-opens java.base/javax.crypto=ALL-UNNAMED --add-opens java.base/java.util.stream=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED"


Hinweis:
Beim Upgrade auf Ubuntu 2024.04 wird neben Postgres 14 das neuere Postgres 16 installiert.

  • Zunächst entfernen wir postgresql 14
apt remove postgresql-14

Ubuntu zählt den Port beim Upgrade hoch, und setzt den Postgres Port für Version 16 auf 5433. Wahrscheinlich müssen Sie das ändern, z.B.:

/etc/postgresql/16/main/postgresql.conf
port = 5432                             # Default Port wiederherstellen
shared_buffers = 1028MB                 # Beispiel

Auch die /etc/postgresql/16/main/pg_hba.conf muss vermutlich angepaßt werden.

Danach starten Sie Postgres neu, und spielen als User postgres die DBen neu ein:

su - postgres
psql -f mydump.sql template1

In der $SUPERX_DIR/db/bin/SQL_ENV ändern Sie analog:

JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
JAVA_OPTS="-Xmx1200M -Djava.awt.headless=true --add-opens java.naming/com.sun.jndi.ldap=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.jar=ALL-UNNAMED --add-opens java.base/javax.crypto=ALL-UNNAMED --add-opens java.base/java.util.stream=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED"
  • und sofern Sie nicht den Ubuntu-Tomcat nutzen:
CATALINA_OPTS="-Xmx2520M -Djava.awt.headless=true  -DSuperX-DB-PROPERTIES-SET=true --add-opens java.naming/com.sun.jndi.ldap=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.jar=ALL-UNNAMED --add-opens java.base/javax.crypto=ALL-UNNAMED --add-opens java.base/java.util.stream=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED"

Dann ersetzen Sie

nach

Danach Upgraden Sie das Kernmodul wie hier beschrieben.

Dann passen Sie die Webanwendung noch an:

cd $WEBAPP/WEB-INF
cp web.xml.superxonly web.xml

und in der Datei dbforms-confg ändern Sie am Ende die Attribute der dbconnection von

nach:

Dann ändern Sie die /etc/tomcat10/server.xml

nach

sowie bei Bedarf das Attribut appBase auf den richtigen Pfad:


Dann aktiveren Sie den Dienst tomcat10:

systemctl enable tomcat10
service tomcat10 start

Kontrolle auf Fehlermeldungen:

journalctl -u tomcat10 -r

Wenn Sie ein eigenes Login-Portlet nutzen, müssen Sie aus dem Anmeldeformular den Passus

entfernen.