]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - UPGRADE
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / UPGRADE
diff --git a/UPGRADE b/UPGRADE
index ae841ea960222e718f1040cd6da300127a0a22ac..0e6ad9b0b82a92303faa6fe815b0e2f6ba6f4e41 100644 (file)
--- a/UPGRADE
+++ b/UPGRADE
-== The basic theory ==
+This file provides an overview of the MediaWiki upgrade process. For help with
+specific problems, check
 
-Generally, within a stable release series (e.g. 1.4.0, 1.4.1, etc) there
-are no required database changes, and upgrading should require no more
-than copying the new source files over the old ones.
+* the documentation at https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents
+* the mediawiki-l mailing list archive at
+  http://lists.wikimedia.org/pipermail/mediawiki-l/
+* the bug tracker at https://phabricator.wikimedia.org/
 
-If there are larger changes, such as upgrading from one release series
-to another (e.g. from 1.3.12 to 1.4.3), then you may need to update the
-database schema and configuration.
+for information and workarounds to common issues.
 
-Basically, to upgrade a wiki you:
-* Back up your data! (See Backups! below)
-* Extract the new archive. If you can do this in a clean directory that's
-  great, but it should work to extract over the old files too. This may
-  be easier if you have images etc in place and don't want to move them
-  around, but remember to back up first!
-* Run the installer to upgrade the database schema (if necessary).
+== Overview ==
 
+Comprehensive documentation on upgrading to the latest version of the software
+is available at https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Upgrading
 
-== IMPORTANT: Upgrading to 1.5 ==
+=== Consult the release notes ===
 
-Major changes have been made to the schema from 1.4.x. The updater
-has not been fully tested for all conditions, and might well break
-under some combinations of versions.
+Before doing anything, stop and consult the release notes supplied with the new
+version of the software. These detail bug fixes, new features and functionality,
+and any particular points that may need to be noted during the upgrade
+procedure.
+
+=== Backup first ===
+
+It is imperative that, prior to attempting an upgrade of the database schema,
+you take a complete backup of your wiki database and files and verify it. While
+the upgrade scripts are somewhat robust, there is no guarantee that things will
+not fail, leaving the database in an inconsistent state.
+
+https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Backing_up_a_wiki provides an overview of
+the backup process. You should also refer to the documentation for your
+database management system for information on backing up a database, and to
+your operating system documentation for information on making copies of files.
+
+=== Perform the file upgrade ===
+
+Download the files for the new version of the software. These are available
+as a compressed "tar" archive from the Wikimedia Download Service
+(http://download.wikimedia.org/mediawiki).
+
+You can also obtain the new files directly from our Git source code
+repository.
+
+Replace the existing MediaWiki files with the new. You should preserve the
+LocalSettings.php file and the "extensions" and "images" directories.
+
+Depending upon your configuration, you may also need to preserve additional
+directories, including a custom upload directory ($wgUploadDirectory),
+deleted file archives, and any custom skins.
+
+=== Perform the database upgrade ===
+
+As of 1.21, it is possible to separate schema changes (i.e. adding,
+dropping, or changing tables, fields, or indices) from all other
+database changes (e.g. populating fields).  If you need this
+capability, see "From the command line" below.
+
+==== From the web ====
+
+If you browse to the web-based installation script (usually at
+/mw-config/index.php) from your wiki installation you can follow the script and
+upgrade your database in place.
+
+==== From the command line ====
+
+From the command line, browse to the "maintenance" directory and run the
+update.php script to check and update the schema. This will insert missing
+tables, update existing tables, and move data around as needed. In most cases,
+this is successful and nothing further needs to be done.
+
+If you need to separate out the schema changes so they can be run
+by someone with more privileges, then you can use the --schema option
+to produce a text file with the necessary commands.  You can use
+--schema, --noschema, $wgAllowSchemaUpdates as well as proper database
+permissions to enforce this separation.
+
+=== Check configuration settings ===
+
+The names of configuration variables, and their default values and purposes,
+can change between release branches, e.g. $wgDisableUploads in 1.4 is replaced
+with $wgEnableUploads in later versions. When upgrading, consult the release
+notes to check for configuration changes which would alter the expected
+behavior of MediaWiki.
+
+=== Check installed extensions ===
+
+Extensions usually need to be upgraded at the same time as the MediaWiki core.
+
+In MediaWiki 1.14 some extensions were migrated into the core. Please see the
+HISTORY section "Migrated extensions" and disable these extensions in your
+LocalSettings.php
+
+=== Test ===
+
+It makes sense to test your wiki immediately following any kind of maintenance
+procedure, and especially after upgrading; check that page views and edits work
+normally and that special pages continue to function, etc. and correct errors
+and quirks which reveal themselves.
+
+You should also test any extensions, and upgrade these if necessary.
+
+== Upgrading from 1.16 or earlier ==
+
+If you have a Chinese or Japanese wiki ($wgLanguageCode is set to one
+of "zh", "ja", or "yue") and you are using MySQL fulltext search, you
+will probably want to update the search index.
+
+In the "maintenance" directory, run the updateDoubleWidthSearch.php
+script.  This will update the searchindex table for those pages that
+contain double-byte latin characters.
+
+== Upgrading from 1.10 or earlier ==
+
+If upgrading from before 1.11, and you are using a wiki as a commons
+repository, make sure that it is updated as well. Otherwise, errors may arise
+due to database schema changes.
+
+== Upgrading from 1.8 or earlier ==
+
+MediaWiki 1.9 and later no longer keep default localized message text
+in the database; 'MediaWiki:'-namespace pages that do not exist in the
+database are simply transparently filled-in on demand.
+
+The upgrade process will delete any 'MediaWiki:' pages which are left
+in the default state (last edited by 'MediaWiki default'). This may
+take a few moments, similar to the old initial setup.
+
+Note that the large number of deletions may cause older edits to expire
+from the list on Special:Recentchanges, although the deletions themselves
+will be hidden by default. (Click "show bot edits" to list them.)
+
+See RELEASE-NOTES for more details about new and changed options.
+
+== Upgrading from 1.7 or earlier ==
 
-NEVER EVER ATTEMPT TO PERFORM AN UPGRADE WITHOUT BACKING UP FIRST!
+$wgDefaultUserOptions now contains all the defaults, not only overrides.
+If you're setting this as a complete array(), you may need to change it
+to set only specific items as recommended in DefaultSettings.php.
+
+== Upgrading from 1.6 or earlier ==
+
+$wgLocalTZoffset was in hours, it is now using minutes.
+
+If upgrading from before 1.7, you may want to run refreshLinks.php to ensure
+new database fields are filled with data.
+
+== Upgrading from 1.5 or earlier ==
+
+Major changes have been made to the schema from 1.4.x. The updater
+has not been fully tested for all conditions, and might well break.
 
 On a large site, the schema update might take a long time. It might
 explode, or leave your database half-done or otherwise badly hurting.
@@ -34,11 +158,22 @@ UTF-8; an experimental command-line upgrade helper script,
 'upgrade1_5.php', can do this -- run it prior to 'update.php' or
 the web upgrader.
 
+NOTE that upgrade1_5.php does not work properly with recent versions
+of MediaWiki. If upgrading a 1.4.x wiki, you should upgrade to 1.5
+first.  upgrade1_5.php has been removed from MediaWiki 1.21.
+
+If you absolutely cannot make the UTF-8 upgrade work, you can try
+doing it by hand: dump your old database, convert the dump file
+using iconv as described here:
+http://portal.suse.com/sdb/en/2004/05/jbartsh_utf-8.html
+and then reimport it. You can also convert filenames using convmv,
+but note that the old directory hashes will no longer be valid,
+so you will also have to move them to new destinations.
+
 Message changes:
-* A number of additional UI messages have been chagned from HTML to
+* A number of additional UI messages have been changed from HTML to
   wikitext, and will need to be manually fixed if customized.
 
-
 === Configuration changes from 1.4.x: ===
 
 $wgDisableUploads has been replaced with $wgEnableUploads.
@@ -69,60 +204,7 @@ If using Memcached, you must enabled it differently now:
 should be replaced with:
   $wgMainCacheType = CACHE_MEMCACHED;
 
-
-=== Web installer ===
-
-You can use the web-based installer wizard if you first remove the
-LocalSettings.php (and AdminSettings.php, if any) files; be sure to
-give the installer the same information as you did on the original
-install (language/encoding, database name, password, etc). This will
-also generate a fresh LocalSettings.php, which you may need to customize.
-
-You may change some settings during the install, but be very careful!
-Changing the encoding in particular will generally leave you with a
-lot of corrupt pages, particularly if your wiki is not in English.
-
-=== Command-line upgrade ===
-
-Additionally, as of 1.4.0 you can run an in-place upgrade script from
-the command line, keeping your existing LocalSettings.php. This requires
-that you create an AdminSettings.php giving an appropriate database user
-and password with privileges to modify the database structure.
-
-Once the new files are in place, go into the maintenance subdirectory and
-run the script:
-
-  php update.php
-
-See caveats below on upgrading from 1.3.x or earlier.
-
-
-== Backups! ==
-
-To upgrade an existing MediaWiki installation, first BACK UP YOUR WIKI!
-If something goes wrong, you want to be able to start again.
-
-Your image files, configuration, etc can simply be copied or archived as
-you would any other files. (Make sure that the contents of your
-LocalSettings.php are not accidentally made public, as this contains
-a database password.)
-
-To back up the database, use the tools provided by your service provider
-(if applicable) or the standard mysqldump program.
-
-For general help on mysqldump:
-http://dev.mysql.com/doc/mysql/en/mysqldump.html
-
-WARNING: If using MySQL 4.1.x, mysqldump's charset conversion may in
-some cases damage data in your wiki. If necessary, set the charset
-option to 'latin1' to avoid the conversion. Fore more info see:
-http://mail.wikipedia.org/pipermail/wikitech-l/2004-November/026359.html
-
-
-== Caveats ==
-
-
-=== Upgrading from 1.4.2 or earlier ===
+== Upgrading from 1.4.2 or earlier ==
 
 1.4.3 has added new fields to the sitestats table. These fields are
 optional and help to speed Special:Statistics on large sites. If you
@@ -134,7 +216,7 @@ manually run the SQL commands from this file:
   maintenance/archives/patch-ss_total_articles.sql
 
 
-=== Upgrading from 1.4rc1 or earlier betas ===
+== Upgrading from 1.4rc1 or earlier betas ==
 
 The logging table has been altered from 1.4beta4 to 1.4beta5
 and again in 1.4.0 final. Copy in the new files and use the web
@@ -147,7 +229,7 @@ files:
    maintenance/archives/patch-logging-title.sql
 
 
-=== Upgrading from 1.3.x ===
+== Upgrading from 1.3 or earlier ==
 
 This should generally go smoothly.
 
@@ -165,19 +247,20 @@ to this:
 As well as new messages, the processing of some messages has changed.
 If you have customized them, please compare the new format using
 Special:Allmessages or the relevant LanguageXX.php files:
-  copyrightwarning
-  dberrortext
-  editingcomment  (was named commentedit)
-  editingsection  (was named sectionedit)
-  numauthors
-  numedits
-  numtalkauthors
-  numtalkedits
-  numwatchers
-  protectedarticle
-  searchresulttext
-  showhideminor
-  unprotectedarticle
+
+* copyrightwarning
+* dberrortext
+* editingcomment  (was named commentedit)
+* editingsection  (was named sectionedit)
+* numauthors
+* numedits
+* numtalkauthors
+* numtalkedits
+* numwatchers
+* protectedarticle
+* searchresulttext
+* showhideminor
+* unprotectedarticle
 
 Note that the 1.3 beta releases included a potential vulnerability if PHP
 is configured with register_globals on and the includes directory is
@@ -189,7 +272,7 @@ send them a kind note explaining that it can expose their servers and their
 customers to attacks.
 
 
-=== Upgrading from 1.2.x ===
+== Upgrading from 1.2 or earlier ==
 
 If you've been using the MediaWiki: namespace for custom page templates,
 note that things are a little different. The Template: namespace has been
@@ -209,7 +292,7 @@ to dump the database to SQL, run it through iconv or another conversion tool,
 and restore it. Sorry.
 
 
-=== Upgrading from 1.1.x or earlier ===
+== Upgrading from 1.1 or earlier ==
 
 This is less thoroughly tested, but should work.
 
@@ -221,16 +304,3 @@ If you have a very old database (earlier than organized MediaWiki releases
 in late August 2003) you may need to manually run some of the update SQL
 scripts in maintenance/archives before the installer is able to pick up
 with remaining updates.
-
-
-=== Upgrading from UseModWiki or old "phase 2" Wikipedia code ===
-
-There is a semi-maintained UseModWiki to MediaWiki conversion script at
-maintenance/importUseModWiki.php; it may require tweaking and customization
-to work for you.
-
-Install a new MediaWiki first, then use the conversion script which will
-output SQL statements; direct these to a file and then run that into your
-database.
-
-You will have to rebuild the links tables etc after importing.