{"id":428,"date":"2026-04-12T16:13:18","date_gmt":"2026-04-12T14:13:18","guid":{"rendered":"https:\/\/knuddels.me\/?p=428"},"modified":"2026-04-12T16:13:18","modified_gmt":"2026-04-12T14:13:18","slug":"wieder-up-to-date","status":"publish","type":"post","link":"https:\/\/knuddels.me\/?p=428","title":{"rendered":"Wieder up-to-date"},"content":{"rendered":"\n<p>Eigentlich wollte ich nur schnell die KME-Wiki auf den neuesten Stand bringen. Ein kurzes Update, einmal durchlaufen lassen, fertig. So zumindest der Plan.<\/p>\n\n\n\n<p>Die Realit\u00e4t sah dann doch etwas anders aus.<\/p>\n\n\n\n<p>Die Ausgangslage war eine \u00e4ltere MediaWiki-Installation auf einem entsprechend betagten Debian-System. Also war der erste Schritt klar: das Betriebssystem aktualisieren. Dabei stellte sich direkt heraus, dass man nicht einfach auf die neueste Version springen kann. Stattdessen ging es in mehreren Etappen vorw\u00e4rts \u2013 Upgrade, Fehler beheben, reboot, n\u00e4chstes Upgrade. Mehrfach. Jeder Schritt brachte neue kleine \u00dcberraschungen mit sich.<\/p>\n\n\n\n<p>Kaum war das System halbwegs aktuell, ging es mit PHP weiter. Die alte Version war nat\u00fcrlich nicht mehr zeitgem\u00e4\u00df, also musste eine neue her. Damit kamen direkt die n\u00e4chsten Probleme: fehlende Extensions, nicht mehr passende Konfigurationen und die klassischen 502-Fehler, weil pl\u00f6tzlich nichts mehr miteinander sprechen wollte. Also wieder alles Schritt f\u00fcr Schritt installieren, konfigurieren und testen, bis der Stack aus nginx, PHP-FPM und den ben\u00f6tigten Modulen wieder sauber lief.<\/p>\n\n\n\n<p>Dann endlich der eigentliche Grund der Aktion: MediaWiki selbst aktualisieren. Auch hier stellte sich schnell heraus, dass \u201eeinfach auf die neueste Version gehen\u201c keine Option ist. Die Datenbankstruktur \u00e4lterer Versionen l\u00e4sst sich nicht direkt auf den neuesten Stand bringen. Stattdessen musste ich mich Version f\u00fcr Version hocharbeiten. F\u00fcr jede Zwischenversion die passenden Dateien einspielen, die Update-Skripte ausf\u00fchren, Fehler analysieren, korrigieren \u2013 und dann erst zum n\u00e4chsten Schritt \u00fcbergehen. Das Ganze wiederholte sich mehrfach und hat deutlich mehr Zeit gekostet als urspr\u00fcnglich gedacht.<\/p>\n\n\n\n<p>Irgendwann war es dann soweit: Die KME-Wiki lief tats\u00e4chlich auf der neuesten MediaWiki-Version. Ein kurzer Moment der Erleichterung.<\/p>\n\n\n\n<p>Bis zum n\u00e4chsten Problem.<\/p>\n\n\n\n<p>Denn nat\u00fcrlich waren die alten Plugins bzw. Erweiterungen nicht mehr kompatibel. Einige funktionierten gar nicht mehr, andere verursachten Fehler oder f\u00fchrten einfach zu einer leeren Seite. Also ging es weiter mit Debugging, Anpassen und teilweise Neuaufsetzen der Extensions. An dieser Stelle hat mir tats\u00e4chlich KI-Unterst\u00fctzung enorm geholfen, um schneller herauszufinden, wo die Probleme liegen und wie man sie beheben kann.<\/p>\n\n\n\n<p>Am Ende war aus einem vermeintlich schnellen Update ein mehrst\u00fcndiges Migrationsprojekt geworden. R\u00fcckblickend nicht \u00fcberraschend \u2013 aber im Moment selbst doch etwas frustrierend.<\/p>\n\n\n\n<p>Der positive Effekt: Die KME-Wiki l\u00e4uft jetzt auf einem aktuellen, unterst\u00fctzten Stand. Und ich wurde wieder daran erinnert, warum man solche Updates nicht zu lange vor sich herschieben sollte.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Eigentlich wollte ich nur schnell die KME-Wiki auf den neuesten Stand bringen. Ein kurzes Update, einmal durchlaufen lassen, fertig. So zumindest der Plan. Die Realit\u00e4t sah dann doch etwas anders aus. Die Ausgangslage war eine \u00e4ltere MediaWiki-Installation auf einem entsprechend betagten Debian-System. Also war der erste Schritt klar: das Betriebssystem aktualisieren. Dabei stellte sich direkt [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-428","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"_links":{"self":[{"href":"https:\/\/knuddels.me\/index.php?rest_route=\/wp\/v2\/posts\/428","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/knuddels.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/knuddels.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/knuddels.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/knuddels.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=428"}],"version-history":[{"count":1,"href":"https:\/\/knuddels.me\/index.php?rest_route=\/wp\/v2\/posts\/428\/revisions"}],"predecessor-version":[{"id":429,"href":"https:\/\/knuddels.me\/index.php?rest_route=\/wp\/v2\/posts\/428\/revisions\/429"}],"wp:attachment":[{"href":"https:\/\/knuddels.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=428"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/knuddels.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=428"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/knuddels.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=428"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}