MediaWiki Update
Vorbereitung
- Prüfen ob neue Version Verfügbar
- ChangeLog lesen
- Upgrade Tutorial verinnerlichen https://www.mediawiki.org/wiki/Manual:Upgrading
- httpd Stoppen
systemctl stop httpd
- Backup erstellen von Documentroot
cd /var/www mv k4cg.org k4cg.org-backup-$(date +%F)
- MariaDB Dump ziehen
mysqldump --user wiki -pXXX wikidb > /root/wikidb.sql
Upgrade
Neues Mediawiki herunterladen und in k4cg.org Ordner umbenennen
cd /var/www wget http://releases.wikimedia.org/mediawiki/1.25/mediawiki-1.25.1.tar.gz tar xfvz mediawiki-1.25.1.tar.gz mv mediawiki-1.25.1 k4cg.org chown wwwrun:wwwrun -R k4cg.org
Content aus altem Wiki nachziehen
Bilder, Stats, ganz wichtig, die Config.
cd /var/www/k4cg.org cp ../k4cg.org-backup-$(date +%F)/LocalSettings.php . cp -a ../k4cg.org-backup-$(date +%F)/images .
Wenn hier in der Config nacher irgendwas nicht mehr geht, muss man sich das ChangeLog reinziehen, ob sich ConfigValues geändert haben.
Plugins
Von alt nach neu umziehen ist auch sowas, was per Hand passieren muss.
cd /var/www/k4cg.org grep require LocalSettings.php
Das gibt so in etwa alle Plugins aus die wir so nachinstalliert haben. Aufpassen, die ersten beiden (Vector, SpamBlacklist) kann man ignorieren. Die kommen automatisch mit. Danach kann man die Plugins mit sowas wie:
cd /var/www/k4cg.org/ for x in WikiEditor DiscussionDisable ConfirmAccount Widgets SecureHTML EmbedVideo UserMerge adaptivethumb MobileFrontend MsUpload; do cp -a ../k4cg.org-backup-$(date +%F)/extensions/$x/ extensions/ done
und das Stats file
cp ../k4cg.org-backup-$(date +%F)/donnerstats.php .
Aber trotzdem aufpassen, es kann auch sein das Plugins mit der neuen Version von Mediawiki nicht mehr kompatibel sind. Hierzu muss man dann einfach etwas tiefer debuggen, was das Problem ist.
Datenbank Upgrade
Ebenfalls erforderlich
cd /var/www/k4cg.org/maintenance php update.php
Immer drauf achten, dass auch der Bulk-Import in der MariaDB Config enabled ist.
Nacharbeiten
Webserver wieder starten und schauen ob noch alles passt.
systemctl start httpd systemctl status httpd