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"
- 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.