Seit März habe ich auf dem eigenen localhost
eine MediaWiki-Installation gestylt, mit Inhalt gefüllt und mit Erweiterungen versehen (Spezialseiten und Parser-Hooks, teilweise selbst zusammengehackt). Jetzt ist das Wiki fast bereit für das Licht der Öffentlichkeit. Daher habe ich es jetzt auf meinen Webserver „migriert“. Davor hatte ich ein bisschen Angst gehabt, es ging aber ganz gut. Zum Glück sind die PHP-Konfigurationen auf beiden Servern ziemlich ähnlich. So war nur Folgendes zu tun:
- Dateien hochladen
- Einige aus Faulheit hartkodierte URLs im Style-Skript aktualisieren
- Datenbank-Tabellen per phpMyAdmin exportieren und importieren – hier musste ich die Riesentabelle
mw_text
in zwei Teilen hochladen. - In
LocalSettings.php
den$wgScriptPath
anpassen. Für das „Wurzelverzeichnis“ einer Domain ist das nicht etwa"/"
, sondern""
. - MediaWiki unterstützt die Kommunikation mit der Datenbank in UTF8 bisher nur experimentell und optional. Die Inhalte von Wiki-Seiten werden binär, also als BLOBs gespeichert. Die Seitentitel dagegen werden UTF8-kodiert in Feldern gespeichert, die als
latin1_bin
gekennzeichnet sind. Das führt – aufgrund einer Fehlfunktion phpMyAdmins? – bei jedem Import/Export dazu, dass die Seitentitel um eine Stufe weiter hieroglyphisiert werden. Aus Menü wird Menü, beim nächsten mal würde daraus etwas mit vier komischen Zeichen, und so weiter. Zwei Lösungen habe ich ausprobiert:- Quickfix: Die experimentelle Unterstützung für kodierungsbewusste Kommunikation mit der Datenbank ausschalten (
LocalSettings.php
:$wgDBmysql5 = false
), sodass MediaWiki die Zeichen selbst richtig rechnet. Funktionierte, war aber keine gute Idee, da ich die Unterstützung eigentlich eingeschaltet hatte, um in Erweiterungen UTF8-Strings ohne zeitraubendes Konvertieren aus meinen eigenen Tabellen holen und ausgeben zu können. Meine Erweiterungen produzierten jetzt UTF8-ungültige Strings und übergaben sie dem Parser, worauf dieser mit kommentarloser Arbeitsverweigerung reagierte. Ich habe sehr lange gebraucht, um herauszufinden, wieso meine Spezialseiten plötzlich leer waren. Also schnell wieder$wgDBmysql5 = true
und… - …in Handarbeit alle Seiten mit Sonderzeichen im Titel „verschieben“. :-(
- Quickfix: Die experimentelle Unterstützung für kodierungsbewusste Kommunikation mit der Datenbank ausschalten (
In der Hoffnung, dass diese Notizen mal jemandem helfen, der vor einer ähnlichen Aufgabe steht.
tatsache – scheint nen problem von phpmyadmin zu sein.
werden die entsp. mediawiki-tabellen per mysqldump exportiert und auf dem zielserver auch wieder per terminal-mysql importiert, läuft alles einwandfrei…
Ich habe das selbe vor, ich werde es erstmal versuchen. Sonst muss ich wohl doch die über 300 Artikel per Hand kopieren.
Also,
phpMyBackupPro nehmen.
BackUp machen und auf der anderen Seite wieder importieren und dann stimmen alle Umlaute :)
Danke für den Tipp!
Danke für den Tipp…so werden wir das demnächst auch machen…!