Keeping MediaWiki updated is crucial for security, especially when dealing with spam bots targeting older installations. Here’s how we successfully upgraded from version 1.29 to 1.39 LTS (though there the latest version is 1.44)
The Challenge
Our MediaWiki 1.29 installation was under attack from spam bots attempting creating hundreds of spam content as someone (not pointing anyone 😉 ) forgot to turn of user registration few years ago.
The Upgrade Process
Step 1: Download and Extract MediaWiki 1.31
wget https://releases.wikimedia.org/mediawiki/1.31/mediawiki-1.31.16.tar.gz
tar -xzf mediawiki-1.31.16.tar.gz
mv mediawiki-1.31.16 wiki_media_folder_name_1.31
We download the stable 1.31.16 release and prepare a new directory for installation.
Step 2: Migrate Configuration and Assets
cp wiki_media_folder_name/LocalSettings.php wiki_media_folder_name_1.31/
cp wiki_media_folder_name/resources/assets/*.png wiki_media_folder_name_1.31/resources/assets/
cp -r wiki_media_folder_name/images/* wiki_media_folder_name_1.31/images/
The LocalSettings.php contains all database connections and configuration. The images folder holds all uploaded files – both essential for preserving wiki content.
Step 3: Transfer Custom Skins
cp -r wiki_media_folder_name/skins/CologneBlue/ ./wiki_media_folder_name_1.31/skins/CologneBlue
cp -r wiki_media_folder_name/skins/Modern/ ./wiki_media_folder_name_1.31/skins/Modern
Legacy skins like CologneBlue and Modern need manual transfer as they’re not included by default in newer versions.
Step 4: Run Database Updates
php wiki_media_folder_name_1.31/maintenance/update.php --quick
This critical step updates the database schema to match version 1.31 requirements. The --quick flag skips some checks for faster execution.
Step 5: Switch to New Version
mv wiki_media_folder_name wiki_media_folder_name_old_1.29
mv wiki_media_folder_name_1.31 wiki_media_folder_name
Finally, we swap directories to make the new version live while keeping the old one as backup.
We repeated those steps with versions 1.35 and 1.39. One day we might find time to update to 1.44…
Key Takeaways
- Always backup both database and files before upgrading
- Don’t skip versions – go through LTS releases (1.29 → 1.31 → 1.35 → 1.39)
- Test thoroughly before removing the old installation
- Secure immediately – outdated MediaWiki installations are spam magnets
- If you are on Plesk server you might replace the
phpwith/opt/plesk/php/7.4/bin/phpor whatever is your php version. - Also don’t forget to replace
wiki_media_folder_namewith your actual wikimedia folder
PS: In days like this I start to love WordPress again…