Projekt:Maintenance
Update mediawiki core
Remember your file layout looks like this:
drwxr-xr-x 8 www-data www-data 4096 Feb 18 12:43 .git // your repository files
-rw-r--r-- 1 www-data www-data 362 Feb 18 12:06 .gitignore // ignore files for your repo
-rw------- 1 www-data www-data 58 Oct 21 17:11 _admin_login.php // located in this file are the credentials for the local admin login
drwxr-xr-x 2 www-data www-data 4096 Feb 18 12:06 _config // this is where your config files are located
drwxr-xr-x 51 www-data www-data 4096 Feb 18 12:41 _extensions // this is the assortment of available extensions
drwxr-xr-x 3 www-data www-data 4096 Dec 16 09:58 _images // this is your image directory, almost empty after unpacking
drwxr-xr-x 5 www-data www-data 4096 Feb 17 12:39 _init // this is where all starter files and some useful scripts are located
-rwx------ 1 www-data www-data 593 Oct 21 17:11 get_new_version_going // a small script to initialize a new version (update, not upgrade) of the mediawiki software
lrwxrwxrwx 1 www-data www-data 16 Feb 18 12:40 mediawiki -> mediawiki-1.23.8 // a symbolic link to the current mediawiki core software
drwxr-xr-x 12 www-data www-data 4096 Feb 18 12:39 mediawiki-1.23.8 // the current mediawiki core software
drwxr-xr-x 2 www-data www-data 4096 Oct 23 13:04 php_temp // folder for temporary files and session data
In this example the core software runs on version 1.23.5. Identify your new version number and execute these to commands (in this example we upgrade to 1.23.42):
wget http://releases.wikimedia.org/mediawiki/1.23/mediawiki-1.23.42.tar.gz
tar xvzf mediawiki-1.23.42.tar.gz
You should have a new directory called mediawiki-1.23.42
in the above listing. Now cd in it and run
../get_new_version_going
After that all you have to do is remove the symbolic link pointing to your old core software and create a new one pointing to mediawiki-1.23.42
.
{{#vardefine:ambox_color|info}}
{{#vardefine:ambox_image|Information icon4.svg}}{{#vardefine:ambox_imageSize|40x40px}}{{#vardefine:ambox_image|[[File:{{#var:ambox_image|Mbox notice.png}}|{{#var:ambox_imageSize|40x40px}}|alt=|link=]]}}{{#vardefine:ambox_content|{| class="metadata plainlinks"
|-
| class="mbox-image" |
| class="mbox-text" |It is recommended setting your wiki to read only during the upgrade. Do this by setting $wgReadOnly="Upgrading"
or some other string.
|}
}}
You should also run update.php after each upgrade:
php mediawiki/maintenance/update.php
Update extensions
The extensions are located in ./_extensions
. Most of them have a directory indicating their version number and a symbolic link pointing to them. Something like:
lrwxrwxrwx 1 www-data www-data 16 Oct 12 21:56 ApprovedRevs -> ApprovedRevs.0.7
drwxr-xr-x 5 www-data www-data 4096 Oct 12 21:54 ApprovedRevs.0.7
lrwxrwxrwx 1 www-data www-data 19 Aug 22 14:37 Arrays -> Arrays.2.0rc3_alpha
drwxr-xr-x 3 www-data www-data 4096 Aug 22 14:36 Arrays.2.0rc3_alpha
When there is a new version just unpack it here, be sure to include ne new version number in the directory name and let the symbolic link point to the new directory (mind the user and directory rights in the newly downloaded extension and run chown
if needed).
As ususual you should run update.php after each update:
php mediawiki/maintenance/update.php
Extension w/o version numbers are most likely either installed by composer or downloaded via git:
Composer
Some extensions are installed via composer. Namely:
- lingo
- semantic-extra-special-properties
- semantic-glossary
- semantic-media-wiki
- semantic-result-formats
You can find an actual overview of all composer installed extensions in the file ./mediawiki/composer.json
. With a fresh install of this platform it should look like this:
{
"require": {
"mediawiki/semantic-media-wiki": "~2.0",
"mediawiki/semantic-extra-special-properties": "*",
"mediawiki/lingo": "*",
"mediawiki/semantic-result-formats": "*",
"mediawiki/semantic-glossary": "*"
}
}
Go to your mw core root directory and hit composer update
. Your composer installed extensions should update automatically.
{{#vardefine:ambox_color|warning}}
{{#vardefine:ambox_image|Ambox important.svg}}{{#vardefine:ambox_imageSize|40x40px}}{{#vardefine:ambox_image|[[File:{{#var:ambox_image|Mbox notice.png}}|{{#var:ambox_imageSize|40x40px}}|alt=|link=]]}}{{#vardefine:ambox_content|{| class="metadata plainlinks"
|-
| class="mbox-image" |
| class="mbox-text" |When you hit
you have to reapply a small patch to semantic mediawiki core code../mediawiki/composer update
You can find the patch notes in the file
.
|}
./_extensions/_patched
}}
Git
To play it safe either note the commit you're running the extension on or backup the directory. Then hit
.
git pull
Maintenance scripts
You should run them regularely, either by hand or as recommenden by cron:
mediawiki/maintenance/runJobs.php
to clean the job queue on a daily or hourly basis (please consider specifying a parameter --maxjobs 1000)_extensions/SemanticMediaWiki/maintenance/rebuildData.php
to rebuild the smw store. probably once per week or month so:php rebuildData.php -ftp -d 20
, to clear the store (thus removing false entries) and rebuild the properties and after that a couple of timesphp rebuildData.php -d 20
, to rebuild the new data
_extensions/SemanticGlossary/maintenance/rebuildGlossaryCache.php
to rebuild the semantic glossary cache. probably once per week or month so:
Remember to set an environment variable with the mediawiki working directory:
export MW_INSTALL_PATH=/var/www/<wikiname>/mediawiki
Clean up session files
You should also clean up all session files, located ./php_temp
. Best do this with a cron job.