Manual:Upgrading/it

From MediaWiki.org
Jump to: navigation, search
Download icon
Download pacchetti d'installazione
Versione attuale
Versione legacy
Snapshot notturni

Per saperne di più

Panoramica[edit | edit source]

Prima leggere il file di aggiornamento del testo incluso in MediaWiki.

  1. Controllare i requisiti
  2. Leggere le note di rilascio
  3. Eseguire il backup dei file esistenti e del database
  4. Scompattare i nuovi file
  5. Eseguire lo script di aggiornamento per verificare il database
  6. Aggiornamento delle estensioni
  7. Aggiornamento di prova

Verificare i requisiti[edit | edit source]

MediaWiki 1.23 richiede:

PHP[edit | edit source]

  • PHP 5.0.x o versioni successive
    Si consiglia di utilizzare PHP 5.1.x o LQ o 5.3.x, salvo 5.3.1,altrimenti si possono verificare dei bug.
    Si noti che PHP 5.0.x sotto certe piattaforme a 64 bit contiene bug che causano problemi gravi con MediaWiki. Se è in esecuzione su un x86_64 (AMD64, EMT64) o altre piattaforma a 64 bit, è necessario 5.1.x PHP o 5.2x.

DBMS[edit | edit source]

  • MySQL 4.0.x o versioni successive
    L'ultima versione di mediawiki che può utilizzare la versione 3.x è la 1.6.0

o

  • PostgreSQL 8.1 o versioni successive
    Richiederà anche i moduli tsearch2 e plpgsql, se in esecuzione cè Postgres 8. 1 o 8. 2
    vedi anche l'aggiornamento Postgres

Leggere le note di rilascio[edit | edit source]

All'interno al tarball di distribuzione, o all'interno del file selezionata out/esportato da SVN, ci sono un certo numero di file con nomi di file capitalizzati, uno dei quali contiene le note di rilascio (wiki). Ora è il momento di aprirlo e scoprire cosa è stato cambiato in questa versione.

Eseguire il backup dei file esistenti e del database[edit | edit source]

Mentre gli script di aggiornamento sono robusti e ben curati, il lavoro manuale di aggiornamento potrebbe portare a complicazioni. Prima di procedere per aggiornare lo schema del database, leggere il manuale di backup ed eseguirlo sui file e il database:

  • Il contenuto del wiki, dal database. Può essere una buona idea creare un XML dump in agginta a un dump del database SQL.
    • MySQL:
      • text dump: mysqldump --all-databases > file.txt
      • xml dump: mysqldump --all-databases --xml > file.xml
    • PostgreSQL:
      • output for pg_restore: pg_dump --create -Fc -i yourwiki > yourwiki.db.dump
    • SQLite:
      • php maintenance/sqlite.php --backup-to filename
  • Le immagini e gli altri file (il contenuto della directory images)
  • I file di configurazione LocalSettings.php e AdminSettings.php (se presente)
  • I file di MediaWiki, compresi le skin e le estensioni, specialmente se sono state modificate.

Espandere i nuovi file[edit | edit source]

Using a tarball package[edit | edit source]

If using a tarball package, decompress the file on the server where the old version of mediawiki is running. When untarring a tarball package normally a new directory for the new wiki version will be created and you will have to copy the new files and directories to your current wiki directory. Instead, to replace the existing files while decompressing and do this in one step, use this command:

$ tar xvzf mediawiki-1.23.4.tar.gz -C /path/to/your/wiki/ --strip-components=1

On older Linux distributions (i.e. RHEL/CentOS 4.x) use:

$ tar xvzf mediawiki-1.23.4.tar.gz -C /path/to/your/wiki/ --strip-path=1

For those people using an old version of tar (eg. GNU tar 1.13.x) which does not have --strip-components or --strip-path flags can uncompress the archive without the -C option and thereafter recursively copy the contents of the latest package into the previous wiki directory structure, as follows:

$ tar xvfz mediawiki-1.23.4.tar.gz
$ cp -r mediawiki-1.23.4/* /path/to/your/wiki/

(Open)Solaris users should use gtar, or:

$ gzip -dc mediawiki-1.23.4.tar.gz | tar xf -

Windows users can use 7zip to extract the tarball.

Using Subversion[edit | edit source]

If using Subversion, export the files into a clean location. Replace all existing files with the new versions, preserving the directory structure. The core code is now up to date.

Run the update script[edit | edit source]

Note: If you are upgrading to a pre-1.16 wiki, make sure there's an AdminSettings.php file in the wiki root, and it contains up to date information. The user needs full permissions (permission to use CREATE TABLE and ALTER TABLE) 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[edit | edit source]

From the command line, or an SSH shell or similar, change to the maintenance directory and execute the update script:

$ php update.php

(Note for simple installations on Windows (e.g. with XAMPP): You can run the update.php by executing it (doubleclick) when your .php-files are associated with the PHP.exe (if not, rightclick update.php, select Open With and browse to PHP.exe). Ensure that your server-application (e.g. Apache) and your database (e.g. MySQL) are running).

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

What to do in case of "No superuser credentials" error[edit | edit source]

In case the scripts abort with a message:

"No superuser credentials could be found. Please provide the details of a user with appropriate permissions to update the database. See AdminSettings.sample for more details"

This means that you should check that you have defined $wgDBadminuser and $wgDBadminpassword in your LocalSettings.php file (in the main directory). These are the user and password needed by this script in order to access to the database. (Note: Prior to MediaWiki 1.16, these variables were located in AdminSettings.php. This file was removed in 1.16 and the variables were moved to LocalSettings.php.)

What to do in case of "unexpected T_STRING" error[edit | edit source]

Individuals running update.php from the command line may encounter the following error:

syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in ~/maintenance/commandLine.inc on line 13

This error occurs when update.php is run from php4.

Individuals who have their site hosted by providers whom provide both php4 and php5 should take the following steps:

  1. from the command line, enter the command 'whereis php5'
  2. once you have discerned the location of the php5 path, list the contents of php5/bin directory
  3. once you've determined the name of the php executable (either php or php5), type in the entire path to execute update.php

Below is an example:

$ whereis php5
$ ls -la ls /usr/local/php5/bin
$ /usr/local/php5/bin/php update.php

Alternatives[edit | edit source]

Re-run the installer[edit | edit source]

An alternative to running the update script from the shell is to re-run the web installer. To do this, follow these steps:

  1. Rename LocalSettings.php to LocalSettings.old.php
  2. Make the config 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 will be generated.
  5. Delete the new configuration file (LocalSettings.php)
  6. Rename LocalSettings.old.php back to LocalSettings.php
  7. Restore permissions on the config directory

Upgrade extensions[edit | edit source]

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

Test the update[edit | edit source]

Once the upgrade has been completed, browse to the wiki and check that the following operations work as expected:

  • Viewing pages
  • Editing pages
  • Uploading a file

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

Frequently asked questions[edit | edit source]

How hard is it to upgrade?[edit | edit source]

If the only file you have modified is LocalSettings.php, and you are upgrading from 1.5 or later, the process is very simple. The amount of human work involved is only a few minutes. The database schema changes will take an amount of time proportional to the size of your database -- potentially hours for wikis with millions of pages, but for a more typical size of a few thousand pages, it is usually done in seconds.

Minor upgrades, within the same major version, say from 1.13.0 to 1.13.1, do not require any schema changes at all. You can just update the files.

Upgrading from 1.4 or earlier is potentially complicated because support for character sets other than UTF-8 was dropped, and the schema for storing bulk text changed. Please read the relevant section in the UPGRADE file.

Upgrading becomes difficult if you have modified our source code, and you don't want your changes to be overwritten. Tools such as diff and patch may be useful. There is also potential for trouble if you are using unmaintained extensions. Upgrade your extensions at the same time as you upgrade MediaWiki.

How do I upgrade from a really old version? In one step, or in several steps?[edit | edit source]

In one step, from your old version to the latest stable version. The vast majority of reports, as well as automated testing, indicate that doing it in one step works just fine.

If you have trouble believing this, read this mailing list post.

Should I back up first?[edit | edit source]

Short answer: yes.

Long answer: it depends on a) how much you value your data, b) how hard it is to create a backup and c) how confident you are with MySQL maintenance and administration.

An upgrade failure may leave your database in an inconsistent state, in between two versions. It may move an important table to a temporary name and then fail before it recreates the table correctly. It may change a field definition to an incorrect data type. It is very rare for an upgrade to cause irreversible data loss. More often, data corruption occurs which can be reversed by a skilled administrator.

Recovery is often complex. Volunteers on the support forums are unlikely to be impressed if you neglect to make a backup and then need help to recover from upgrade-related corruption. A better outcome is if you can revert to your backup, and then report the bug in the upgrade process which caused the corruption.

Can I keep my LocalSettings.php?[edit | edit source]

Yes, but you may have to make some minor changes. The format of LocalSettings.php is largely backwards compatible. Changes which break LocalSettings.php compatibility will be documented in the "configuration changes" section of the release notes.

Can my wiki stay online while it is upgrading?[edit | edit source]

Yes.

If you are upgrading between minor releases of MediaWiki, all you need to do is update the source files.

If you are upgrading between major releases of MediaWiki, the preferred procedure is as follows:

  1. Unpack the new version of MediaWiki into a new directory
  2. Prepare that new directory: copy your current LocalSettings.php from the old directory, copy any installed extensions and custom skins (if any).
  3. Enable read-only mode in LocalSettings.php of the old directory:
    $wgReadOnly = 'Upgrading to MediaWiki 1.23.4';
  4. Run the upgrade script in the new directory.
  5. Copy the images from the images sub-directory from the old directory to the new directory.
  6. Swap the old directory and the new directory.

My Wiki is in Arabic or Malayalam, and certain page titles are inaccessible after upgrading from 1.15 or earlier[edit | edit source]

Try running the maintenance/cleanupTitles.php maintenance script.

Lingua: English  • català • Deutsch • français • magyar • Bahasa Indonesia • italiano • 日本語 • 한국어 • polski • português do Brasil • русский • 中文 • 中文(简体)‎