Manual:Restoring a wiki from backup/de

Man sollte regelmäßig ein Backup seines Wikis durchführen, auch wenn man es niemals wiederherstellen muss: Backups sorgen dafür, dass man ruhig schlafen kann. Wie auch immer, ein Backup ist sinnlos, wenn man es nicht wiederherstellen "kann", und die Übung, ein Backup wiederherzustellen, vermeidet spätere Schwierigkeiten. 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 SCP or WinSCP
 * SSH File Transfer Protocol (SFTP)
 * Using a FTP client.
 * möglicherweise stellt der Host-Service einen Filemanager über einen Web-Browser zur Verfügung; prüfen Sie das mit ihrem Provider.
 * andere Methoden sind unter List of file transfer protocols aufgeslistet

Überblick

 * 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 ein Backup aufgrund eines Datenbankfehlers wiederherstellen ziehen sie in Erwägung MySQL neu zu installieren! Wenn MySQL korrekt arbeitet, erzeugen Sie eine neue MySQL Datenbank und gewähren sie ihrem Benutzer-Account die unten aufgelisteten Berechtigungen für die Database. Sie können die [$mysql-doc/ MySQL Dokumentation], die Control Panel Dokumentation ihres Host-Providers oder die Dokumentation von den anderen Hilfsprogrammen, die sie benutzen, heranziehen, um Informationen darüber zu erhalten, wie sie dies durchführen können. Unter der Eingabeaufforderung von MySQL können sie als MySQL Root folgendes tun: You may need to consult the MySQL documentation, your hosting provider's control panel documentation, or the documentation of any other utilities you are using for information on how to do this. From the MySQL prompt as MySQL user root you can:

CREATE DATABASE wikidb; CREATE USER wikidb_user IDENTIFIED BY &#39;wikidb_userpassword&#39;; USE wikidb; GRANT SELECT, UPDATE, INSERT, DELETE, ALTER, CREATE, INDEX, DROP, LOCK TABLES, USAGE ON wikidb.* TO wikidb_user;



Import des Database Backups
Als nächsten Schritt importieren Sie ihr Database Backup. Dies erzeugt die Tabellen in der Database und füllt sie mit Daten. Der Import-Vorgang benötigt unterschiedlich lange, abhängig von der Anzahl der Seiten, Benutzer, Bearbeitungen, etc. in Ihrem Wiki. This will create the tables in the database and populate them with data. Importing takes a variable amount of time, depending upon the number of pages, users, edits, etc. in your wiki.

Methoden


Aus der Kommandozeile mit
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  und   ein. Der Parameter  bewirkt die Aufforderung zur Passworteingabe.

Weiter um eine neue Database zu erzeugen:

mysqladmin -u wikidb_user -p create wikidb

For example after backing up with mysqldump: mysqldump --default-character-set=binary --user=wikidb_user --password=wikidb_userpassword wikidb > dump_of_wikidb.sql
 * 1) Don't do this now: This is how you might have created a backup earlier.
 * 1) The wikidatabase wikidb from which you backed up may have a different name
 * 2) than the wikidatabase wikidb you've created above. Of course wikidb_user and
 * 3) wikidb_userpassword may be different as well.

Stellen Sie sicher, dass das korrekte Character Set eingestellt ist, andernfalls könnte die Wiederherstellung fehlschlagen. Prüfen Sie in der, welches Character Set eingestellt ist.

Um  von der Kommandozeile aus zu importieren, machen Sie einfach folgende Eingabe:

mysql -u wikidb_user -p wikidb < dump_of_wikidb.sql

und geben Sie anschließend - falls nötig - ein:

php wikifolder/maintenance/update.php
 * 1) Most people name their wikifolder simply "w", making this pathname
 * 2) something like "htdocs/w/maintenance/update.php"

See also Executing SQL Statements from a Text File



Mit dem Browser für phpMyAdmin
Öffnen Sie im Browser ihr phpMyAdmin, loggen sie sich ein, wählen Sie die Wiki Database (Schauen Sie in LocalSettings.php den Namen nach, wenn Sie sich nicht sicher sind). Wählen sie Structure, localhost, Your_Table. Wählen Sie CheckAll. Wählen Sie aus dem Drop-Down-Menue Drop und dann OK, um die alte Tabelle zu löschen. Klicken Sie auf Import, wählen Sie Browse, wählen Sie ihr SQL-File aus und anschließend Importieren. Klicken sie auf Go.

Bitte denken Sie auch daran, die File System Komponenten des Wikis wiederherzustellen, die benötigt werden, z.B. images, Logo und Extensions (siehe oben unter mysql).

Abhängig von den timeout settings und der Größe des SQL Files kann es mehrere Versuche nötig machen, alles zu importieren. Führt man den Import nicht vollständig durch, kann dies zu einem inkonsistenten Status der Database führen, z.B. fehlende Revisionen Failure to complete the import may leave the database in an inconsistent state, e.g. with missing revisions.



externe Links

 * Siteground: MySQL Export: How to backup a MySQL database using phpMyAdmin beschreibt ebenfalls die Wiederherstellung eines Backups
 * Restoring the Database
 * phpMyAdmin



Mit einem XML dump
Hauptartikel:

Um einen XML Dump in ein Wiki zu importieren, benutzen Sie die Kommandozeile. 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,   und   entsprechend.

Anschließend benutzen Sie, um images zu importieren: php wikifolder/maintenance/importImages.php wikifolder_backup/images 

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


 * Wenn Sie der Anleitung zum Backup gefolgt sind und ein Backup des gesamten Verzeichnisses durchgeführt haben, dann schließt dies die Verzeichnisse images und extensions plus custom skins, etc. und die Konfigurationsdatei ein.
 * Wenn sie nur von Teilen des Verzeichnisses, z.B. images, extensions etc. ein Backup gemacht haben, müssen Sie zunächst ein Upload / eine Neu-Installation der MediaWiki-Files vornehmen und anschließend die Verzeichnisse und Dateien aus dem Backup an die richtigen Positionen im neuen Verzeichnisbaum verschieben.



Löschen und Wiederherstellen des Wiki Filesystems
Denken Sie auch daran, die Filesystemkomponenten des Wiki wiederherzustellen, die benötigt werden z.B. images, Logo und Extensions. Editieren sie die, um zu überprüfen, ob alles korrekt eingestellt ist. Eine Sequenz von Linux Befehlen, um das Wiki-Filesystem zu löschen und wiederherzustellen, könnte so aussehen:

wget http://download.wikimedia.org/mediawiki/ /mediawiki-.tar.gz tar -xvzf mediawiki-.tar.gz rm mediawiki-.tar.gz rm -fR wikifolder/ mv mediawiki- 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. Siehe für Details. Falls nötig können Sie den Kommandozeilen-Installer  starten. Wenn das getan ist, editieren Sie, um die Neuinstallation, die Zeilen für Extensions, etc anzupassen. Stellen Sie aus dem Backup andere Dateien, wie z.B. das Logo und Favicon in den richtigen 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.
 * stellen Sie auch sicher, das jedes Extension-Verzeichnis ebenfalls die korrekten Berechtigungen hat (z.B. bei Linux:  oder  ).
 * Die beste Methode, wenn Sie ein Wiki 'händisch' von einer Windows-Plattform auf eine Linux-Plattform übertragen, beinhaltet:
 * Installieren Sie MediaWiki manuel auf der Linux-Plattform aus einem tar-File wie hier beschrieben:Manual Install of Wiki (d.h. versuchen Sie nicht, das Wiki über eine automatisiertes Package zu installieren)
 * Ersetzen sie das neu installierten MediaWiki Verzeichnis (z.B. ...) auf ihrer Linux-Maschine mit dem MediaWiki Basis-Verzeichnis auf ihrer Windows-Maschine.
 * Führen Sie ein Update der MySQL->Database (z.B. wikidb) auf ihrer Linux-Maschine mit der Wiki-Database ihrer Windows-Maschine durch (d.h. benutzen Sie die Backup- und Restore-Features von mysql wie oben beschrieben).
 * Nachdem Sie eine Wiki-Database importiert haben, könne einige kleinere Probleme auftreten, auch wenn die Database funktioniert:
 * Der Suchindex könnte repariert werden müssen: Geben Sie in phpMyAdmin  ein, um den Suchindex neu aufzubauen. wikidb ist dabei der Name ihrer Database.
 * Die Sortierung einiger Reihen kann sich geändert haben. Vergleichen Sie das mit der Original-Database.



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


 * Wenn Sie den Restore auf den gleichen Server, von dem Sie das Backup gemacht haben, durchführen, werden Sie wahrscheinlich nichts ändern müssen.
 * Wenn Sie den Restore auf einen neuen Server durchführen (d.h. wenn sie das Wiki verschieben oder duplizieren), werden bestimmte Einträge fast zweifellos Änderungen benötigen und Sie werden die Informationen zur Verbindung der Database ebenso ändern müssen.

Prüfen sie die folgenden Konfigurationsoptionen:

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

Test
Versuchen Sie an diesem Punkt auf das Wiki auf dem neuen Server zuzugreifen und es zu benutzen. Loggen Sie sich als SysOp und als normaler Benutzer ein und prüfen Sie, ob das Betrachten, Erzeugen und Bearbeiten von Seiten und der Upload von Dateien immer noch funktioniert. Sie müssen jedes Problem, das entweder PHP oder MediaWiki selbst meldet, beheben.



häufige Probleme
Nach dem Verschieben (ihres Wikis) könnten PHP-Warnungen auftreten, die darauf hinweisen, dass auf bestimmte Dateien nicht zugegriffen werden kann. Dies wird höchstwahrscheinlich von T37472 verursacht: Die Spalte md_deps im module-deps-Table enthält absolute Verzeichnispfade, welche gewöhnlich verwendet werden, um die Images und Less-Files lokalisieren, von denen CS abhängt. Diese Pfadangaben werden fehlerhaft, wenn das Wiki beispielsweise in einen anderen Ordner oder auf einen anderen Server verschoben wird.

Bis dieser Fehler gelöst ist, können Sie diesen Workaround verwenden, um manuell falsche Einträge im module_deps-Table zu beheben. Dies kann benutzt werden, um falsche Pfadangaben zu korrigieren und den Fehler zu beheben.



Siehe auch

 * (wenn Sie kein erfolgreiches Backup hatten)
 * Skript: Fullsiterestore
 * (wenn Sie kein erfolgreiches Backup hatten)
 * Skript: Fullsiterestore
 * Skript: Fullsiterestore
 * Skript: Fullsiterestore



Externe Links

 * Detaillierte Anleitung zur 'Migration auf einen neuen Server'