TEHCC Wiki:Maintenance
Note! While using php uses PHP v7.0 which appears sufficient, the site actually runs on PHP v7.3. To ensure no oddity of running update scripts with a different version of php, when instructions call for php you instead use /opt/cpanel/ea-php73/root/usr/bin/php.
System Maintenance
Upgrade/Reinstall
Use to upgrade across major versions or to reinstall a borked update.
General wisdom is to wait for the x.1 release before upgrading.
Note! The examples below are using a page array variable. Edit the page to update the variable for your target installation to ease copy-n-paste of commands. Examples currently using mediawiki-1.34.1.
- Precheck!
- These steps have worked for upgrades in the past, but a reality check with any new versions is always prudent.
- Check requirements! Primarily PHP as the host updating and PHP's aggressive deprecation are a problem.
- Run the #Update extensions procedure below. We will move Composer and manual extensions from there for ease of upgrade.
- Include running the maintenance update and runJobs.
- Get MediaWiki (per MediaWiki site)
- Download desired version MediaWiki Site using wget to the home directory
- Unpack using tar -xvzf (e.g.,
tar -xvzf mediawiki-1.34.1.tar.gz
) - Delete zipped tarball (e.g.,
rm mediawiki-1.34.1.tar.gz
)
- Copy customized files to new install (per MediaWiki site)
- Copy Localsettings.php (e.g.,
cp public_html/clubwiki/LocalSettings.php ~/mediawiki-1.34.1/
) - Copy kml folder (e.g.,
cp -R public_html/clubwiki/kml/ ~/mediawiki-1.34.1/
) - Copy Images folder (e.g.,
cp -R public_html/clubwiki/images/ ~/mediawiki-1.34.1/
)
- Copy Localsettings.php (e.g.,
- Migrate manual extensions (Confirm this list is still accurate with the more actively used update procedure below)
- Copy Arrays (e.g.,
cp -R public_html/clubwiki/extensions/Arrays/ ~/mediawiki-1.34.1/extensions/
) - Copy HeaderTabs (e.g.,
cp -R public_html/clubwiki/extensions/HeaderTabs/ ~/mediawiki-1.34.1/extensions/
) - Copy MyVariables (e.g.,
cp -R public_html/clubwiki/extensions/MyVariables/ ~/mediawiki-1.34.1/extensions/
) - Copy NumberFormat (e.g.,
cp -R public_html/clubwiki/extensions/NumberFormat/ ~/mediawiki-1.34.1/extensions/
) - Copy PageForms (e.g.,
cp -R public_html/clubwiki/extensions/PageForms/ ~/mediawiki-1.34.1/extensions/
) - Copy SimpleTabs (e.g.,
cp public_html/clubwiki/extensions/SimpleTable.php ~/mediawiki-1.34.1/extensions/
)
- Copy Arrays (e.g.,
- Migrate Composer (can also follow Mediawiki recommendations, but if you updated extensions first, this should be fine)
- Copy composer.local.json (e.g.,
cp public_html/clubwiki/composer.local.json ~/mediawiki-1.34.1/
) - Copy composer.phar (e.g.,
cp public_html/clubwiki/composer.phar ~/mediawiki-1.34.1/
)
- Copy composer.local.json (e.g.,
- Move over to new install (per MediaWiki site)
- Move the existing installation to a temporary backup folder
mv ~/public_html/clubwiki/ ~/OLD.yyyymmdd.clubwiki
- Move the new installation to the public folder
mv ~/mediawiki-1.34.1 ~/public_html/clubwiki
- Move the existing installation to a temporary backup folder
- Finish by repeating #Update extensions again. This will force composer to install needed dependencies, then the maintenance update will perform the database migration.
- Check Special:Version and a page or two to confirm things are still working.
- Lessons of the past...
- If upgrade stalls to white screen, likely a specified extension is not installed, check list and add as needed
- Done! (May need to ctrl-shift-R to force reload pages to avoid seeing errors)
Update MediaWiki
Patch - Available for point releases. Details on the MediaWiki site
- Download patch from the dumps site
- cd to
cd ~/public_html/clubwiki/
directory (the one with LocalSettings.php). - Download (wget) the patch file from the dumps site and gunzip it
gunzip mediawiki-1.34.1.patch.gz
. - Use
patch -p1 --dry-run
to check what will be changed (e.g.,patch -p1 --dry-run -i mediawiki-1.34.1.patch
) - If all is well, run patch again without
--dry-run
. - Check Special:Version and you should see the new version number in place.
- Delete patch files
rm mediawiki-1.34.1.patch*
Update extensions
NOTE: I have often got errors or configuration screens from the site after updating extensions. These are typically resolved by running the maintenance routine below. Sometimes a single browser temporarily refused to work, yet a different browser behaved normally.
- Composer based (Semantic MediaWiki, Maps, and Semantic Result Formats)
- cd to
cd ~/public_html/clubwiki/
directory (the one with LocalSettings.php). - Update composer
/opt/cpanel/ea-php73/root/usr/bin/php composer.phar self-update
- Update using composer
/opt/cpanel/ea-php73/root/usr/bin/php composer.phar update --no-dev
- cd to
- Composer extensions that need version number updated in composer.local.json
vi composer.local.json
- Semantic MediaWiki
- Maps
- Semantic Result Formats
- Semantic Compound Queries
- Rerun composer update if there were any updates to perform
/opt/cpanel/ea-php73/root/usr/bin/php composer.phar update --no-dev
- Manual extensions - Go to Special:Version and compare what's shown on extension page
- NumberFormat - Download needed updates and extract into the extension directory
tar -xzf extension.tar.gz -C public_html/clubwiki/extensions/
- Page Forms - Download extension and extract into the extension directory
tar -xzf extension.tar.gz -C public_html/clubwiki/extensions/
- Arrays - Upload new version into extension folder
- Header Tabs - Upload new version into extension folder
- MyVariables - Upload new version into extension folder
- SimpleTable - Upload new version into extension folder
- NumberFormat - Download needed updates and extract into the extension directory
- Remaining extensions are part of MediaWiki and upgraded with it
- Update completion - run maintenance routine from
cd ~/public_html/clubwiki/
directory:/opt/cpanel/ea-php73/root/usr/bin/php maintenance/update.php
- Finish any residual jobs - run manual maintenance runJobs from
cd ~/public_html/clubwiki/
directory:/opt/cpanel/ea-php73/root/usr/bin/php maintenance/runJobs.php --maxjobs 1000
Site Maintenance
Cleanup after a spam/vandalism battle
- cd to
cd ~/public_html/clubwiki/
directory (the one with LocalSettings.php) - Delete archived revisions (deleted page revisions)
/opt/cpanel/ea-php73/root/usr/bin/php maintenance/deleteArchivedRevisions.php
for dry run, then execute/opt/cpanel/ea-php73/root/usr/bin/php maintenance/deleteArchivedRevisions.php --delete
- Delete users older than 7 days with no edits
/opt/cpanel/ea-php73/root/usr/bin/php maintenance/removeUnusedAccounts.php --ignore-touched 7
for dry run, then execute/opt/cpanel/ea-php73/root/usr/bin/php maintenance/removeUnusedAccounts.php --ignore-touched 7 --delete