Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Linux 01.10.2026 · 10 min Lesezeit

KeyHelp-Server von Ubuntu 22.04 auf 24.04 upgraden: offizielles Skript, Prüfliste und Rückfallplan

Ubuntu 22.04 erhält nur noch bis Mai 2027 reguläre Updates. So bringen Sie einen KeyHelp-Server mit dem offiziellen Skript auf 24.04: beide Läufe, alle Rückfragen im Wortlaut, die Rspamd-Umstellung und eine Prüfliste, getestet in einer VM.

Geprüft am 01.10.2026 · für KeyHelp 26.1.1

WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Illustration eines Hosting-Panels mit der Überschrift KeyHelp-Upgrade Ubuntu 22.04 auf 24.04 und den Karten Backup, Upgrade, Prüfen

Ubuntu 22.04 LTS bekommt laut Canonical nur noch bis Mai 2027 reguläre Sicherheitsupdates, Ubuntu 24.04 LTS dagegen bis Mai 2029. Wer einen KeyHelp-Server auf 22.04 betreibt, sollte das Upgrade deshalb nicht bis zum letzten Monat aufschieben. Weil Webserver, PHP-Pools und Mailfilter an der Panel-Konfiguration hängen, verlangt Keyweb dafür das offizielle Upgrade-Skript. Diese Anleitung zeigt den Ablauf so, wie er in unserem Test lief: mit allen Rückfragen im Wortlaut, Zeitbedarf, Prüfliste und Rückfallplan. Sie richtet sich an Admins kleiner Hosting-Server in Agenturen, Vereinen und KMU. Falls Sie KeyHelp noch einrichten, beginnen Sie mit der Anleitung KeyHelp installieren und absichern.

Voraussetzungen

Laut Keyweb müssen nach dem Start alle Schritte durchlaufen werden, ein Abbruch ist nur mit Handarbeit rückgängig zu machen. Prüfen Sie deshalb vorher:

  • Vollsicherung oder Snapshot beim Provider. Das ist Ihr Rückfallplan, denn eine KeyHelp-Sicherung holt kein Betriebssystem zurück. Für die Daten siehe KeyHelp-Backups extern sichern und Restore testen.
  • KeyHelp ab Version 24.2. Laut Keyweb unterstützt KeyHelp Ubuntu 24.04 seit Version 24.2. Getestet haben wir mit KeyHelp 26.1.1.
  • Zeitfenster. Mindestens eine Stunde; Websites sind zeitweise nicht erreichbar.
  • Root-Zugriff per SSH und zusätzlich eine Notfallkonsole (VNC oder serielle Konsole beim Provider), falls der Server nach einem Neustart nicht mehr per SSH erreichbar ist.
  • Freier Speicher. do-release-upgrade lud im Test 1255 MB herunter. Mehrere Gigabyte frei auf / sind Pflicht.
  • Sauberer Paketstand ohne halb installierte Pakete.

Schritt 1: Ausgangslage festhalten und Vorabprüfung

Notieren Sie die Vergleichswerte, damit Sie danach erkennen, ob ein Dienst fehlt:

keyhelp version
grep PRETTY /etc/os-release; uname -r
php -v | head -1; mysql -V; apache2 -v | head -1
dovecot --version; postconf -h mail_version
systemctl list-units --type=service --state=running --no-legend > /root/dienste_vorher.txt
df -h /
dpkg --audit; apt-mark showhold

Die wichtigste Vorabprüfung fehlt bei Keyweb: Das Skript übergibt mitten im Ablauf an do-release-upgrade. Fehlt das Programm, bricht es ab, wenn das Panel schon gesperrt ist. So geschah es in unserem ersten Testlauf auf einem minimalen Ubuntu-Image.

command -v do-release-upgrade || apt install ubuntu-release-upgrader-core screen

Bei der Nachinstallation fragt dpkg nach der Datei /etc/update-manager/release-upgrades, weil der KeyHelp-Installer sie angepasst hat (er blendet den LTS-Hinweis aus). Behalten Sie die vorhandene Version mit N:

Configuration file '/etc/update-manager/release-upgrades'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
*** release-upgrades (Y/I/N/O/D/Z) [default=N] ?

Das Upgrade-Skript stellt die Einstellung später selbst auf Prompt=lts um.

Verifizieren: command -v do-release-upgrade gibt /usr/bin/do-release-upgrade aus, dpkg --audit liefert keine Ausgabe, und Ihre Sicherung beim Provider ist abgeschlossen. Die Versionen aus dem Test stehen in der Tabelle in Schritt 6.

Schritt 2: Was das Upgrade-Skript intern tut

upgrade_operating_system.sh ist nur ein kurzer Bash-Starter. Es prüft, ob Sie root sind, ob /home/keyhelp/www/keyhelp/ existiert und ob curl vorhanden ist. Das Betriebssystem erkennt es über /etc/lsb-release. Auf Ubuntu 22.04 lädt es das eigentliche Upgrade-Programm keyhelp_ubuntu_upgrade_22_to_24_php81 von install.keyhelp.de, speichert es im aktuellen Verzeichnis als keyhelp_ubuntu_upgrade_22_to_24.php, aktiviert mit phpenmod ioncube den ionCube-Loader und führt es mit PHP aus. Dieses PHP-Programm ist mit ionCube verschlüsselt; was es tut, zeigt nur seine Ausgabe, die wir unten wiedergeben.

Den Zwischenstand merkt sich das Skript in der leeren Datei /home/keyhelp/www/keyhelp/.continue_upgrade_ubuntu_22_to_24. Findet der Starter sie nach dem Neustart auf Ubuntu 24.04, lädt er die Fortsetzung keyhelp_ubuntu_upgrade_22_to_24_php82. Die Optionen -s (Start erzwingen) und -c (Fortsetzung erzwingen) brauchen Sie im Normalfall nicht.

Verifizieren: bash upgrade_operating_system.sh --version gibt Version: 1 aus, und ls -a /home/keyhelp/www/keyhelp/ | grep continue ist vor dem Start leer.

Schritt 3: Erster Lauf in screen starten

Starten Sie das Skript in screen, wie Keyweb empfiehlt; nach einem SSH-Abbruch holen Sie die Sitzung mit screen -r upgrade zurück. Arbeiten Sie in /root, das Skript legt seine Dateien im aktuellen Verzeichnis ab.

cd /root
screen -S upgrade
wget --no-check-certificate https://install.keyhelp.de/scripts/upgrade_operating_system.sh -O upgrade_operating_system.sh && bash upgrade_operating_system.sh

Der Startbildschirm:

This application performs an operating system upgrade on your server.
From: Ubuntu 22.04 To: Ubuntu 24.04
> Pre-checking system...
... Press [ENTER] to start the upgrade | Abort with [CTRL] + [C]

Nach Enter arbeitet das Skript diese Schritte ab. Ab „Lock panel“ ist die KeyHelp-Oberfläche gesperrt:

> Disable all RAM drives
> Update current operating system to latest state (This can take several minutes)...
> Update release-upgrade prompt...
> Update ionCube...
> Update SourceGuardian...
> Lock panel...
> Perform last KeyHelp update run...
sh: 1: dmidecode: not found
> ...
> Perform upgrade (hand over to do-release-upgrade)...

Die Meldung dmidecode: not found erschien in beiden Läufen und hatte keine Folgen.

Verifizieren: Die Ausgabe endet mit Checking for a new Ubuntu release und dem Willkommenstext zu Ubuntu 24.04. Steht dort stattdessen do-release-upgrade: not found, lesen Sie unter „Typische Fehler“ weiter.

Schritt 4: Rückfragen von do-release-upgrade beantworten

Keyweb gibt eine Regel vor: Fragen zu Konfigurationsdateien beantworten Sie mit „Die momentan installierte Version beibehalten“, sonst überschreibt die Paketversion die KeyHelp-Konfiguration. Im Test kamen diese Fragen:

  1. Nach dem Willkommenstext Continue [yN]: y.
  2. Die Zusammenfassung, im Test mit diesen Zahlen:
    Do you want to start the upgrade?
    3 installed packages are no longer supported by Canonical.
    62 packages are going to be removed. 234 new packages are going to be
    installed. 568 packages are going to be upgraded.
    You have to download a total of 1255 M.
     Continue [yN]  Details [d]
    Antwort y. Laut dieser Meldung lässt sich der Vorgang nach dem Download nicht mehr abbrechen.
  3. Ein Dialog zu libc6: Restart services during package upgrades without asking? Wir haben <Yes> gewählt. Direkt danach folgte die Liste Services to restart for GNU libc library upgrade: spamassassin postfix cron apache2, bestätigt mit <Ok>.
  4. Gut zehn Minuten später die Konfigurationsdateien. Bei der Textabfrage antworten Sie mit N:
    *** awstats.conf (Y/I/N/O/D/Z) [default=N] ?
    Dieselbe Frage kam für nftables.conf, named.conf, postfix.conf, apache2.conf, other-vhosts-access-log.conf, security.conf, http2.conf, mime.conf, ssl.conf, zweimal ports.conf und local.cf.
  5. Zweimal ein Auswahldialog statt der Textabfrage, für /etc/proftpd/modules.conf und /etc/ssh/sshd_config:
    What do you want to do about modified configuration file sshd_config?
      install the package maintainer's version
      keep the local version currently installed
    Wählen Sie mit den Pfeiltasten keep the local version currently installed und bestätigen Sie erst dann mit <Ok>. Achten Sie auf die markierte Zeile, bevor Sie Enter drücken.
  6. Am Ende Remove obsolete packages? 44 packages are going to be removed. Mit d sehen Sie die Liste. Im Test standen dort alte Bibliotheken, Python 3.10 und proftpd-basic, keine PHP-, MariaDB- oder Mailpakete. Antwort y.
  7. Zum Schluss System upgrade is complete. Restart required ... Continue [yN]: y, der Server startet neu.

Bis zum Neustart vergingen im Test 24 Minuten.

Verifizieren: Nach dem Neustart zeigt grep PRETTY /etc/os-release die Zeile PRETTY_NAME="Ubuntu 24.04.5 LTS", und die Datei .continue_upgrade_ubuntu_22_to_24 existiert noch. Das Panel antwortet in diesem Zustand mit 503 Service Unavailable, auch die Kunden-Websites lieferten im Test 503. Das ist gewollt.

Schritt 5: Neustart und zweiter Lauf

Melden Sie sich nach dem Neustart wieder an und rufen Sie exakt denselben Befehl erneut auf, am besten wieder in screen:

cd /root
screen -S upgrade
wget --no-check-certificate https://install.keyhelp.de/scripts/upgrade_operating_system.sh -O upgrade_operating_system.sh && bash upgrade_operating_system.sh

Die Abfrage lautet jetzt Press [ENTER] to continue the upgrade. Danach baut das Skript ohne Rückfragen die Dienste um (Ausgabe gekürzt):

> Update PHP...
> Update Apache...
> Update Postfix...
> Install new email protection system...
> Install Redis...
> Configure new email protection system...
> Import OpenDKIM keys into new system...
> Install Rspamd learn cronjob...
> Remove old email protection system...
> ...
> Unlock panel...
> Restore default /tmp/ behavior...
The upgrade was successfully completed.
The system will now reboot.
... Press [ENTER] to reboot | Abort with [CTRL] + [C]

Hier passiert die eigentliche Umstellung, vor der Keyweb warnt: Amavis, SpamAssassin und OpenDKIM werden entfernt, an ihre Stelle treten Rspamd und Redis. Rspamd kommt dabei aus dem Paketarchiv von rspamd.com, das Skript trägt dazu /etc/apt/sources.list.d/rspamd.list ein. Der zweite Lauf dauerte im Test gut zwei Minuten, danach bestätigen Sie den Neustart mit Enter.

Verifizieren: Nach dem zweiten Neustart ist die Datei /home/keyhelp/www/keyhelp/.continue_upgrade_ubuntu_22_to_24 verschwunden, und keyhelp version meldet Operating System : Ubuntu 24.04 (64-bit).

Schritt 6: Prüfliste nach dem Upgrade

Ersetzen Sie die Beispielnamen durch echte Kundendomain und Postfach:

grep PRETTY /etc/os-release; uname -r; keyhelp version
systemctl --failed
for s in apache2 php8.3-fpm mariadb postfix dovecot rspamd redis-server proftpd named fail2ban; do
  echo "$s: $(systemctl is-active $s)"; done
curl -sk -o /dev/null -w "%{http_code}\n" https://server.example.com/
curl -s -o /dev/null -w "%{http_code}\n" -H "Host: kunde.example.com" http://127.0.0.1/
doveadm auth test info@kunde.example.com
ls /var/lib/rspamd/keyhelp/dkim/keys/
grep -v '^#' /etc/update-manager/release-upgrades

Senden Sie zusätzlich je eine Mail hinein und hinaus. Im Test trug eine ausgehende Mail danach den Header DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=testkunde.example;. Der importierte Schlüssel unter /var/lib/rspamd/keyhelp/dkim/keys/ passte zum öffentlichen Schlüssel in der DNS-Zone, die DKIM-Einträge im DNS mussten also nicht geändert werden, so wie Keyweb es beschreibt.

Verifizieren: systemctl --failed meldet keine Units, alle Dienste stehen auf active, Panel und Kunden-Website liefern 200, der Mail-Login gelingt. Im Test sahen die Versionen vorher und nachher so aus:

KomponenteUbuntu 22.04Ubuntu 24.04
Kernel5.15.0-1946.8.0-146
PHP (System)8.1.28.3.6
MariaDB10.6.2310.11.14
Apache2.4.522.4.58
Postfix / Dovecot3.6.4 / 2.3.163.8.6 / 2.3.21
SpamschutzAmavis, SpamAssassin 3.4.6, OpenDKIMRspamd 4.2.0, Redis 7.0.15
ProFTPD / Fail2ban1.3.7c / 0.11.21.3.8b / 1.0.2
KeyHelp26.1.126.1.1

PHP 8.1 war nach dem Upgrade nicht mehr installiert, der PHP-FPM-Pool des Testkunden lief auf PHP 8.3. Prüfen Sie Websites, die auf eine bestimmte PHP-Version angewiesen sind, deshalb einzeln.

Typische Fehler

„do-release-upgrade: not found“ (im Test aufgetreten)

Fehlt das Paket ubuntu-release-upgrader-core, endet der erste Lauf so:

> Perform upgrade (hand over to do-release-upgrade)...
  If your system seems to freeze for more than 1 minute,
  hit [CRTL] + [C] and call "do-release-upgrade" yourself.
sh: 1: do-release-upgrade: not found

Das Panel ist dann schon gesperrt. Ein erneuter Aufruf nach Nachinstallation des Pakets brach im Test mit einem ionCube-Fehler ab:

PHP Fatal error:
The encoded file /home/keyhelp/www/keyhelp/init/init_cli.php has been included by the unauthorised file /root/keyhelp_ubuntu_upgrade_22_to_24.php

Wir haben die Testmaschine daraufhin neu aufgesetzt und das Paket vor dem Start installiert, wie in Schritt 1 beschrieben. Ob ein manueller Aufruf von do-release-upgrade, wie ihn die Meldung nahelegt, sauber weiterführt, haben wir nicht getestet. Nutzen Sie dann den Snapshot oder fragen Sie den KeyHelp-Support.

Neue Paketversionen der Konfigurationsdateien

Bei „beibehalten“ legt dpkg die neue Paketversion daneben ab, im Test etwa /etc/ssh/sshd_config.ucf-dist und /etc/update-manager/release-upgrades.dpkg-dist. Mit find /etc -name '*.dpkg-dist' -o -name '*.ucf-dist' finden Sie sie und können sie per diff mit Ihrer Version vergleichen.

Häufige Fragen

Kann ich das Upgrade auch ohne das Skript mit do-release-upgrade machen?

Nein, Keyweb verlangt das Skript. Dessen zweiter Lauf stellt PHP, Postfix und den Spamschutz um.

Muss ich DKIM-Einträge im DNS ändern?

Nein. Das Skript importiert die OpenDKIM-Schlüssel in Rspamd. Im Test stimmte der Schlüssel danach mit dem DNS-Eintrag überein, ausgehende Mails waren signiert.

Wo stelle ich den neuen Spamfilter ein?

Unter „Konfiguration“ und „E-Mail-Spam- & Virenschutz“ (seit KeyHelp 25.3).

Testumfang

Getestet haben wir in einer virtuellen Maschine mit KeyHelp 26.1.1 auf Ubuntu 22.04.5, einem Testkunden mit Domain, Postfach und Datenbank; nach dem Upgrade liefen Panel, Website, Mailzustellung, DKIM-Signatur und Datenbank-Login. Auffällig war das fehlende do-release-upgrade im Ausgangsimage. Nicht geprüft haben wir echte Kundenlast, Zustellung über das Internet und Upgrades per SSH. Testen Sie das Upgrade zuerst an einer Kopie Ihres Servers.

Fazit

Das offizielle Skript brachte unseren KeyHelp-Testserver ohne Nacharbeit von Ubuntu 22.04 auf 24.04, nachdem zwei Dinge stimmten: do-release-upgrade war vorher installiert, und jede Frage zu Konfigurationsdateien wurde mit „beibehalten“ beantwortet, auch in den beiden Auswahldialogen. Mit Snapshot, Prüfliste und einem Zeitfenster von einer Stunde ist das Upgrade gut planbar. Danach erhält der Server bis Mai 2029 reguläre Sicherheitsupdates; halten Sie ihn mit automatischen Sicherheitsupdates aktuell.

Weiterführende Anleitungen und Quellen

KeyHelpUbuntu 24.04UbuntuUpgradeHosting-PanelLinux-Server