Handbuch:Wiederherstellen eines Wikis aus Sicherungskopien

From mediawiki.org
This page is a translated version of the page Manual:Restoring a wiki from backup and the translation is 100% complete.

Man sollte regelmäßig seine Wiki-Datensicherung durchführen, auch wenn man es niemals wiederherstellen muss: Datenabsicherungen sorgen dafür, dass man ruhig schlafen kann. Eine Absicherung ist jedoch nutzlos, im Falle, daß man sie nicht wiederherstellen kann, und eine Datenabsicherung daher üblich wieder herzustellen, beugt späteren Ärgernissen vor. Daher die folgende Anleitung.

Versionen und Updating

Die Anleitung auf dieser Seite sollte für mehr oder weniger alle bestehenden Versionen von MediaWiki zutreffend sein. Man kann die Database auf einer weiter zurückliegende Version von MediaWiki wiederherstellen, aber sollte sicherstellen, das Update-Skript durchzuführen. Die Wiederherstellung einer Database einer neueren Version in einer älteren Version der Software wird nicht unterstützt.

Dateiübertragung

Außer wenn sie direkten Zugriff auf den Server, auf dem das Wiki gehostet ist haben, (und selbst dann) können sie eine Methode auswählen, um die Datenfiles zu übertragen:

Übersicht

  1. Wiederherstellung der Database, Benutzer und Berechtigungen
  2. Import des Database-Backups
  3. Import der MediaWiki-Files
  4. Überprüfung der Konfigurationsdatei
  5. Test

Wiederherstellung der Database, Benutzer und Berechtigungen

Stellen Sie sicher, dass sie auf dem Server, auf dem sie MediaWiki wiederherstellen, Folgendes haben:

  1. eine funktionierende Instanz von MySQL
  2. einen MySQL Benutzer mit notwendigen Berechtigungen, wenn Sie nicht MySQL Root benutzen können

Wenn Sie aufgrund einer beschädigten Datenbank von einem Backup wiederherstellen, sollten Sie eine Neuinstallation von MySQL in Erwägung ziehen! Sobald MySQL ordnungsgemäß funktioniert, erstellen Sie eine neue MySQL-Datenbank und gewähren Sie Ihrem Benutzerkonto Berechtigungen für die unten aufgeführte Datenbank. In der Dokumentation, der Dokumentation des Control Panels Ihres Hosting-Providers oder der Dokumentation anderer Dienstprogramme, die Sie verwenden, wird erklärt, wie das geht. Am MySQL-Prompt können Sie sich als MySQL-Benutzer root anmelden:

CREATE DATABASE wikidb;
CREATE USER wikidb_user IDENTIFIED BY 'wikidb_userpassword';

USE wikidb;
GRANT SELECT, UPDATE, INSERT, DELETE, ALTER, CREATE, INDEX, DROP, LOCK TABLES, USAGE ON wikidb.* TO wikidb_user;
Es spielt keine Rolle, wenn die Datenbank nicht denselben Namen hat; in einer kommerziellen Hosting-Umgebung, in der den Datenbanknamen in der Regel der Benutzername des Hosting-Kontos vorangestellt wird, ist ein unterschiedlicher Datenbankname fast immer zu erwarten. Ebenso kann sich der Benutzername und das Passwort des Benutzers voneinander unterscheiden. Sie müssen die Datei LocalSettings.php an der neuen Stelle entsprechend anpassen.

Import des Datenbank-Backups

See also Manual:Importing XML dumps

Als nächsten Schritt importieren Sie ihr Datenbank-Backup. Dadurch werden die Tabellen in der Datenbank erstellt und mit Daten gefüllt. Der Import kann je nach der Anzahl der Seiten, Benutzer, Bearbeitungen usw. in Ihrem Wiki unterschiedlich lange dauern.

Methoden

Aus der Kommandozeile mit mysqladmin

Wenn eine Database existiert und Sie sie komplett durch das Backup ersetzen wollen. Um die vorhandene Database zu entfernen:

mysqladmin -u wikidb_user -p drop wikidb

Setzen sie die zutreffenden Werte für wikidb_user und wikidb ein. Mit dem Parameter -p werden Sie zur Eingabe des Passworts aufgefordert.

Dann legen Sie eine neue Datenbank an:

mysqladmin -u wikidb_user -p create wikidb

Zum Beispiel nach einer Datensicherung mit mysqldump:

# Machen Sie jetzt nicht dieses: Auf diese Weise hätten Sie vorher ein Backup erstellen können.
mysqldump --default-character-set=binary --user=wikidb_user --password=wikidb_userpassword wikidb > dump_of_wikidb.sql
# Die Wiki-Datenbank wikidb, von der Sie ein Backup erstellt haben,
# kann einen anderen Namen haben als die oben erstellte Wiki-Datenbank wikidb.
# Natürlich können auch wikidb_user und wikidb_userpassword unterschiedlich sein.

Achten Sie darauf, dass Sie den richtigen Zeichensatz angeben, sonst kann die Wiederherstellung fehlschlagen. Prüfen Sie LocalSettings.php, um herauszufinden, um welchen Zeichensatz es sich handelt.

Um dump_of_wikidb.sql von der Kommandozeile aus zu importieren, tun Sie einfach Folgendes:

mysql -u wikidb_user -p wikidb < dump_of_wikidb.sql

und danach, falls erforderlich:

php wikifolder/maintenance/update.php
# Die meisten Leute nennen ihren wikifolder einfach „w“, sodass der Pfadname 
# ungefähr so lautet: „htdocs/w/maintenance/update.php“.
Nachdem Sie dump verwendet haben, sollten Sie mysqlimport nicht verwenden, um Ihre Wikidatenbank wiederherzustellen. Sie müssen sql verwenden. Denn mysqlimport erfordert, dass die Daten in einem eingeschränkten Textformat, z.B. CSV, geladen werden, während die Ausgabe von mysqldump eine Aneinanderreihung von SQL-Anweisungen ist.
Wenn sie das alte LocalSettings.php nicht in die neue Installation übertragen, stellen sie sicher, dass das Datenbank-Präfix in der neuen Installation auf das der früheren Installation gesetzt ist, bevor sie php update.php starten.

Siehe auch: Ausführen von SQL-Anweisungen aus einer Textdatei

Wenn Ihre Website nach dem Importieren eines Datenbank-Dumps langsam ist, müssen Sie möglicherweise die Indexierung neu erstellen. Siehe: Nach dem Importieren von Sql-Dateien sind Indizes vorhanden, aber nicht wirklich indiziert

Mit dem Browser über phpMyAdmin

Öffnen Sie den Browser zu Ihrer phpMyAdmin Anwendung, melden Sie sich an und wählen Sie die Wiki-Datenbank. (Schauen Sie in LocalSettings.php nach, wenn Sie sich nicht sicher sind). Befolgen Sie die Anweisungen in der phpMyAdmin Dokumentation.

Mit einem XML dump

Hauptartikel:Handbuch:XML-Dumps importieren

Um einen XML Dump in ein Wiki zu importieren, benutzen Sie die Kommandozeile importDump.php . Führen Sie folgendes durch:

php wikifolder/maintenance/importDump.php --dbpass wikidb_userpassword --quiet --wiki wikidb path-to-dumpfile/dumpfile.xml
php wikifolder/maintenance/rebuildrecentchanges.php

Ersetzen sie wikidb_userpassword, wikidb und path-to-dumpfile/dumpfile.xml entsprechend.

Anschließend benutzen Sie ImportImages.php , um Images zu importieren:

php wikifolder/maintenance/importImages.php wikifolder_backup/images

Importieren der MediaWiki Files

See also Manual:importImages.php

Als Nächstes stellen sie ihr Backup des MediaWiki Filesystems wieder her: Das ist der letzte "große" Schritt im Wiederherstellungsprozess.

  • Wenn Sie den Anweisungen des Backup-Handbuchs gefolgt sind und das gesamte Verzeichnis gesichert haben, umfasst dies auch die Verzeichnisse für Bilder und Erweiterungen sowie benutzerdefinierte Skins usw. und die Konfigurationsdatei.
  • Wenn Sie nur Teile des Verzeichnisses gesichert haben, z. B. Bilder, Erweiterungen usw., müssen Sie zunächst eine neue Installation der MediaWiki-Dateien hochladen/kopieren und dann die gesicherten Verzeichnisse und Dateien an die richtigen Stellen im neuen Dateisystem übertragen.

Löschen und Wiederherstellen des Wiki Filesystems

Denken Sie daran, auch die Dateisystemkomponenten des Wikis wiederherzustellen, die möglicherweise benötigt werden, z. B. Bilder, Logos und Erweiterungen. Vor allem das Bearbeiten von LocalSettings.php, um zu prüfen, ob alles korrekt ist. Eine Reihenfolge von Linux-Befehlen zum Löschen und Wiederherstellen des Wiki-Dateisystems könnte wie folgt aussehen:

wget http://download.wikimedia.org/mediawiki/1.41/mediawiki-1.41.1.tar.gz
tar -xvzf mediawiki-1.41.1.tar.gz
rm mediawiki-1.41.1.tar.gz
rm -fR wikifolder/
mv mediawiki-1.41.1 wikifolder
rm -fR wikifolder/extensions/
cp -R wikifolder_backup/extensions wikifolder/extensions

Öffnen Sie das Wiki im Browser und klicken Sie auf den "Set up the wiki first"-Link. Für Details siehe Handbuch:Konfigurations-Skript . Bei Bedarf können Sie das Kommandozeilen-Installationsprogramm php wikifolder/maintenance/install.php ausführen. Danach bearbeiten Sie LocalSettings.php, um es an die neue Installation anzupassen, indem Sie Zeilen für Erweiterungen usw. wiederherstellen. Stellen Sie alle anderen Dateien, wie z. B. ein benutzerdefiniertes Logo und ein Favicon, aus der Sicherungskopie in den korrekten Pfaden wieder her.

Wenn Sie nicht als Linux/Unix Root installiert haben und die Bilder und Thumbnails nicht funktionieren, müssen Sie Besitzer oder Berechtigungen an den Ordnern, die die hochgeladenen Bilder beinhalten - normalerweise unter wikifolder/images - "rekursiv" anpassen.

Hinweise

  • Wenn Sie letzterem Prozess folgen, stellen Sie sicher, dass ihre Neuinstallation aus der gleichen Version von MediaWiki besteht wie die alte.
  • Prüfen Sie, ob für das Upload-Verzeichnis (z.B. images in Version 13) die korrekten Berechtigungen gesetzt sind, wenn Sie Uploads benutzen; der Web-Server muss Schreibzugriff darauf haben.
  • Vergewissern Sie sich, dass alle Erweiterungsverzeichnisse auch die richtigen Berechtigungen haben (z. B. bei Linux: chmod -R o=rx extensions oder chmod -R o=rx includes)
  • Die beste Vorgehensweise bei der manuellen Übertragung eines Wikis von einer Windows-Plattform auf eine Linux-Plattform ist die folgende:
    1. Manuelle Installation von MediaWiki auf der Linux-Plattform aus einer tar-Datei wie hier beschrieben: Manuelle Wiki-Installation (d.h. versuchen Sie nicht, die Installation aus einem automatisierten Paket zu verwenden)
    2. Ersetzen sie das neu installierten MediaWiki Verzeichnis (z.B. /var/www/mediawiki...) auf ihrer Linux-Maschine mit dem MediaWiki Basis-Verzeichnis auf ihrer Windows-Maschine.
    3. Aktualisieren der MySQL-Datenbank Ihres Linux-Rechners (z. B. wikidb) mit der Wiki-Datenbank Ihres Windows-Rechners (d. h. Nutzung der Sicherungs- und Wiederherstellungsfunktionen von mysql wie oben beschrieben)
  • Nachdem eine Wiki-Datenbank importiert wurde, können kleinere Probleme auftreten, obwohl die Datenbank funktioniert:
    1. Der Suchindex muss möglicherweise repariert werden: Geben Sie in phpMyAdmin REPAIR TABLE wikidb.searchindex; ein, um den Suchindex neu aufzubauen. wikidb ist der Name Ihrer Datenbank.
    2. Die Sortierung einiger Zeilen kann geändert sein. Überprüfen Sie sie mit der ursprünglichen Datenbank.

Überprüfen der Konfigurationsdatei

Die letzte Aufgabe beinhaltet die Überprüfung und möglicherweise die Veränderung der LocalSettings.php -Datei.

  • Wenn Sie auf demselben Server wiederherstellen, von dem Sie ein Backup erstellt haben, müssen Sie wahrscheinlich nichts ändern.
  • Wenn Sie das MediaWiki auf einem neuen Server wiederherstellen (d.h. wenn Sie das MediaWiki verschieben oder duplizieren), müssen bestimmte Einträge fast sicher geändert werden, und Sie müssen möglicherweise auch die Verbindungsdaten der Datenbank ändern.

Prüfen Sie die folgenden Konfigurationsoptionen:

Konfigurationsoption notwendige Aktion Voreinstellung/Beispiel
$IP muss für die Pfade auf dem neuen Server korrigiert werden

(Bleibt gewöhnlich gleich, daher keine Änderung notwendig)

Voreinstellung(Default):
 if( defined( 'MW_INSTALL_PATH' ) ) {
 	$IP = MW_INSTALL_PATH;
 } else {
 	$IP = dirname( __FILE__ );
 }
$wgScriptPath muss für die Pfade auf dem neuen Server korrigiert werden

$wgScriptPath = "wikifolder";
Beispiel:
$wgScriptPath = "/w";

$wgArticlePath muss für die Pfade auf dem neuen Server korrigiert werden

Beispiele:
$wgArticlePath = "$wgScriptPath/$1";
$wgArticlePath = "/wiki/$1";

$wgDBserver Prüfen Sie, ob der Database Server Name korrekt ist

Beispiel:
$wgDBserver = "localhost";

$wgDBname Dies könnte sich in einer Shared-Hosting-Umgebung geändert haben

$wgDBname = "wikidb";

$wgDBuser Dies könnte sich in einer Shared-Hosting-Umgebung geändert haben

$wgDBuser = "wikidb_user";

$wgDBpassword Prüfen Sie, ob das für einen neuen User korrekt ist

$wgDBpassword = "wikidb_userpassword";

Es könnte auch nötig sein, dass Sie die Pfade zu diff3, ImageMagick, etc. überprüfen müssen.

Testen

Jetzt können Sie versuchen, auf das Wiki auf dem neuen Server zuzugreifen und es zu benutzen. Melden Sie sich als Administrator und als normaler Anwender an und überprüfen Sie, ob das Anzeigen, Erstellen und Bearbeiten von Seiten und das Hochladen von Dateien noch funktioniert. Sie müssen alle Probleme beheben, die entweder von PHP oder von MediaWiki selbst gemeldet werden.

Häufige Probleme

Nach dem Umzug werden Sie möglicherweise PHP-Warnungen sehen, die besagen, dass auf bestimmte Dateien nicht zugegriffen werden konnte. Dies wird höchstwahrscheinlich durch phabricator:T37472 verursacht: Die Spalte md_deps in der Tabelle module-deps enthält absolute Dateipfade, die verwendet werden, um die Bilder und LESS-Dateien zu finden, von denen CSS abhängig ist. Diese Pfade werden ungültig, wenn das Wiki z.B. in einen anderen Ordner oder auf einen anderen Server verschoben wird.

Bis dieser Fehler behoben ist, können Sie diesen Workaround verwenden, um falsche Einträge in der Tabelle module_deps manuell zu korrigieren:

SET @old='wiki.old-domain.org';
SET @new='wiki.new-domain.org';

UPDATE `module_deps` SET `md_deps` = REPLACE( `md_deps`, @old, @new );

Dies kann benutzt werden, um falsche Pfadangaben zu korrigieren und den Fehler zu beheben.

Siehe auch

Einzelnachweise