Manual:Upgrading/de



Dateiübertragung
Eine Methode zur Übertragung der Dateien auswählen:


 * wget
 * Secure copy (sicheres Kopieren) mit SCP der WinSCP
 * SSH File Transfer Protocol (SFTP)
 * Einen FTP-Client verwenden.
 * Möglicherweise bietet Ihnen Ihr Provider einen Dateimanager als webbasierte Benutzeroberfläche an.
 * Weitere Methoden: List of file transfer protocols (Liste von Dateiübertragungs-Protokollen)

Vorbereitung
Lesen Sie die, die zum MediaWiki gehört.


 * 1) Überprüfen Sie die Voraussetzungen
 * 2) Lesen Sie die Versionshinweise
 * 3) Lesen Sie die UPGRADE-Datei
 * 4) Sichern Sie die vorhandenen Dateien und die Datenbank
 * 5) Entpacken Sie die neuen Dateien
 * 6) Aktualisierung der Erweiterungen
 * 7) Starten Sie das Update-Skript, um die Datenbank zu überprüfen.
 * 8) Testen Sie das Update.
 * 9) Entfernen der Dateien der alten Installation

Anforderungen
MediaWiki erfordert:


 * PHP +
 * Eines der folgenden:
 * MySQL + (oder entsprechendes MariaDB)
 * PostgreSQL +
 * SQLite +

Von Version 1.36 an unterstützt MediaWiki Upgrades nur in Schritten von zwei LTS-Releases (siehe T259771). Upgrades von älteren Versionen müssen dann in mehreren Schritten durchgeführt werden. Das bedeutet: ein Upgrade von 1.23 oder älter auf 1.36 muss über ein Upgrade auf 1.27 (oder 1.35) erfolgen, um dann auf die gewünschte Version 1.36 zu aktualisieren.

Wenn Sie PostgreSQL benutzen, lesen Sie bitte auch.

Für weitere Informationen lesen Sie bitte  und.

Lesen Sie die Versionshinweise
In der "Tarball-Distribution" (der .tar-Paket-Datei) oder unter den von Git ausgecheckten/exportierten Dateien gibt es eine Reihe von Dateien mit Großbuchstaben in den Dateinamen, von denen eine die  (wiki) enthält.

Öffnen Sie diese jetzt und finden Sie heraus, was in diesem Release geändert wurde. Auch die Anweisungen in der UPGRADE-Datei sollten beachtet werden

Ausstehende Aufträge löschen
Aus Performance-Gründen verzögern sich einige Aktionen in der Datenbank und werden vom job queue verwaltet. Diese Aufträge werden in der Datenbank gespeichert und enthalten Parameter mit Informationen über Aktionen, die sie ausführen sollen. Es wird dringend empfohlen, diese ausstehenden Jobs vor dem Upgrade des Wikis auszuführen, um zu vermeiden, dass sie fehlschlagen, falls sich die Parameterspezifikation dieser Jobs mit der neuen Version ändert. Verwenden Sie, um alle ausstehenden Aufträge auszuführen und die Warteschlange zu löschen, bevor Sie das Upgrade durchführen.

Sichern vorhandener Dateien und der Datenbank

 * Vollständige Anleitung: 

Während die Upgrade-Skripte gut in Stand gehalten und robust sind, können dennoch Dinge schief gehen. Bevor du das Datenbank Schema aktualisierst, ""mach ein vollständiges Backup"" deines Wiki, inklusive der Datenbank und den Dateien:


 * der Inhalt deines Wikis, von der Datenbank (stelle sicher, den richtigen Zeichensatz zu haben, überprüfe dies zuerst in der LocalSettings.php). Es wäre auch gut, zu dem SQL Datenbank Dump zusätzlich einen XML-Dump zu erstellen.
 * Bei MySQL ist für einen SQL- bzw. XML-Dump der   Befehl zu verwenden:

mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb > file.sql mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb --xml > file.xml
 * Bei PostgreSQL ist für einen Datenbank-Dump der  Befehl zu verwenden:

pg_dump --create -Fc wikidb > file.db.dump
 * Bei SQLite gibt es ein MediaWiki Skript um ein Backup zu erstellen:

php wikifolder/maintenance/sqlite.php --backup-to file
 * Bilder und andere Mediendateien (der Inhalt des  Verzeichnis, benutzerdefiniertes Logo /skins/common/images/wiki.png)
 * Konfigurationsdateien, bspw  und   (wenn vorhanden)
 * MediaWikis Programmdateien, inklusive allen Benutzeroberflächen (Skins) und Erweiterungen (Extensions), besonders wenn du diese modifiziert hast.

Verwendung eines Tarball Paketes (.tar)
Du kannst die neuen Dateien via FTP oder Befehlszeile einfügen. Nutze die Befehlszeile, wenn du dazu Zugang hast! Die Befehlszeile zu verwenden ist viel schneller, als jede einzelne Datei der Tausend via FTP hochzuladen.

FTP oder grafisch
Falls kein Kommandozeilen-Zugriff auf den Server möglich ist (zum Beispiel bei Shared Hosting), kann das MediaWiki tarball Archiv lokal auf einen Computer heruntergladen und mittels 7zip entpackt werden.

Nachdem alle Dateien und Ordner lokal entpackt wurden, können sie mit einem beliebigen FTP Programm auf den Server hoch geladen werden.

cPanel File Manager
cPanel is a popular interface provided by many web hosts. This method is efficient because the files are uncompressed on the server itself.


 * Navigate to the directory that holds your wiki folder.
 * Upload the mediawiki-1.xx.x.tar.gz file. You may need to hit "Reload" to see it.
 * Extract the mediawiki-1.xx.x.tar.gz file. Reload again.
 * Confirm that the mediawiki-1.xx.x folder is present.
 * Delete the tar.gz file.
 * Copy all necessary skins, extensions, image folders, customizations, and the LocalSettings.php into the new folder. (see below)
 * When you are ready to run update.php, rename your old wiki folder and your new wiki folder. (e.g. "w" becomes "w1.34" and then "mediawiki1.35.0" becomes "w") This step is easily reversible if you run into problems.

Kommandozeile
Unter Umständen kann es nötig sein, das Kommando als  auszuführen, falls der aktuelle Benutzer auf den wiki Installationsverzeichnissen keine vollständigen Schreibrechte haben sollte. Beim enttarren (entpacken) eines tarball Pakets wird normalerweise ein neues Verzeichnis für die neue wiki Version erstellt. Danach müssen die die alten Konfigurationsdateien und das image Verzeichnis, in dem sich Bilder befinen, aus dem alten, vorherigen Installationsordner in den neuen kopiert werden:

(Open)Solaris Benutzer sollten gtar benutzen, oder:

$ gzip -dc mediawiki-.tar.gz | tar xf -

Andere Dateien
Nach dem entpacken das tarball Archivs, sollten einige Dateien und Ordner aus dem alten Installationsverzeichnis in das neue kopiert oder verschoben werden:


 * , die die alten Konfigurationseinstellungen enthält.
 * Das  (oder   in älteren Versionen) Verzeichnis, das alle ins wiki hochgeladenen Dateien enthält, es sei denn es wurde ein anderes Uploadverzeichnis ausgewählt. Die Zugriffsrechte (Permissions) und der Besitzer (Ownership) müssen geändert werden.    und   (beispielweise falls der web user "apache" ist).
 * Einige Erweiterungen im  Verzeichnis. Es sollten immer die aktuellen Erweiterungen installiert und verwendet werden, veraltete Erweiterungen funktionieren eventuell nicht korrekt oder gar nicht  mit neueren MediaWiki Versionen.
 * Falls ein benutzerdefiniertes Logo verwendet wird, muss diese Datei ebenfalls aus der Sicherungsdatei wiederherstellt werden. In Versionen vor 1.24 befindet es sich normalerweise im Verzeichnis . Ab Version 1.24 im Verzeichnis   oder , je nach dem welches zur Benutzung ausgewählt wurde. Danach dies in der LocalSettings.php hinzufügen, zum Beispiel
 * Bei 1.35 müssen die Logos ggf. aus wgLogos wiederhergestellt werden. Dann ist beispielsweise folgendes zur LocalSettings.php hinzuzufügen:
 * benutzerdefinierte Skins aus dem  Verzeichnis
 * jede Veränderung, die in den alten Installationsdateien oder Erweiterungen durchgeführt wurde.
 * jede .htaccess Datei (falls Apache verwendet wird und irgendwelche Regeln in der .htaccess eingetragen wurden).

Machen Sie diesen neuen Ordner zum veröffentlichten Ordner auf dem Webserver, oder benennen Sie das alte Installationsverzeichnis um und benennen Sie dann das neue um, um den alten Namen zu erhalten.

Git verwenden
Wenn Sie verwenden, exportieren Sie die Dateien an einen sauberen Speicherort und kopieren Sie dann die alten benutzerdefinierten Dateien wie im vorherigen Abschnitt beschrieben an den neuen Speicherort.

Müssen Sie auch einige externe PHP-Bibliotheken mit Composer oder einer bereitgestellten Sammlung installieren, die für die Wikimedia Wiki-Farm gepflegt wird. Weitere Details zur Installation und Aktualisierung externer Bibliotheken finden Sie in der Git download documentation.

Verwendung eines Patches
Eine kleine Patchdatei wird in der Regel für ein Minor-Versions-Upgrade zur Verfügung gestellt. Laden Sie die Patchdatei manuell herunter um sie verwenden zu können. Nach dem manuellen Download von der MediaWiki Release-Site extrahieren Sie sie oder folgen Sie den Anweisungen mit wget unten. Patches sind inkrementell, Sie können keine Version überspringen.

Überprüfen Sie Ihre Special:Version und Sie sollten die neue Versionsnummer sehen.
 * 1) cd in Ihr Hauptverzeichnis von MediaWiki (das mit LocalSettings.php).
 * 2) Laden Sie die Patchdatei herunter und entpacken gunzip es.
 * 3) Verwenden Sie , um zu überprüfen, was geändert wird (z.B.',  ).
 * 4) Wenn alles in Ordnung ist, führen Sie patch erneut ohne   aus.

Verbliebene Dateien, die Fehler verursachen können
Wenn die neue Version in eine altes, bestehendes Installationsverzeichnis entpackt wurde, können einige alte Dateien Probleme mit der neuen Version verursachen.

Wenn Sie profiling nicht verwenden, aber eine -Datei im MediaWiki-Stammordner haben, erhalten Sie möglicherweise Fehler, die sich auf   beziehen. Löschen oder umbenennen der  Datei behebt den Fehler. Die  Datei, die sich ebenfalls im MediaWiki Wurzelverzeichnis befindet, kann als Vorlage dafür dienen, falls profiling zukünftig aktiviert werden soll.

Mediawiki 1.23 verwendet nicht mehr den skin autodiscovery Menchanismus. Nachdem auf diese Version aktualisiert wurde, sollte sicher gestellt werden, die die alten s,  ,   und   Dateien direkt im   Verzeichnis sowie die entsprechenden Unterordner im   Verzeichnis gelöscht werden. MediaWiki wird als Erinnerung eine Warnung aufzeichnen und ggf. ausgeben, falls diese alten Skins immer noch gefunden werden. (Benutzerdefinierte Skins müssen ebenfalls entsprechend angepasst und mit ihnen verfahren werden.) Siehe für mehr Informationen.

MediaWiki 1.24 ändert die Pfade von Kern-Skin-Dateien. Nach dem Upgrade auf diese Version sollten Sie sicherstellen, dass die alten Dateien,  ,   und   direkt im Verzeichnis   nicht mehr vorhanden sind. Siehe für Details.

Erweiterungen aktualisieren
Einige Erweiterungen wurden angepasst, um mit der neuen Version der MediaWiki-Software arbeiten zu können. Stellen Sie sicher, dass Sie die jeweils aktuelle Version verwenden. Eventuell müssen sie Updates für spezifische Erweiterungen manuell einspielen.

Verschiedene Tarball-Pakete enthalten Untergruppen von Erweiterungen mit eigener Versionierung, die dabei helfen, die passende Version für das vorhandene MediaWiki-Release zu finden.

Extension Distributor kann dabei helfen, den richtigen Snapshot einer Erweiterung für die Zusammenarbeit mit der jeweils unterstützten MediaWiki-Version zu finden.

Wenn viele Erweiterungen notwendig sind, ist vermutlich Herunterladen von Git die beste Lösung. Wenn Git nicht zur Verfügung steht, aber eine große Zahl von Erweiterungen angepasst werden muss, sollte mwExtUpgrader zu Rate gezogen werden.

Deine LocalSettings.php anpassen
Wenn die vorhandene  aus der alten Version wiederverwendet wird, muss sie vermutlich angepasst werden:

Den Skin registrieren
Ab MediaWiki 1.24 sind die paketierten Skins wie Vector, Monobook, Modern und CologneBlue nicht länger Bestandteil des MediaWiki-Kerns und müssen explizit in der  registriert werden. Andernfalls wird MediaWiki davor warnen, dass keine Skins installiert wurden.

Folgendes muss bei einem Upgrade von einer Version vor 1.24 in die  eingefügt werden, wenn eine dieser Skins verfügbar sein soll:

Andere Skins sind eventuell noch nicht an das neue Skin Registration System angepasst. Sollte es bei der Verwendung zu Problemen kommen, ist die entsprechende Dokumentation der Skin zu beachten, um die korrekte Registrierung vorzunemen.

Erweiterungen registrieren
Seit MediaWiki 1.25 kommt ein neues extension registration System zum Einsatz.

Vormals erfolgte die Einbindung in  in der folgenden Form:

Das schreibt sich jetzt so:

Erweiterungen werden an das neue Registrierungssystem angepasst. Erweiterungen die noch nicht angepasst sind, sollten über den alten Weg eingebunden werden. Mehr Informationen enthalten die jeweiligen Installationsanweisungen.

Andere Variablen
Einige Variablen könnten obsolet geworden oder gar entfernt worden sein. Diese in  zu haben wird für gewöhnlich keinen Effekt haben. Neue Variablen können in neueren Versionen hinzugefügt worden sein, oder einige existierende Variablen ihren Typ geändert haben. Normalerweise werden bei der Entwicklung vernünftige Voreinstellungen für die Variablen gewählt, und im Falle eine Typänderung wird auf Rückwärtskompatibilität geachtet. Auf jeden Fall sollten die Release-Notes beachtet werden um solche Ändernungen erkennen zu können.

Das Update-Skript ausführen
Sie können die MediaWiki-Datenbank auf zwei Arten aktualisieren: Entweder von der Kommandozeile oder vom Webbrowser aus. Wenn Sie Shell-Zugang zu Ihrem Server haben, wird ein Upgrade von der Kommandozeile aus empfohlen, da dies das Risiko verringert, dass der Upgrade-Prozess durch einen Timeout oder einen Verbindungsreset unterbrochen wird.

Das Skript wird auch versuchen jede fehlende Abhängigkeit herunterzuladen, welche MediaWiki benötigt.

Kommandozeile
Der Zugriff auf den Server erfolgt über eine SSH-Shell oder vergleichbares. Wenn Ihr PC unter Microsoft Windows arbeitet, benötigen Sie ein Tool wie PuTTY für den SSH-Zugriff. Aus der Kommandozeile oder Shell wechseln Sie ins Wartungsverzeichnis und führen Sie das Update Skript aus:

$ php update.php

Wenn auf einem Linux-Server eine Fehlermeldung erscheint, versuchen Sie es mit dem Benutzerkonto root ( sudo php update.php ). Hinweis für einfache Installationen unter Windows (z.B. mit ): Stellen Sie zunächst sicher, dass der Webserver (z.B. Apache) und die Datenbank (wie MySQL) arbeiten. Starten Sie dann : Rechts klicken, "Öffnen mit..." auswählen und dann PHP.exe auswählen. Das sich öffnende Kommandozeilenfenster wird sich selbstständig schließen, wenn das Schema-Update erfolgreich abgeschlossen ist.

Eventuell erhalten Sie eine Fehlermeldung, dass die PHP-Version zu alt ist, und das MediaWiki eine neue Version benötigt. Das Update bricht dann ab. Der Grund dafür ist, dass die Kommandozeile eine andere PHP-Version verwenden kann als diejenige beim Ausführen von MediaWiki auf dem Webserver. Wenn das der Fall ist, sollten Sie überprüfen, ob Sie eine neuere PHP-Version in der Shell ausführen können: Das Kommando dafür könnte beispielsweise "php7" oder "php73" lauten. Ob eine andere Version verfügbar ist und unter welchem Namen, hängt von der Konfiguration Ihres Servers ab. Wenn es nicht funktioniert, kontaktieren Sie Ihren Hoster - dort sollten die notwendigen Informationen vorliegen.

Mediawiki wird das Datenbankschema überprüfen und notwendige Tabellen und Spalten hinzufügen, damit es unter dem neuen Code arbeiten kann.

Was ist zu tun, wenn das update.php nach einer kurzen Pause abbricht und zum Kommandoprompt zurückkehrt?
Dies kann durch eine Fehlfunktion einer Erweiterung oder Skin verursacht werden.


 * Überprüfen Sie ob alle Erweiterungen die in LocalSettings.php aufgerufen werden auch vorhanden sind
 * Stellen Sie sicher dass für alle Erweiterungen die korrekten Registrierungsmethoden verwendet werden (wfLoadExtension vs. require_once)
 * Kommentieren Sie die erste Hälfte der Erweiterungen in LocalSettings.php aus. Wenn update.php dann durchläuft, machen sie die Hälfte der Kommentierung rückgängig (also auf 1/4 der Erweiterungen). Läuft update.php nicht durch versuchen Sie es mit dem anderen Viertel usw. * Finden Sie die verursachende Erweiterung heraus, indem sie nach und nach einzelne Erweiterungen auskommentieren bis es funktioniert

Was ist zu tun, bei der Fehlermeldung "ALTER command denied to user" (oder ähnlich)
In einigen Fällen brechen Skripte ab, mit Fehlermeldungen wie:

Error: 1142 ALTER command denied to user 'wiki'@'localhost' for table 'mytable' (localhost) ERROR: must be the owner of the mytable relation

Hier ist sicherzustellen, dass in der (im Hauptverzeichnis der Installation) die Variablen  und  definiert sind. Das sind der Nutzer und sein Password, die das Skript benötigt um auf die Datenbank zuzugreifen.

In einigen Fällen wird scheinbar eine alte $wgDBmwschema Variable anstelle von $wgDBname eingelesen, insbesondere bei Verwendung von MySQL. Wenn das der Fall ist, ist die Definition des $wgDBmwschema aus der LocalSettings.php zu entfernen.

Was ist zu tun bei einer "unexpected T_STRING" Fehlermeldung?
Vereinzelt erschien nach dem Start der Update.php folgende Fehlermeldung:

 syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' \ in ~/maintenance/commandLine.inc on line 13

Dieser Fehler tritt auf, wenn update.php unter php4 ausgeführt wird.

Wenn die Site bei einem Provider gehostet ist, der sowohl php4 als auch php5 unterstützt, sollten folgende Schritte ausgeführt werden:


 * 1) Auf der Kommandozeile ist das Kommando #whereis php5' einzugeben
 * 2) wenn der Pfad für php5 identifiziert ist, den Inhalt des Verzeichnis php5/bin auflisten
 * 3) wenn der Name der ausführbaren Datei für php festgestellt ist (entweder php oder php5), ist der vollständige Pfad für die Ausführung der 'update.php' einzugeben

Hier ein Beispiel:

 $ command -v php5 $ ls -la /usr/local/php5/bin $ /usr/local/php5/bin/php update.php

Was ist zu tun bei der Fehlermeldung 'register_argc_argv is set to false'
Wenn die folgende Fehlermeldung erscheint:  Cannot get command line arguments, register_argc_argv is set to false


 * 1) Im Wartungsverzeichnis (/maintenance) ist die Datei 'php.ini' entweder zu bearbeiten oder zu erstellen.
 * 2) Die folgende Zeile ist zu ergänzen:

 register_argc_argv=true

Anschließend ist update.php erneut auszuführen

Web-Browser

 * Siehe auch 

Falls die Datenbank groß ist und stark produktiv genutzt wird, sollten Sie auf eine Nutzung des Web-Updater verzichten, weil der Update-Prozess ein Time-Out verursachen kann, wenn die maximum_execution_time erreicht wird. In diesem Fall sollten Sie update.php über das Kommandozeilen-Interface starten (nicht über das Web). Was genau "zu groß" bedeutet, hängt von Ihrem Server ab (z.B. seine Performance, die Serverlast und davon wie lange die maximale Ausführungszeit für PHP gestattet ist). Wenn Ihr Wiki zu groß für den Web-Updater ist und Ihr Hoster keinen Shell-Zugriff gestattet, dann bleibt Ihnen nichts anderes übrig als auf ein anderes Paket oder einen anderen Anbieter zu wechseln, damit ein Shell-Zugriff möglich wird.


 * 1) Vor jeder Änderung an der Datenbank sollte eine Datensicherung vorgenommen werden!
 * 2) Navigieren Sie im Webbrowser zu  . Beispiel: Ihr Wiki liegt auf , dann müssen Sie zu   navigieren.
 * 3) Wählen Sie Ihre Sprache und klicken Sie auf Weiter.
 * 4) Die vorhandene Installation sollte gefunden werden. Folgen Sie den Anweisungen auf dem Bildschirm um das Upgrade durchzuführen. Wenn nach dem "Upgrade Key" gefragt wird, öffen Sie die -Datei und suchen Sie nach dem Schlüssel, der  zugewiesen ist.

Es kann vorkommen, dass der Web-Updater nicht zu arbeiten scheint: Anstelle der Sprachauswahl erscheint eine leere Wiki-Seite, eventuell mit einigen Fehlermeldungen. In diesem Fall ist es wahrscheinlich, dass der Server URL Rewrites nutzt (auch bekannt als Kurze URLs). Dadurch wird anstelle des Updaters im Verzeichnis "mw-config/" die leere Wiki-Seite "Mw-config/" (mit großem "M") angezeigt. In diesem Fall ist die ".htaccess"-Datei für die Dauer des Updates umzubenennen, dann sollte der Zugriff auf den Web-Updater möglich sein.

Das Update testen
Sobald das Upgrade fertiggestellt ist, besuche das Wiki und überprüfe, dass folgende Funtkionen wie erwartet funktionieren:


 * Seiten ansehen
 * Seiten bearbeiten
 * Dateien hochladen
 * Besuche Special:Version und überprüfe, dass die gezeigte Version korrekt ist und dass alle Extensions gelistet sind.

Entfernen der Dateien der alten Installation
Wenn die vorige Installation in einen anderen Ordner kopiert wurde, muss dieser vollständig entfernt werden oder der Zugriff aus dem Web ist zu verhindern. Wichtig ist es, keine Überreste alter Installationen zugreifbar auf dem Server zu belassen, da somit der Zweck des Upgrades verfehlt wird, und der Server angreifbar werden könnte.

Häufig gestellte Fragen


Wie schwierig ist es zu aktualisieren?
Wenn die einzige geänderte Datei die ist, und das Upgrade von Version 1.5 oder größer erfolgt, ist der Prozess recht einfach. Die reine Arbeitszeit beträgt einige Minuten. Die Anpassung des Datenbankschemas kann einige Zeit dauern, dies hängt vom Umfang der Datenbank ab. Bei großen Wikis mit Millionen von Seiten kann dies einige Stunden dauern, bei typischen Wikis mit einigen Tausend Seiten ist es in Sekunden erledigt.

Kleinere Updates innerhalb der gleichen Hauptversion, beispielsweise von .0 auf erfordern keinerlei Anpassung des Datenbankschemas. Das einspielen der neuen Dateien recht aus. Die Datenbank benötigt kein Update, daher ist es nicht notwendig, das Updater-Skript auszuführen.

Aufrüsten von Version 1.4 oder früher kann kompliziert werden, da die Unterstützung für andere Zeichensätze als UTF-8 ausgebaut wurde. Außerdem wurde die Art Texte zu speichern geändert. Hinweise dazu finden sich im entsprechenden Abschnitt der  Datei

Schwierig wird es, wenn der Quellcode geändert wurde und diese Änderungen nicht überschrieben werden sollen. Tools wie diff, patch, Meld, oder WinMerge können hier hilfreich sein. Auch nicht mehr gewartete Erweiterungen können zu Problemen führen. Erweiterungen sollten immer zusammen mit dem MediaWiki upgedatet werden.

Wird mit einer modifizierten oder kundenspezifischen Skin gearbeitet, muss diese höchstwahrscheinlich an die neue MediaWiki-Version angepasst werden.

Kann ich ein Upgrade von einer sehr alten Version in einem Schritt durchführen?
Das kommt darauf an: Bei einem Upgrade von MediaWiki 1.4 oder älter sollte zunächst auf die Version 1.5 umgestellt werden. Bei einem Upgrade eines Wiki auf Basis von Latin-1 ist das Skript "upgrade1_5.php zu nutzen (findet sich in MediaWiki 1.5), um die relevanten Teile der Datenbank auf UTF-8 zu konvertieren ( muss in den auf true gesetzt werden damit es funktioniert). Anschließend ist update.php auszuführen, und dann die  Option in der LocalSettings.php auf die Codierung zu setzen, die bisher im Wiki verwendet wurde (z.B. windows-1252). Dies ist die grundsätzliche Vorgehensweise, wie von Wikipedia und anderen Wikimedia-Foundation-Sites Upgrades von V1.4 auf V1.5 durchgeführt wurden - siehe hierzu auch die 'Datei mit den relevanten Einstellungen (Achtung: Große Seite!) und einige relevante Anmerkungen auf Wikitech. Eventuell muss auch zunächst ein Upgrade auf MediaWiki 1.4 durchgeführt werden, bevor das 1.5-Upgrade-Skript durchlaufen kann. Soll ein Datenbank-Dump des Latin-1 Wiki durchgeführt werden (z.B. bei MySQL), muss sichergestellt sein, dass der Typ des  Feldes in der  Tabelle   ist, und nicht , um Fehler bei der Zeichencodierung zu vermeiden.

Ein Upgrade von Version 1.5 oder jünger auf 1.35 kann in einem Schritt durchgeführt werden. Die überwiegende Mehrzahl der Berichte und das automatische Testing lassen den Schluss zu, dass das Upgrade in einem Schritt gut funktioniert. Wer es nicht glaubt, lese bitte dieses Maillist Posting. Allerdings sollte beachtet werden, dass die Wahrscheinlichkeit auf PHP-Fehlermeldungen zu stoßen mit der Anzahl der Versionssprünge steigt. Sie hätten diese Fehler sowieso erhalten, wenn Sie nicht Versionen übersprungen hätten, aber die Fehler wären mit jedem einzelnen Update verbunden gewesen. Durch die mehrfachen Versionssprünge treten sie lediglich gleichzeitig auf. Das macht das Upgrade vielleicht etwas komplizierter, aber insgesamt ist der Aufwand geringer.

Ein Upgrade auf MediaWiki 1.36 wird lediglich in Abständen von zwei LTS-Versionen unterstützt (T259771). Das bedeutet, dass für jede ältere Version zuerst auf 1.35 und dann auf 1.36 umgestellt werden muss.

Sollte ich zuerst ein Backup vornehmen?
Kurzantwort: Ja.

Lange Antwort: Es hängt davon ab a) wie sehr du deine Daten wertschätzt, b) wie schwer es ist, ein Backup anzulegen c) wie sicher du hinsichtlich MySQL-Wartung und Administration bist.

Ein fehlerhafter Abbruch kann die Datenbank in einem inkonsistenten Zustand zwischen zwei Versionen hinterlassen. Bei einem PHP- oder MySQL-Fehler während des Upgrade wird die Datenbank eventuell nur teilweise umgestellt. In solchen Situation können aufwändige manuelle Anpassungen erforderlich werden. Auf jeden Fall wird es der einfachere Weg sein, vor dem Durchlauf von update.php ein Datenbank-Backup anzulegen. Alles andere kann Stunden nutzloser Arbeit verursachen.

Wiederherstellungen sind oft komplex. Die ehrenamtlichen Mitarbeiter im Support sind selten begeistert, wenn ein Backup unterlassen wurde und dann die Schäden aus einem fehlgeschlagenen Upgrade beseitigt werden müssen. Die bessere Variante ist, das Backup zurück zu spielen und eine Fehlermeldung beim MediaWiki-Projekt einzustellen, wenn der Upgrade-Prozess auf Fehler läuft.

Kann ich meine LocalSettings.php behalten?
Ja, aber es sind vermutlich einige kleinere Anpassungen vorzunehmen. Das Format der ist in hohem Maße rückwärtskompatibel. Änderungen die damit brechen sind in den Release-Notes unter "configuration changes" dokumentiert.

Kann mein Wiki während des Upgrades online bleiben?
Generell ja, auch wenn Git es eventuell zeitweise (für ein paar Sekunden) unterbrechen kann.

Bei einem Update zwischen Unterversionen des MediaWiki müssen lediglich die Quelldateien eingespielt werden.

Anmerkung: Das Folgende setzt Zugriff per Kommandozeile voraus.Bei einem Upgrade zwischen Hauptversionen der MediaWiki-Software ist die folgende Prozedur zu bevorzugen:


 * 1) Auspacken der neuen Version von MediaWiki in ein neues Verzeichis
 * 2) Vorbereitung des neuen Verzeichnisses: Kopieren der LocalSettings.php vom alten ins neue Verzeichnis, ebenso alle vorhandenen Erweiterungen und Skins. Überprüfen Sie die Einstellungen für  und  in LocalSettings.php und, wenn nötig, kopieren der Logo-Datei in das neue Verzeichnis.
 * 3) Anhand der Release Notes überprüfen, ob Änderungen in der LocalSettings.php notwendig sind.
 * 4) Den Schreibschutz auf der Datenbank aktivieren, indem folgende Variable in der LocalSettings.php im alten Verzeichnis eingefügt wird (Benutzer werden diese Meldung sehen, wenn sie während des Updates versuchen Seiten zu bearbeiten):


 * 1) * Diese Arbeitsweise funktioniert ab Version 1.27 nicht mehr, da der Ablauf des Update-Skriptes verhindert wird. Ein Workaround findet sich in, siehe auch.
 * 2) Start des Update-Skripts oder des Web Updaters im neuen Verzeichnis.
 * 3) Kopieren der Bilddateien im Unterverzeichnis /images vom alten in das neue Verzeichnis.
 * 4) Vertauschen des alten und des neuen Verzeichnisses durch umbenennen.

Warum aktualisieren?

 * Eintragen in die mediawiki-announce Mailing-Liste um über neue Versionen informiert zu werden.

Weil es normalerweise einfach, in einem Schritt durchführbar, und außerdem per Web machbar ist.

Neuere Veröffentlichungen enthalten Sicherheitsupdates, die die Wikis und die Webhoster, auf denen sich die Wikis befinden vor Vandalismus schützen. Ältere Versionen enthalten Sicherheitslücken und Bugs (siehe ). Dies alles sind gute Gründe, weshalb man aktualisieren sollte.

Neue Versionen bieten neue Möglichkeiten, in den Release Notes finden sich Details. Hier eine Übersicht als Argumentationshilfe, um den Aufwand für das Upgrade eine alten Version zu rechtfertigen:

Seit und  werden Benutzer in aller Sprachen und Gechlechter vom Interface und in den Logs korrekt angesprochen (vor 1.15 gab es keine Geschlechtsunterschiede).
 * Seit gibt es eine Vorschau der bearbeiteten Seite inklusive der Veränderungen.
 * Seit ist ein Undo Button verfügbar.
 * Seit ist das Patrouillieren auf Neuen Seiten viel einfacher.
 * Seit ist ein Verschieben einer Seite möglich.
 * Seit können Doppelte Weiterleitungen automatisch repariert werden.
 * Seit sind  verfügbar.
 * Bei geeignetem Caching beschleunigt seit 1.17 das Laden der Seiten erheblich.
 * Seit 1.17 ergibt die Kategorien-Sortierung Sinn (speziell für nicht-Englische Buchstaben); sie wurde nach auf 68 Sprachen erweitert.
 * In wurde das Skinning System überarbeitet, um die Wiederverwendung von Teilen einzelner Skins in eigenen zu vereinfachen.
 * Seit 1.20 sind Veränderungen besser lesbar.
 * In 1.21 und 1.23, wurden E-Mail Benachrichtigungen klarer und durchschaubarer, was das Wiki effektiver macht.
 * Seit 1.22, ist Vandalismus-Bekämpfung (Patrolling) weniger zeitintensiv.
 * In 1.24, wurde die Password Speicherung für mehr Sicherheit verbessert.
 * Seit 1.25 sind Neue Filter zur Bearbeitungsprüfung verfügbar.
 * In 1.26, wurde der "ResourceLoader" Mechanismus verbessert.
 * In 1.27, wurde das Session Management überarbeitet, sowie die Nutzer-Authentifizierung komplett modernisiert. InstantCommons benötigen keine lokalen Dateien mehr.
 * Seit, wurde der Cache für gerendertes HTML der Artikel-Seiten verbessert.
 * Seit, wurde das Action API überarbeitet und verbessert. Außerdem können Gruppenzuordnungen nun für eine auswählbare Zeit vorgenommen werden. Blockweises Sperren von IPs wurde ermöglicht.
 * Seit, können gesperrte Nutzer ihre E-Mail nicht mehr ändern. Die Möglichkeit der Suche nach IP-Adressen in den Benutzerbeiträgen wurde hinzugefügt.
 * Seit, sind einige Erweiterungen Teil der Kernsoftware, wie , , . Die wurde eingeführt. Die maximale Rate von 90 Bearbeitungen/Minute wurde als Voreinstellung für alle Benutzer eingeführt.
 * Seit unterstützt MediaWiki über 350 Sprachen.
 * Seit unterstützt MediaWiki "Partielle Blocks", durch die IPs und Accounts für die Bearbeitung von Seiten oder Namensräumen beschränkt werden können.
 * Seit sind mehr Erweiterungen in die Kernsoftware integriert worden:  (für LUA-Module),,.
 * Seit (eine stabile Langzeitsupport-Release), ist  Teil der Kernsoftware. Das "watch" Feature kann mit einem Ablaufdatum verbessert werden.

Mit wurde begonnen, einige unverzichtbare Erweiterungen, wie beispielsweise eine besserer Editor und die Anti-Vandalismus Werkzeuge wie ConfirmEdit und Nuke mit der Basisinstallation zu bündeln. Dadurch müssen diese Erweiterungen nicht mehr separat heruntergeladen und installiert werden. Weitere Erweiterungen folgten in späteren MediaWiki Versionen. 

Siehe auch

 * Greg Sabino Mullane's Blog post (englisch) bietet einige Details über (kleinere) Minor Upgrades.
 * Project:Support desk wenn Hilfe benötigt wird oder irgendetwas falsch läuft.
 * - wenn du kein erfolgreiches Backup hast
 * - wenn du kein erfolgreiches Backup hast
 * - wenn du kein erfolgreiches Backup hast
 * - wenn du kein erfolgreiches Backup hast
 * - wenn du kein erfolgreiches Backup hast