Wiki:MediaWiki 1.39

aus GenWiki, dem genealogischen Lexikon zum Mitmachen.
Zur Navigation springen Zur Suche springen

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 ...✅