Dienstag, 14. November 2017

Mac OS: Mediawiki Upgrade von 1.16 auf 1.29.

Nach dem Mac OS update auf 10.12.6  gab es eine böse Überraschung. Mein Mediawiki ging nicht mehr.

Beim Aufruf gab es nur noch irgendwelche Fehlermedlungen:

Warning: Invalid argument supplied for foreach() in /Library/WebServer/Documents/mediawiki-1.16.5/includes/MagicWord.php on line 702

Nach kurzem googeln war klar, es gab ein Update des PCRE package. Die neue Version ist leider inkompatibel zu 1.1.16.

 
Es gibt Vorschläge im Netz den PHP Code des Mediawiki zu patchen.  Hat leider nicht funktioniert.

Mir blieb nichts weiter übrig, als auf die aktuelle Mediawiki Version 1.29.1 zu gehen. Dabei gibt es folgende Voraussetzungen:

https://www.mediawiki.org/wiki/Manual:Installation_guide/de

Upgrade MySQL DB auf 5.5.8

Es ist ein geringer Aufwand ein Backup der MySQL DB zu machen. Wenn der Datenbestand beim Upgrade beschädigt wird, läßt sich das meist kaum reparieren. Mit einem Backup ist man da auf der sicheren Seite.

Also ein Backup mit:


mysqldump -uDBUSER -pPASSWORD --databases DBNAME > wikidb.dmp

Benutzer, Password und DB-Name findet man in dem Homeverzeichnis des alten Wikis. Beim mir war das die Datei:
 
/Library/WebServer/Documents/mediawiki-1.16.5/LocalSettings.php 

Man braucht die MySQL Version 5.5.8., ich hatte nur 5.5.7. 

Ein Upgrade geht mit:

brew upgrade mysql
 
Dabei gab es ein Problem mit dem postinstall:

--initialize specified but the data directory has files in it. Aborting.

Da der mysqld mit der Option

--datadir=/usr/local/var/mysql

gestartet wird, gibt es ein Problem, wenn das Verszeichnis /usr/local/var/mysql schon existiert.  Also habe ich es gelöscht (natürlich mit Backup, man weiß ja nie :-)

OK die DB war nun erledigt.

Upgrade PHP7

Nun habe ich einen großen Fehler gemacht. Da mein MySQL über brew läuft, dachte ich mir, daß es ja sinnvoll wäre, vom bisherigen OSX Apache2 wegzugehen und auch hier mit brew zu arbeiten. 

Dabei gabe allerdings erhebliche Probleme. Der neue Apache stürzte nach der Einbindung von PHP7 immer wieder ab. Nach einer Stunde ergebnisloser Suche, habe ich mich dann dazu entschlossen, doch den OSX Apache2 zu nehmen. Wer es mit brew hinbekommen hat, kann es ja in den Kommentaren schreiben. Für brew bin ich von folgender Beschreibung ausgegangen:

https://lukearmstrong.github.io/2016/12/setup-apache-mysql-php-homebrew-macos-sierra/

Wer den Weg über OSX geht, muß php 7.1 installieren:

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1

s. Abschnitt CURL in Artikel:

How to upgrade your version of PHP to 7.0 on macOS Sierra

Eintrag der von PHP7 in die Apache2 Config /etc/apache2/httpd.conf

#Enable PHP 7 module
LoadModule php7_module /usr/local/php5-7.1.10-20171002-090111/libphp7.so

#Add PHP 7 directives
<IfModule php7_module>
 AddType application/x-httpd-php .php
 AddType application/x-httpd-php-source .phps

 <IfModule dir_module>
  DirectoryIndex index.html index.php
 </IfModule>
</IfModule>

Migration des MediaWiki

Schritte: 
  • Download des tar-Archivs
  • Archiv unter /Library/WebServer/Documents entpacken
  • Verzeichnis mit chmod -R 777 mediawiki-1.29.1 Schreibrechte für das Verzeichnis (vermutlich kann man das auch weniger großzügig auf Benutzerebene machen)
  • Migration starten mit URL:  http://localhost/mediawiki-1.29.1/mw-config/index.php
  • Im Formular für die Migration die Daten vom alten Wiki angeben. Bei mir in  /Library/WebServer/Documents/mediawiki-1.16.5/LocalSettings.php 
  • bei der Migration selbst zeigt mir das Installationsprogramm keine Fehler an
  • zum Schluß mußte ich noch die  LocalSettings.php vom Migrationsprogramm erzeugen lassen. Es heißt zwar, daß es auch ohne diese Datei funktioniert. Bei mir jedenfalls nicht. Wenn ich mich recht entsinne, war das auch schon bei 1.16.5 so.
Man muß schon genau beachten, was man in das Migrationsformular schreibt.  Wichtig ist z.B. das korrekte DBPrefix. Wenn man etwas falsch macht, werden nicht die alten Daten beschädigt sondern "nur" ein nicht funktionierendes Wiki erzeugt.

Was wirklich positiv ist, daß man offenbar die Daten von 1.16 nach 1.29 problemlos migrieren kann. Das ist nach den Jahren, die zwischen den Versionen liegen, heute nicht unbedingt selbstverständlich.

Das MediaWiki Team hat sich sichtlich Mühe bei der Doku gegeben, die Texte und auch die Benutzerführung sind aber trotzdem noch an diversen Stellen ziemlich umständlich. Warum z.B. nach Abschluß der Migration auf ein nicht funktionierendes Wiki verlinkt wird, ist mir schleierhaft.

Nun viel Erfolg bei der Migration.



 

 








Keine Kommentare:

Kommentar veröffentlichen