Aller au contenu

Mediawiki 1.43 upgrade

De Banane Atomic

Environment

  • Ubuntu ARM 20.04
  • NGINX with PHP-FPM

Install the version 1.43

wget https://releases.wikimedia.org/mediawiki/1.43/mediawiki-1.43.0.tar.gz
tar xf mediawiki-1.43.0.tar.gz
sudo mv mediawiki-1.43.0 /var/www

cd /var/www/mediawiki-1.43.0

sudo cp -r images images-kiwi
sudo cp -r cache cache-kiwi

sudo cp -r ../mediawiki/images/. images
sudo cp -r ../mediawiki/images-kiwi/. images-kiwi

# copy the LocalSettings
sudo cp ../mediawiki/LocalSettings* .

# copy the non-native extensions
cd ../mediawiki/extensions
sudo cp -r ContactPage CustomTags Highlightjs_Integration NativeSvgHandler SimpleMathJax SummaryPage ../../mediawiki-1.43.0/extensions

cd mediawiki/resources/assets
sudo rm change-your-logo.svg change-your-logo-icon.svg poweredby_mediawiki_*.png wiki.png
sudo cp arch-logo.svg banane.ico hljs-88x31.png kiwi.ico odroid.svg piwiklogo.png poweredby_mediawiki.svg wiki.png ../../../mediawiki-1.43.0/resources/assets/

# update the owner
cd mediawiki-1.43.0
sudo chown -R root:root .
sudo chown -R www-data:www-data cache/ cache-kiwi/ images/ images-kiwi/ LocalSettings*

Duplicate and upgrade the databases

# dump the databases
sudo mariadb-dump -x -e -B wiki -r wiki.sql
sudo mariadb-dump -x -e -B kiwi -r kiwi.sql

# edit the wiki.sql and kiwi.sql file to change the database name to wiki143 and kiwi143
# restore the dump in the new databases
source wiki.sql
source kiwi.sql

# give the already existing users all the rights to the new databases
grant all on wiki143.* to 'wiki'@'localhost'
grant all on kiwi143.* to 'kiwi'@'localhost'
# upgrade the database
cd /var/www/mediawiki

sudo -u www-data php maintenance/update.php --conf LocalSettings-wiki.php
sudo -u www-data php maintenance/update.php --conf LocalSettings-kiwi.php
# give the already existing users only the necessary rights to the new databases
grant index, create, select, insert, update, delete, alter, lock tables on wiki143.* to 'wiki'@'localhost'
grant index, create, select, insert, update, delete, alter, lock tables on kiwi143.* to 'kiwi'@'localhost'

Remove unnecessary folders

# documentation
sudo rm -rf docs

# test files
sudo rm -rf tests

# unused skins
cd skins
sudo rm -rf MinervaNeue Timeless Vector

# other sql providers
sudo rm -rf maintenance/postgres maintenance/sqlite extensions/Math/sql/postgres extensions/Math/sql/sqlite

# unused extensions
cd extensions
sudo rm -rf AbuseFilter CategoryTree Cite CiteThisPage ConfirmEdit Gadgets ImageMap InputBox Interwiki Nuke OATHAuth PageImages ParserFunctions PdfHandler Poem Renameuser Scribunto SecureLinkFixer SpamBlacklist SyntaxHighlight_GeSHi TemplateData TextExtracts TitleBlacklist VisualEditor

# lang
setopt extended_glob
cd languages/i18n
sudo rm -- ^(en|fr).json
cd languages/i18n/exif
sudo rm -- ^(en|fr).json
Native extensions
Name Description
AbuseFilter Allows specific behavior-based restrictions to be placed on wiki activity
CategoryTree Provides a dynamic view of the wiki's category structure as a tree
Cite Allows footnotes for citing sources and helps for correctly citing content in offline media
CiteThisPage Adds a special page that provides different citation formats for a particular article
CodeEditor Provides a syntax-highlighting code editor for site & user JS, CSS and Lua pages, integrating with advanced edit toolbar
ConfirmEdit Adds CAPTCHAs for page saves and other user actions
Gadgets Allow users to enable JS-based, user-provided gadgets from their preferences page
ImageMap Allows clickable HTML image maps
InputBox Allows users to add predefined HTML forms to wiki pages
Interwiki Adds a special page to view and manipulate the interwiki table
Math Allows to render mathematical formulas
MultimediaViewer Provides a better experience to users when they click on thumbnails in a page
Nuke Gives sysops the ability to mass delete pages.
OATHAuth Provides two-factor authentication for logging in
PageImages Stores information about images representing a page
ParserFunctions Enhances parser with logical and string functions
PdfHandler Shows uploaded PDF files in a multipage preview layout
Poem Allows easy formatting of poems and similar material
Renameuser Provides a special page that allows user accounts to be renamed
Replace Text Provides a form to let administrators do string replacements on the entire wiki, for both page contents and page titles
Scribunto Provides a framework for embedding scripting languages into MediaWiki pages
SecureLinkFixer Rewrites URLs to HTTPS if domain always requires HTTPS
SpamBlacklist Provides a regex-based spam filter
SyntaxHighlight Allows source code to be syntax highlighted on the wiki pages
TemplateData Allows to store, retrieve and visualise information about templates
TextExtracts Provides API with plain-text or limited HTML extracts of page content
TitleBlacklist Blocks the creation of pages matching a regular expression blacklist
VisualEditor Allows for editing pages as rich content
WikiEditor Provides an extendable wikitext editing interface and many feature-providing modules