Manual:Upgrading to 1.12



Start spring off right with fresh air and the long-awaited new version of MediaWiki. Grab a laptop and head outside if you want both: 1.12 is here.

Overview
First read the UPGRADE text file included in MediaWiki 1.12.

As with all MediaWiki upgrades, the basic premise is the same:


 * 1) Check the requirements
 * 2) Read the release notes
 * 3) Back up existing files and the database
 * 4) Unpack the new files
 * 5) Run the update script to check the database
 * 6) Upgrade extensions
 * 7) Test the update

Check requirements
MediaWiki 1.12 requires:

PHP

 * PHP 5.0.x or later
 * We recommend using PHP 5.1.x or 5.2.x.
 * Note that PHP 5.0.x under certain 64-bit platforms contains bugs which cause fundamental problems with MediaWiki. If running on an x86_64 (AMD64, EMT64) or other affected 64-bit platform, PHP 5.1.x or 5.2.x is required.
 * Package php-xml seems to be required or else a workaround in LocalSettings.php (see mediawiki-l/2008-June/027740.html and Help desk).

DBMS

 * MySQL 4.0.x or later
 * Version 3.x has not been supported since 1.6.0

or


 * PostgreSQL 8.1 or later
 * You will also require the tsearch2 and plpgsql modules, if running Postgres 8.1 or 8.2
 * see also Upgrading Postgres

Read the release notes
Within the distribution tarball, or within the files checked out/exported from SVN, there are a number of files with capitalised filenames, one of which contains the RELEASE-NOTES. Now's the time to open it up and find out what's been changed in 1.12. You can also read them at Release notes/1.12.

Back up existing files and the database
While the upgrade scripts are well-maintained and robust, things could still go pear-shaped. Before proceeding to update the database schema, make a full backup of the wiki, including both the database and the files:


 * the wiki's content, from the database. It may be a good idea to create an XML dump in addition to the SQL database dump.
 * text dump: mysqldump --all-databases > file.txt
 * xml dump: mysqldump --all-databases --xml > file.xml
 * images and other media files (the contents of the images directory)
 * configuration files, i.e. LocalSettings.php and AdminSettings.php (if present)
 * MediaWiki's program files, including all skins and extensions, especially if you modified them.

See Manual:Backing up a wiki for instructions.

Unpack the new files
If using a tarball package, decompress the file on the server where the old version of mediawiki is running; if using Subversion, export the files into a clean location. Replace all existing files with the new versions from 1.12, preserving the directory structure. The core code is now up to date.

Run the update script
Note: Make sure there's an AdminSettings.php</tt> file in the wiki root, and contains up to date information. The user needs full permissions (shell access) on the database.

The preferred method of performing the update is using the command-line maintenance script, although it is also possible to re-run the web-based installer.

Shell
From the command line, or an SSH shell or similar, change to the maintenance</tt> directory and execute the update script:

$ php update.php

MediaWiki will inspect the existing schema and update it to work with the new code, adding tables and columns as needed.

Alternative 1: phpShell
If full permissions/shell access is not available, look at options such as phpShell, which emulates a command prompt using PHP functions. This might not work on some locked-down hosting setups.

When using such a solution, it is often desirable to skip the countdown period at the start of the script. Pass the --quick</tt> option to the update script to do so:

$ php update.php --quick

You may have to use "php5" instead of "php" if different versions are installed. For phpshell, the commandLine.inc file may have to be edited so the script doesn't quit because phpshell is a run from the web server.

Alternative 2: Re-run the installer
An alternative to running the update script from the shell is to re-run the web installer. To do this:


 * 1) Rename LocalSettings.php</tt> to LocalSettings.old.php</tt>
 * 2) Make the config</tt> directory writable by the web server
 * 3) Make sure the database user has full rights to the database
 * 4) Browse to the wiki and start the installer

Fill in the form fields with the same values as was done during the previous version's installation. When the installation process starts, the script will detect existing MediaWiki tables, and upgrade their schema. When this is complete, a new LocalSettings.php</tt> will be generated.


 * 1) Delete the new configuration file
 * 2) Rename LocalSettings.old.php</tt> back to LocalSettings.php</tt>
 * 3) Restore permissions on the config</tt> directory

Upgrade extensions
Certain extensions have been updated in order to work with MediaWiki 1.12. Be sure to upgrade to the latest versions of such extensions. You might need to perform manual updates to custom extensions.

Test the update
Once the upgrade has completed, browse to the wiki and check basics such as viewing and editing pages to ensure things still work as expected.

Visit Special:Version and check that the version shown is correct.