Anpassungen von Anwendungen nach Debian Bookworm Upgrade: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
(kein Unterschied)

Version vom 3. November 2023, 11:54 Uhr

Upgrade von z.B. Debian Buster zu Debian Bookworm

Die Hostmaster aktualisieren das Betriebssytem.

Die Mitglieder sind für den Betrieb der eigenen Anwendungen im Userspace verantwortlich. Dazu sind keine besonderen Rechte erforderlich, und können daher vom Mitglied selber vorgenommen werden, wenn die technischen Fertigkeiten vorliegen.

Gerne kann das Mitglied einen WoD Auftrag erteilen, damit ein Hostmaster eine Anwendung wieder zum Laufen bringt. Einfach eine E-Mail an service@ schreiben, und die Anwendung nennen, und in welchem Benutzer die Anwendung läuft.

Diese Seite soll Anleitungen teilen, wie man die eigene Anwendung selber wieder zum Laufen bringt.

Reparatur von Python Anwendungen

Nach dem Upgrade funktionieren die meisten Python Anwendungen nicht mehr.

Dann muss das Virtual Environment gelöscht und neu angelegt werden, am besten mit der Standard Python Version von Debian, bei Bookworm ist das Python 3.11

Falls die Anwendung noch nicht mit Python 3.11 zurecht kommt, kann mit pyenv auch eine ältere Python Version, z.B. 3.10 installiert werden: Eigenes_Python_installieren#Installation_mit_pyenv

Reparatur von PHP Anwendungen

Eventuell müssen die phpstubs angepasst werden.

Reparatur von Ruby Anwendungen

Die meisten Ruby Anwendungen werden mit rbenv betrieben. Dieses funktioniert dann nicht mehr, wegen Inkompatibilitäten mit der openssl Bibliothek.

Daher muss die rbenv Umgebung neu installiert werden. siehe RubyRBEnv

Es müssen auch meistens die Ruby Gems neu installiert werden.

 # erst löschen
 rm -Rf ~/.gem/
 rm -Rf ~/.bundle
 rm -Rf ~/.local/state/gem/
 
 # dann installieren
 cd meineapp # z.B. zammad
 export RAILS_ENV="production"
 bundle install

Reparatur von Java Anwendungen

Eigenes Java JDK installieren

Auf Debian Buster lief das JDK 11. Auf Debian Bookworm steht JDK 17 zur Verfügung.

Für Anwendungen, die JDK 11 benötigen, kann es lokal installiert werden.

Ältere JDKs können hier als Binary für Linux/x64 heruntergeladen werden: https://jdk.java.net/archive/

Ein Beispiel für JDK 11:

  mkdir ~/bin
  cd bin
  wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz
  tar xzf openjdk-11.0.2_linux-x64_bin.tar.gz

Dann muss z.B. im Tomcat (z.B. bin/setenv.sh) oder in der systemd Service Datei die Variable JAVA_HOME gesetzt werden:

   JAVA_HOME=/home/pacs/xyz00/users/meinuser/bin/jdk-11

Eigenen Tomcat installieren

Bei Debian Buster lief Tomcat 9, auf Debian Bookworm steht Tomcat 10 zur Verfügung.

Für Anwendungen, die unbedingt noch Tomcat 9 benötigen, kann es lokal installiert werden.

Ältere Versionen von Tomcat sind hier zu finden: https://tomcat.apache.org/download-90.cgi

   mv tomcat tomcat.bak
   wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.82/bin/apache-tomcat-9.0.82.tar.gz
   mv apache-tomcat-9.0.82 tomcat
   cp tomcat.bak/conf/server.xml tomcat/conf/
   cp tomcat.bak/conf/setenv.sh tomcat/conf/
   cp -R tomcat.bak/webapps tomcat

Es muss noch die native Komponente für openssl kompiliert werden, siehe auch [1] und [2]

   wget https://dlcdn.apache.org/tomcat/tomcat-connectors/native/1.2.39/source/tomcat-native-1.2.39-src.tar.gz
   tar xzf tomcat-native-1.2.39-src.tar.gz
   cd tomcat-native-1.2.39
   export JAVA_HOME=$HOME/bin/jdk-11
   export CATALINA_HOME=$HOME/tomcat
   ./configure --with-apr=/usr/bin/apr-1-config \
           --with-java-home=$JAVA_HOME \
           --with-ssl=yes \
           --prefix=$CATALINA_HOME
   make && make install

Dann muss nochmal die Datei tomcat/bin/setenv.sh bearbeitet werden, und der LD_LIBRARY_PATH muss gesetzt werden:

   export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/lib