MediaWiki Ergänzungen: Unterschied zwischen den Versionen
Geli (Diskussion | Beiträge) |
Geli (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 15: | Zeile 15: | ||
Tritt der Fehler "Es gab ein Problem bei der Übertragung deiner Benutzerdaten. Diese Aktion wurde daher sicherheitshalber abgebrochen, um eine falsche Zuordnung deiner Änderungen zu einem anderen Benutzer zu verhindern..." bei der ersten Anmeldung auf, muss folgendes in die LocalSettings.php eingetragen werden (am Ende): | Tritt der Fehler "Es gab ein Problem bei der Übertragung deiner Benutzerdaten. Diese Aktion wurde daher sicherheitshalber abgebrochen, um eine falsche Zuordnung deiner Änderungen zu einem anderen Benutzer zu verhindern..." bei der ersten Anmeldung auf, muss folgendes in die LocalSettings.php eingetragen werden (am Ende): | ||
$wgSessionCacheType = CACHE_DB; | $wgSessionCacheType = CACHE_DB; | ||
===Problem mit Poem-Extension=== | |||
Falls die poem-Tag nicht funktioniert bzw. wirkungslos ist, muss in der LocalSettings.php am Ende | |||
wfLoadExtension( 'Poem' ); | |||
eingetragen werden.<br /> | |||
<br /> | <br /> | ||
Die folgenden Schritte gehen davon aus, dass ein leeres WIKI am Zielserver installiert ist. | Die folgenden Schritte gehen davon aus, dass ein leeres WIKI am Zielserver installiert ist. |
Aktuelle Version vom 28. September 2020, 21:12 Uhr
https://sharkysoft.com/wiki/how_to_move_a_MediaWiki_wiki_from_one_server_to_another
https://www.mediawiki.org/wiki/Manual:Moving_a_wiki
WIKI-Installation Diskstation
Die Installationsumgebung auf der Diskstation befindet sich auf
/volume1/web/MediaWiki/LocalSettings.php /volume1/web/MediaWiki/images
WIKI aus dem Internet aufrufen (externer Zugriff)
Für den externen Zugriff muss die Variable $wgServer auf
$wgServer = "http://xxxxx.xxxxx.net";
gesetzt werden. Der ursprüngliche Inhalt kann mit # auskommentiert werden.
Problem bei der ersten Anmeldung
Tritt der Fehler "Es gab ein Problem bei der Übertragung deiner Benutzerdaten. Diese Aktion wurde daher sicherheitshalber abgebrochen, um eine falsche Zuordnung deiner Änderungen zu einem anderen Benutzer zu verhindern..." bei der ersten Anmeldung auf, muss folgendes in die LocalSettings.php eingetragen werden (am Ende):
$wgSessionCacheType = CACHE_DB;
Problem mit Poem-Extension
Falls die poem-Tag nicht funktioniert bzw. wirkungslos ist, muss in der LocalSettings.php am Ende
wfLoadExtension( 'Poem' );
eingetragen werden.
Die folgenden Schritte gehen davon aus, dass ein leeres WIKI am Zielserver installiert ist.
Backup der Datenbank
Zuerst wird die Datenbank mit den Seiteninhalten gesichert. Folgende Parameter aus der LocalSettings.php werden dabei benötigt:
your wiki's database name | $wgDBname | wikidb |
your wiki's database username | $wgDBuser | wikiuser |
your wiki's database password | $wgDBpassword | wikipassword |
mysqldump -uwikiuser -pwikipassword wikidb -c > wikidb.sql
-c entspricht --complete-insert (includes column names)
Bei Auftreten des Fehlers "mysqldump: Got error: 1044: Access denied for user 'wikiuser'@'localhost' to database 'wikidb' when using LOCK TABLES":
mysqldump -uwikiuser -pwikipassword wikidb -c --skip-lock-tables > wikidb.sql
Das Ergebnis kann man komprimieren mit:
gzip wikidb.sql
und man erhält als Output die Datei wikidb.sql.gz, die am besten auf ein externes Laufwerk (USB-Stick) kopiert wird.
Backup der media files
Mediawiki speichert Bilder nicht in der Datenbank, sondern in einem Ordner des Filesystems namens images. Das funktioniert nur als root.
sudo tar -czvf images.tgz /var/www/mediawiki/images/
oder
sudo su cd /var/www/mediawiki tar -czvf images.tgz images/
c=neues Archiv, z=Archiv mit gzip (de)komprimieren, v=ausführliche Ausgabe, f=Archiv in file schreiben
Die Datei images.tgz wird auf das externe Laufwerk kopiert. Auch auf das Logo
/var/www/mediawiki/resources/assets/wiki.png
soll nicht vergessen werden.
Importieren der Datenbank am Zielserver
Nun wechsel man auf den neuen Server. Dort werden die Dateien vom externen Laufwerk ins User-Verzeichnis kopiert. Danach erfolgt der Import in die Datenbank.
gunzip -c wikidb.sql.gz | sudo mysql -C -p wikidb
-C=compress all information sent betweeen client and server, -p=password -> prompt
Ziel-"wikidb" ist der Name der Datenbank auf dem Zielserver (siehe LocalSettings.php). Man kann die beiden Befehle natürlich auch getrennt ausführen.
Importieren der media files am Zielserver
Mit dem Datenbankimport haben wir die Seiten ins neue Wiki importiert. Nun fehlt noch der Restore der Bilder. Zuerst wird images.tgz in den Userordner kopiert und wird dort entpackt. Keinesfalls darf das Archiv unter Windows entpackt werden, weil danach der Zeichensatz nicht mehr stimmt!
tar -xzvf images.tgz
x=Dateien aus einem Archiv extrahieren Falls man viele Bilder hat, kann man auf die "v"-Option beim tar-command verzichten.
Anschließend wird der Originalordner images gelöscht
sudo rm -r /var/www/mediawiki/images
Nun wird der images-Ordner aus dem Userverzeichnis nach /var/www/mediawiki/ kopiert.
cd /var/www/mediawiki/ (im Userverzeichnis!) sudo cp -R images /var/www/mediawiki/
Zuletzt muss mit großer Wahrscheinlichkeit noch der Owner angepasst werden:
sudo chown -R www-data:www-data /var/www/mediawiki/images
Sollten die Bilder beim Test trotzdem nicht erscheinen, müssen möglicherweise die Zugriffsrechte angepasst werden.
sudo chmod -R 755 /var/www/mediawiki/images (für Ordner images und alles darunter) sudo chmod 750 /var/www/mediawiki/images (nur für den Ordner images)
Nachbemerkungen
This guide did not address backing up the actual MediaWiki software, or your wiki's settings file, because we began by assuming you already had a working, empty wiki on the new server. There is also a strong likelihood that when you built your new, empty wiki, you selected at least one or two settings that were different from your old wiki's settings. After all, you were probably upgrading.
If you have done anything to customize the behavior of your old wiki, then you'll probably need to copy most of those custom settings into the new wiki. Generally, these customizations are stored as changes to your wiki's LocalSettings.php file, usually appended to the end of the stock file. I recommend against copying the whole file blindly, as there are some settings determined during wiki initialization that are not very portable.
Another thing to consider is the extensions folder. If you find that your new wiki shows only blank pages, or you get strange errors, it may be because extensions were not properly considered during the wiki move. Your old wiki may depend on certain extensions that were available on the old server. To preserve extension-specific behavior in the new wiki, you should ensure that the new server has all the extensions available that were enabled in your old wiki.
The handling of these issues is left as an exercise to the wikimaster. I don't feel too terrible about this, because you're probably the geek who customize your old wiki in the first place! If I'm right, I doubt you'll have any trouble re-enabling the same customizations. I just wanted to mention it here in case you forgot. Good luck!
Datenbankpflege
Nach der Übertragung der Datenbank sollte man überprüfen, ob alles ok ist:
mysqlcheck -hlocalhost -uDB_USER -pPASSWORT db_neu
Sollte es Fehler anzeigen, dann versucht diese mittels folgenden Befehl zu reparieren:
mysqlcheck -hlocalhost -uDB_USER -pPASSWORT db_neu --auto-repair
Danach sollte die Anwendung wieder sauber auf die Datenbank zugreifen können.