Wiki:MediaWiki 1.39
Migration 2025
MediaWiki 1.39 ist eine LTS Version von MediaWiki die als stabile Version im November 2022 veröffentlicht wurde. Offizielles Lebensende dieser Version laut https://www.mediawiki.org/wiki/Version_lifecycle/de ist November 2025.
Gitlab - Projekt für die Umstellung von GenWiki auf MediaWiki
Spielwiesen / Playgrounds
Seit Oktober 2024 stehen unter http://playground-mw.bitplan.com/ vierundvierzig vorkonfigurierte MediaWiki 1.39 installationen Bereit, mit denen Detailprobleme für den Upgrade überprüft werden können. Das Prinzip ist auf Zeus beschrieben.
Hetzner genwiki39
profiwiki/py-3rdparty-mediawiki installieren
pipx install py-3rdparty-mediawiki
installed package py-3rdparty-mediawiki 0.15.4, installed using Python 3.12.3
These apps are now globally available
- wikibackup
- wikiedit
- wikinuke
- wikipush
- wikiquery
- wikirestore
- wikiupload
- wikiuser
done! ✨ ???? ✨
pipx install profiwiki
installed package profiwiki 0.3.5, installed using Python 3.12.3
These apps are now globally available
- profiwiki
⚠️ Note: '/home/wf/.local/bin' is not on your PATH environment variable. These apps will not be globally accessible until your PATH is updated.
Run `pipx ensurepath` to automatically add it, or manually modify your PATH in your shell's config file (i.e. ~/.bashrc).
done! ✨ ???? ✨
wf@GenWiki39:~$ pipx ensurepath
Success! Added /home/wf/.local/bin to the PATH environment variable.
Consider adding shell completions for pipx. Run 'pipx completions' for instructions.
You will need to open a new terminal or re-login for the PATH changes to take effect.
Otherwise pipx is ready to go! ✨ ???? ✨
Update
git pull
remote: Enumerating objects: 38, done.
remote: Counting objects: 100% (38/38), done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 38 (delta 22), reused 32 (delta 16), pack-reused 0 (from 0)
Unpacking objects: 100% (38/38), 10.35 KiB | 963.00 KiB/s, done.
From https://github.com/WolfgangFahl/py-3rdparty-mediawiki
0d90f8b..f089fd2 master -> origin/master
* [new tag] v0.17.0 -> v0.17.0
* [new tag] v0.15.4b -> v0.15.4b
* [new tag] v0.16.0 -> v0.16.0
Updating 0d90f8b..f089fd2
Fast-forward
pyproject.toml | 24 +++++---
tests/test_lambda.py | 64 -------------------
tests/test_wikiquery.py | 6 +-
wikibot3rd/__init__.py | 2 +-
wikibot3rd/lambda_action.py | 146 --------------------------------------------
wikibot3rd/pagehistory.py | 68 ++++++++++-----------
wikibot3rd/sso.py | 2 +-
wikibot3rd/version.py | 2 +-
wikibot3rd/wikipush.py | 39 ++++++------
wikibot3rd/wikiuser.py | 24 +++++---
10 files changed, 87 insertions(+), 290 deletions(-)
delete mode 100644 tests/test_lambda.py
delete mode 100644 wikibot3rd/lambda_action.py
wf@GenWiki39:~/source/python/py-3rdparty-mediawiki$ pipx install --force .
Installing to existing venv 'py-3rdparty-mediawiki'
installed package py-3rdparty-mediawiki 0.17.0, installed using Python 3.12.3
These apps are now globally available
- wikibackup
- wikiedit
- wikinuke
- wikipush
- wikiquery
- wikirestore
- wikiupload
- wikiuser
done! ✨ ???? ✨
pymediawikidocker
git clone https://github.com/WolfgangFahl/pymediawikidocker
Cloning into 'pymediawikidocker'...
remote: Enumerating objects: 2838, done.
remote: Counting objects: 100% (35/35), done.
remote: Compressing objects: 100% (21/21), done.
remote: Total 2838 (delta 17), reused 26 (delta 12), pack-reused 2803 (from 1)
Receiving objects: 100% (2838/2838), 1.03 MiB | 15.27 MiB/s, done.
Resolving deltas: 100% (1929/1929), done.
pipx install .
⣾ installing pymediawikidocker from spec '/home/wf/source/python/pymediawikidocker'
installed package pymediawikidocker 0.19.0, installed using Python 3.12.3
These apps are now globally available
- mwcluster
done! ✨ ???? ✨
ProfiWiki
git clone https://github.com/BITPlan/ProfiWiki
Cloning into 'ProfiWiki'...
remote: Enumerating objects: 1065, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 1065 (delta 3), reused 8 (delta 3), pack-reused 1050 (from 2)
Receiving objects: 100% (1065/1065), 792.70 KiB | 13.91 MiB/s, done.
Resolving deltas: 100% (654/654), done.
wf@GenWiki39:~/source/python/ProfiWiki$ pipx install --force .
Installing to existing venv 'profiwiki'
⣟ installing ProfiWiki from spec '/home/wf/source/python/ProfiWiki'
installed package ProfiWiki 0.4.1, installed using Python 3.12.3
These apps are now globally available
- profiwiki
done! ✨ ???? ✨
mediawiki 1.39 installation
main
stop and remove existing docker containers and volumes
docker stop genwiki39-mw
docker rm genwiki39-mw
docker stop genwiki39-db
docker rm genwiki39-db
docker volume rm genwiki39_mysql-data
docker volume rm genwiki39_wiki-etc
docker volume rm genwiki39_wiki-www
reinstall
profiwiki -rp -fu -cn genwiki39 --family -bp 10080 -sp 3307 --all -f
test nach DNS Eintrag
ping genwiki39.bitplan.com
PING genwiki39.bitplan.com (116.202.11.130): 56 data bytes
http://genwiki39.bitplan.com Bewusst kein SSL weil dies kein BITPlan Server ist - für compgen braucht es DNS-Eintrag + Zertifikate
Konfiguration prüfen
wf@GenWiki39:~/.pymediawikidocker/genwiki39$ ls -l
total 140
-rw-rw-r-- 1 wf docker 319 Apr 2 12:44 addCronTabEntry.sh
-rw-rw-r-- 1 wf docker 349 Apr 2 12:44 addSysopUser.sh
-rw-rw-r-- 1 wf docker 266 Apr 2 12:44 composer.local.json
-rw-rw-r-- 1 wf docker 1996 Apr 2 12:44 docker-compose.yml
-rw-rw-r-- 1 wf docker 2572 Apr 2 12:44 Dockerfile
-rw-rw-r-- 1 wf docker 107 Apr 2 12:44 fixPermissions.sh
-rw-rw-r-- 1 wf docker 317 Apr 2 12:44 initdb.sh
-rw-rw-r-- 1 wf docker 153 Apr 2 12:44 install_djvu.sh
-rw-rw-r-- 1 wf docker 3558 Apr 2 12:44 installExtensions.sh
-rw-rw-r-- 1 wf docker 2467 Apr 2 12:44 lang.sh
-rw-rw-r-- 1 wf docker 8232 Apr 2 12:44 LocalSettings.php
-rw-rw-r-- 1 wf docker 1236 Apr 2 12:44 MwConfig.json
-rw-rw-r-- 1 wf docker 242 Apr 2 12:44 phpinfo.php
-rw-rw-r-- 1 wf docker 2339 Apr 2 12:44 plantuml.sh
-rw-rw-r-- 1 wf docker 241 Apr 2 12:44 startRunJobs.sh
-rw-rw-r-- 1 wf docker 488 Apr 2 12:44 update.sh
-rw-rw-r-- 1 wf docker 206 Apr 2 12:44 upload.ini
-rw-rw-r-- 1 wf docker 64482 Apr 2 12:44 wiki.sql
Zweites Test Wiki
bs@GenWiki39:~$ profiwiki -rp -fu -cn genwiki39bs -bp 10081 -sp 3308 --all -f
...
Setting up default-jre-headless (2:1.17-74) ...
Setting up plantuml (1:1.2020.2+ds-3) ...
patching /tmp/LocalSettings_c93lyj3s.php webserver genwiki39bs-mw
Executing docker command /root/update.sh
Starting periodic command scheduler: cron.
bs@GenWiki39:~$ profiwiki -cn genwiki39bs --check
ProfiWiki with previous configuration from /home/bs/.pymediawikidocker/genwiki39bs/MwConfig.json...
ProfiWiki genwiki39bs using port 10081 sqlport 3308
mediawiki webserver container genwiki39bs-mw:✅
mediawiki database container genwiki39bs-db:✅
port binding 10081= expected port 10081?:✅
Checking http://GenWiki39:10081/index.php?title=Special:Version ...
Special Version accessible ...:✅
Mediawiki Version 1.39.12= expected 1.39.12?:✅
Maria DB Version 10.11 fitting expected 10.11?:✅
Nachfolgende Änderung in LocalSettings.php ist noch für das erfolgreiche Abschließen des vorgenannten check-Kommandos erforderlich:
$wgGroupPermissions['*']['read'] = true;
Umstellung auf Deutsch
$wgLanguageCode = "de";
Link
http://genwiki39.bitplan.com:10081/index.php/Special:Version
Minimum Viable Wiki
Als Hilfskategorie für die Migration verwenden wir Category:MVW. Damit umgehen wir die Einschränkung des aktuellen Wikis, das semantische Abfragen nur über Kategorien als Workaround möglich sind.
wikibackup -s genwiki -q "[[Category:MVW]]"
downloading 2 pages from genwiki to /home/wf/wikibackup/genwiki
1/2 ( 50%): downloading Hauptseite ...✅
2/2 ( 100%): downloading Kategorie:MVW ...✅
wikirestore
cp -p /home/bs/.mediawiki-japi/bs_genwiki39bs.ini wf_genwiki39bs.ini
wikirestore -d --backupPath /home/wf/wikibackup/genwiki -s genwiki -t genwiki39bs -q "[[Category:MVW]]"
ask:
[[Category:MVW]]
restoring 2 pages from /home/wf/wikibackup/genwiki to genwiki39bs
1/2 ( 50%): restore Hauptseite ...✅
2/2 ( 100%): restore Kategorie:MVW ...✅