Manual:Upgrading to 1.7

Furtive poking, whispered mutterings and an intense amount of sweat, blood and tears have produced the new MediaWiki 1.7 release branch, which introduces several new requirements and a wealth of new features and fixes.

So how to start with upgrading? This guide should help users of the 1.6 release branch migrate to MediaWiki 1.7 in a smooth fashion. It will also work for users of the obsolete 1.5 branch.

Overview

First, read the UPGRADE text file included in MediaWiki 1.7.

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.7 requires:

  • PHP 5.0 or later
    Older versions will no longer work
  • MySQL 4.0 or later
    MySQL 3.x has not been supported since 1.6

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.7.

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.

Database

Make a full backup of the wiki database before attempting to run update scripts on it. This serves as a basic precaution should the schema updates fail, leaving records in a broken or corrupt state. There are a number of utilities to do this, such as MySQL dump, which is supplied with the MySQL software.

Settings

Make a copy of your LocalSettings.php file, which contains both the basic configuration details, and also any customisations you may have made to change the behaviour of MediaWiki.

Uploaded files

If uploads are enabled in the wiki, then you will also need to back up the upload directory. By default, this is the images directory, although the path to this may have been changed in LocalSettings.php.

Extensions and custom skins

Take copies of the extensions directory, and any files or directories containing skin customisations.

Unpack the new files

If using a tarball package downloaded from SourceForge, decompress it; if using Subversion, export the files into a clean location. Replace all existing files with the new versions from 1.7, preserving the directory structure. The core code is now up to date.

Run the update script

Note: Make sure there's an AdminSettings.php file in the wiki root, and it's got up to date information in it. The user needs full permissions on the database.

The preferred method of performing the update is using the command-line maintenance script, however, 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 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. If upgrading from 1.5.x, once this is complete, you are advised to run the refreshLinks.php script to update the link tables.

Alternative: phpShell

If 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 option to the update script to do so:

$ php update.php --quick

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 to LocalSettings.php.old
  2. Make the config directory writable by the web server
  3. 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 will be generated.

  1. Delete the new configuration file
  2. Rename LocalSettings.php.old back to LocalSettings.php
  3. Restore permissions on the config directory

Upgrade extensions

Certain extensions have been updated in order to work with MediaWiki 1.7. 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.

Upgradings documents for other versions: