Handbuch:Wiederherstellen eines Wikis aus Sicherungskopien
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:
- Secure copy with putty or WinSCP
- SSH File Transfer Protocol (SFTP)
- Using a FTP client.
- möglicherweise stellt der Host-Service einen Dateimanager über einen Webbrowser zur Verfügung; prüfen Sie das mit ihrem Provider.
- andere Methoden sind unter List of file transfer protocols aufgeslistet
Übersicht
- Wiederherstellung der Database, Benutzer und Berechtigungen
- Import des Database-Backups
- Import der MediaWiki-Files
- Überprüfung der Konfigurationsdatei
- Test
Wiederherstellung der Database, Benutzer und Berechtigungen
Stellen Sie sicher, dass sie auf dem Server, auf dem sie MediaWiki wiederherstellen, Folgendes haben:
- eine funktionierende Instanz von MySQL
- 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;
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“.
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.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
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.42/mediawiki-1.42.3.tar.gz tar -xvzf mediawiki-1.42.3.tar.gz rm mediawiki-1.42.3.tar.gz rm -fR wikifolder/ mv mediawiki-1.42.3 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
oderchmod -R o=rx includes
) - Die beste Vorgehensweise bei der manuellen Übertragung eines Wikis von einer Windows-Plattform auf eine Linux-Plattform ist die folgende:
- 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)
- 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. - 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:
- 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. - Die Sortierung einiger Zeilen kann geändert sein. Überprüfen Sie sie mit der ursprünglichen Datenbank.
- Der Suchindex muss möglicherweise repariert werden: Geben Sie in phpMyAdmin
Ü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 |
|
$wgArticlePath | muss für die Pfade auf dem neuen Server korrigiert werden |
Beispiele: |
$wgDBserver | Prüfen Sie, ob der Database Server Name korrekt ist |
Beispiel: |
$wgDBname | Dies könnte sich in einer Shared-Hosting-Umgebung geändert haben |
|
$wgDBuser | Dies könnte sich in einer Shared-Hosting-Umgebung geändert haben |
|
$wgDBpassword | Prüfen Sie, ob das für einen neuen User korrekt ist |
|
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
- Anleitung:Backup eines Wikis
- Anleitung: Verschiebung eines Wikis
- Manual:Restoring wiki code from cached HTML (wenn Sie kein erfolgreiches Backup hatten)
- Handbuch:Aktualisierung
- Handbuch:Installation von MediaWiki
- Skript: Fullsiterestore
- Handbuch:importImages.php