Jump to content

Manual: Actualización

From mediawiki.org
This page is a translated version of the page Manual:Upgrading and the translation is 86% complete.
Outdated translations are marked like this.

Resumen general

Transferencia de archivos

Elige un método para transferir los archivos:

Pasos preliminares

Lee el archivo de texto UPGRADE incluido en MediaWiki.

  1. Comprueba los requisitos
  2. Lee el archivo RELEASE-NOTES
  3. Lee el archivo UPGRADE
  4. Haz una copia de seguridad de los archivos existentes y de la base de datos
  5. Extrae los nuevos archivos
  6. Actualiza las extensiones
  7. Ejecuta el script de actualización para comprobar la base de datos
  8. Prueba la actualización
  9. Elimina restos de archivos que pudieron quedar de instalaciones anteriores

Comprobación de requisitos

Advertencia Advertencia: MediaWiki from 1.32 to 1.35.4, 1.36.2, 1.37.0 contain a security issue that allow unprivileged editing of arbitrary page and arbitrary JavaScript execution. If you are using one of these versions and can not upgrade to a newer version, please see 2021-12 liberación de seguridad/FAQ for a workaround.
Advertencia Advertencia: Do not upgrade from a MediaWiki version older than 1.33 to MediaWiki 1.39.1, or you may lose data! Upgrade to MediaWiki 1.35 first. See task T326071.

MediaWiki 1.42 requiere:

  • PHP 8.1.0+
  • Uno de los siguientes:
    • MariaDB 10.3.0+
    • MySQL 5.7.0+
    • PostgreSQL 10.0+
    • SQLite 3.8.0+
Desde la versión 1.36, MediaWiki solo soporta actualizaciones desde dos versiones LTS anteriores (véase phab:T259771). Actualizaciones desde versiones más antiguas tendrán que realizarse en múltiples pasos. Esto significa que si quieres actualizar a la versión 1.42 desde 1.34 o anterior, primero tendrás que actualizar de 1.34 a 1.35 (o 1.39), y una vez en la versión 1.35 (o 1.39) serás capaz de actualizar a 1.42.

Si estás usando PostgreSQL, lee también Manual:Upgrading Postgres .

Para más información, lee Manual: Requisitos de instalación y Compatibility .

Lee las notas sobre cambios

En el archivo comprimido de la instalación, o en los archivos obtenidos desde Git, encontrarás algunos archivos cuyos nombres se encuentran complemente en mayúsculas. Uno de ellos contiene las notas sobre cambios: RELEASE-NOTES (wiki). Ahora es el momento de abrirlo y ver qué es lo que ha cambiado en esta versión. También deberías leer las instrucciones del archivo UPGRADE.

Limpiar los trabajos pendientes

Por cuestiones de rendimiento, algunas acciones en la base de datos se realizan en diferido, gestionadas por la cola de trabajos. Estos trabajos se guardan en base de datos y contienen parámetros con información sobre acciones que deben realizarse. Se recomienda encarecidamente correr los trabajos pendientes antes de actualizar el wiki, para evitar que fallen en caso de que la especificación de los parámetros de estos trabajos cambie en la nueva versión. Usa runJobs.php para correr todos los trabajos pendientes y limpiar la cola de trabajos antes de realizar la actualización.

Haz una copia de seguridad de los archivos existentes y de la base de datos

Instrucciones completas en Manual: Hacer una copia de seguridad de un wiki

Pese a que los scripts de actualización se mantienen al día y son robustos, siempre cabe la posibilidad de que algo pueda salir mal. Antes de proceder a actualizar la estructura de la base de datos, haz una copia de seguridad completa del wiki, que incluya tanto la base de datos como los archivos:

  • el contenido del wiki, empezando por la base de datos (asegúrate de que especificas correctamente el juego de caracteres, mira primero en LocalSettings.php). Puede ser una buena idea generar un volcado XML además del volcado SQL de la base de datos.
  • MySQL, both SQL dump and XML dump are for use with the mysql command:
mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb > file.sql
mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb --xml > file.xml
  • PostgreSQL — volcado de base de datos para usar luego con el comando pg_restore:
pg_dump --create -Fc wikidb > file.db.dump
  • SQLite — puedes usar un script de MediaWiki para crear la copia de seguridad:
php wikifolder/maintenance/sqlite.php --backup-to file
  • imágenes y otros archivos multimedia (el contenido del directorio images, logotipo personalizado /skins/common/images/wiki.png)
  • archivos de configuración, como por ejemplo LocalSettings.php y .htaccess (si está presente)
  • archivos del programa MediaWiki, incluyendo todas las apariencias y extensiones, especialmente si has hecho modificaciones.

Extrae los nuevos archivos

Usando un archivo comprimido

Puedes poner los nuevos archivos en su lugar usando FTP o desde la línea de comandos. ¡Preferiblemente, usa la línea de comandos si tienes acceso a ella! La línea de comandos será mucho más rápida que tener que subir uno a uno los miles de archivos que componen la instalación vía FTP.

Deberías extraer los archivos en un nuevo directorio vacío en el servidor. Si extraes los archivos de la nueva versión directamente encima de los antiguos en lugar de hacerlo en un directorio nuevo, deberás seguir las instrucciones descritas en Haz una copia de seguridad de los archivos existentes y de la base de datos; de no hacerlo, si has realizado alguna modificación en los archivos de instalación, podrías perder esas modificaciones, quedándote sin referencias para aplicarlas de nuevo. Extraer los archivos directamente encima de tu copia actual de MediaWiki puede también dejar por ahí archivos de la versión anterior que podrían interferir con el código de la nueva versión. Te recomendamos que extraigas los nuevos archivos en un nuevo directorio, y que entonces apliques en el nuevo directorio las modificaciones que estimes oportunas (restaurar LocalSettings.php, la carpeta 'images', las extensiones y otras personalizaciones como pueden ser las apariencias personalizadas).

FTP o interfaz gráfico

Si no tienes acceso a tu servidor a nivel de línea de comandos, descarga el archivo comprimido de MediaWiki a tu ordenador local y usa 7zip para descomprimirlo.

Una vez extraídos los archivos, usa tu cliente FTP preferido para subir los directorios y archivos al servidor.

Gestor de archivos de cPanel

cPanel es un panel de control incorporado con varios hosts. Este método es eficiente porque los archivos son descomprimidos desde el mismo servidor.

  • Navega al directorio que contiene la carpeta de tu wiki.
  • Sube el archivo mediawiki-1.xx.x.tar.gz. Quizá tengas que pulsar en "Recargar" o "Reload" para verlo.
  • Extrae el archivo mediawiki-1.xx.x.tar.gz. Vuelve a recargar.
  • Confirma que la carpeta mediawiki-1.xx.x está presente.
  • Elimina el archivo tag.gz.
  • Copia todas las skins, extensiones, carpetas de imágenes y personalizaciones necesarias, así como el archivo LocalSettings.php dentro de la nueva carpeta. (véase más abajo).
  • Cuando estés listo para ejecutar update.php, renombra las carpetas de la wiki vieja y nueva. (por ejemplo, "w" pasa a ser "w1.34" y "mediawiki1.35.0" a "w"). Este paso puede ser revertido fácilmente, si llegas a tener problemas.

Línea de comandos

Es posible que necesites ejecutar el comando con sudo si tu cuenta de usuario no tiene permiso total de escritura para escribir en el directorio de instalación del wiki. Al extraer el paquete de MediaWiki normalmente se creará un nuevo directorio para la versión de MediaWiki, y tendrás que copiar los archivos de configuración y el directorio 'images' desde el directorio donde se encuentra la instalación anterior:

cd /path/to/your/new/installation/ wget https://releases.wikimedia.org/mediawiki/1.42/mediawiki-1.42.3.tar.gz tar xvzf mediawiki-1.42.3.tar.gz rm mediawiki-1.42.3.tar.gz

Los usuarios de (Open)Solaris tienen que usar gtar, o:

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

Otros archivos

Tras extraer los archivos, deberás copiar o mover algunos archivos y directorios desde el antiguo directorio de instalación al nuevo:

  • LocalSettings.php - contiene las opciones de configuración anteriores.
  • El directorio images (o uploads en versiones anteriores), que contiene todos los archivos subidos al wiki, salvo que hayas especificado un directorio de subida de archivos diferente. Deberás cambiar el propietario y los permisos como sea oportuno, por ejemplo con find ./images -type d -exec chmod 755 {} \; y chgrp -R apache images si el usuario web es apache.
  • Extensiones del directorio extensions. Deberías siempre usar versiones actualizadas de las extensiones; no se garantiza que las extensiones antiguas funcionen con una versión más reciente de MediaWiki.
  • Si estás usando un logotipo personalizado, también necesitas copiar este archivo desde la copia de seguridad. Antes de la versión 1.24 normalmente se encontraba en skins/common/images/. A partir de la versión 1.24 se encuentra en resources/assets/, o en images/ si preferiste usarlo así. Entonces indícalo en LocalSettings.php, por ejemplo con $wgLogo = "$wgScriptPath/images/logo.png";.
  • Para 1.35 puede que necesites restaurar los logotipos desde wgLogos . Luego añade a LocalSettings.php por ejemplo $wgLogos = [ '1x' => "path/to/1x_version.png", '2x' => "path/to/2x_version.png", 'svg' => "path/to/svg_version.svg" ];
  • Apariencias personalizadas del directorio skins.
  • Cualquier modificación realizada a los anteriores archivos de instalación o a las extensiones.
  • Cualquier archivo .htaccess (si usas Apache y has definido alguna regla en ellos).

Una vez hecho esto, convierte este nuevo directorio en el directorio publicado en el servidor, o renombra el directorio de instalación anterior y después renombra el nuevo para que coincida con el nombre que estabas usando. Modifica la propiedad y el grupo de todo para que el servidor web tenga acceso a los archivos.

Usando Git

Si usas Git , exporta los archivos a un directorio vacío, y a continuación copia sólo los archivos modificados al nuevo directorio tal como se explica en la sección anterior.

También necesitarás instalar algunas bibliotecas de PHP externo que utilizan Compositor o una colección proporcionada mantenida para el Wikimedia wiki granja. Puedes encontrar más detalles sobre la instalación y actualización de las bibliotecas externas en la documentación de descarga desde Git.

Usando un parche

Por cada actualización menor normalmente también se publica un archivo de parches. Necesitarás descargar patch para usar esto. Descarga y extrae el archivo de parches manualmente desde el sitio de volcados o sigue estas instrucciones con wget. Los parches son incrementales, por lo que no puedes saltarte ninguna versión.

  1. Cambia con cd al directorio principal de tu instalación de MediaWiki (el que contiene LocalSettings.php).
  2. Descarga el archivo de parches y descomprímelo con gunzip.
  3. Usa patch -p1 --dry-run para comprobar qué se cambiará (ejemplo: patch -p1 --dry-run -i mediawiki-x.xx.x.patch)
  4. Si todo va bien, ejecuta patch nuevamente, pero esta vez sin --dry-run.
  5. Visita Especial:Versión y deberías ver el nuevo número de versión en su lugar.

Archivos antiguos que pueden causar errores

Si descomprimiste los archivos directamente encima de la versión anterior, algunos archivos antiguos pueden causar problemas en la nueva versión.

Actualiza las extensiones

Algunas extensiones han sido actualizadas para que funcionen con la nueva versión de MediaWiki. Asegúrate de usar la versión más reciente de estas extensiones. Puede que necesites realizar actualizaciones manualmente en el caso de extensiones que hayas modificado.

Los distintos archivos de distribución basados en tar incluyen algunas extensiones y cuentan con control de versiones para ayudarte en caso de una actualización a elegir la versión adecuada para la versión que tengas instalada de MediaWiki.

El distribuidor de extensiones va bien para la mayoría de la gente que busca una instantánea de las extensiones que funcionan con las versiones soportadas de MediaWiki.

Si te propones descargar un gran número de extensiones, entonces probablemente sea mejor descargarlas desde Git. Si no tienes Git peroo quieres actualziar un montón de extensiones, considera usar mwExtUpgrader.

<span id="Adapt_your_LocalSettings.php">

Adapta tu LocalSettings.php

Si vas a usar el mismo archivo LocalSettings.php que con la versión anterior, puede que necesites adaptarlo a cómo lo usan las nuevas versiones.

Registro de apariencias

Versión de MediaWiki:
1.24

Desde MediaWiki 1.24, las apariencias incluidas en el paquete -como Vector, Monobook, Modern y CologneBlue- ya no forman parte del núcleo de MediaWiki, y debes registrarlas explícitamente en LocalSettings.php para poder usarlas, en caso contrario MediaWiki mostrará un aviso indicando que no tienes ninguna apariencia instalada.

Esto es lo que debes añadir a LocalSettings.php cuando actualices desde una versión anterior a la 1.24 y quieras tener disponible alguna de estas apariencias:

wfLoadSkin( 'Vector' );
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Modern' );
wfLoadSkin( 'CologneBlue' );

El resto de apariencias pueden no haber sido todavía adaptadas al nuevo sistema de registro de apariencias, así que en caso de problemas, consulta la página de documentación de cada una de ellas para ver cómo registrarlas correctamente.

Registro de extensiones

Versión de MediaWiki:
1.25

Desde MediaWiki 1.25, las extensiones usan un nuevo sistema de registro de extensiones.

En versiones anteriores, tu LocalSettings.php incluiría algo como esto:

require_once "$IP/extensions/Cite/Cite.php";
require_once "$IP/extensions/Gadgets/Gadgets.php";
require_once "$IP/extensions/ImageMap/ImageMap.php";
require_once "$IP/extensions/InputBox/InputBox.php";
require_once "$IP/extensions/Nuke/Nuke.php";
require_once "$IP/extensions/ParserFunctions/ParserFunctions.php";
require_once "$IP/extensions/Poem/Poem.php";
require_once "$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php";
require_once "$IP/extensions/WikiEditor/WikiEditor.php";

Esto puede convertirse en:

wfLoadExtension( 'Cite' );
wfLoadExtension( 'Gadgets' );
wfLoadExtension( 'ImageMap' );
wfLoadExtension( 'InputBox' );
wfLoadExtension( 'Nuke' );
wfLoadExtension( 'ParserFunctions' );
wfLoadExtension( 'Poem' );
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
wfLoadExtension( 'WikiEditor' );

Las extensiones están siendo adaptadas para usar el nuevo sistema de registro. Las extensiones que no se han adaptado deberían seguir usando el sistema antiguo de instalación. Para más información, consulta las instrucciones de instalación en la página de cada extensión.

Remove DefaultSettings.php line (if necessary)

Older versions of MediaWiki automatically generated a line in LocalSettings.php calling DefaultSettings.php . As of Version 1.38, this line is deprecated and does not work with many extensions. It needs to be removed.

Delete the following line:

require_once( "$IP/includes/DefaultSettings.php" );

Remove RenameUser from LocalSettings.php

If you are upgrading to 1.40 or above, Extension:RenameUser has been merged into core. If present, this line must be deleted from LocalSettings.php or the update will fail.

wfLoadExtension( 'Renameuser' );

Otras variables

Algunas variables pueden haber sido declaradas obsoletas o haberse eliminado completamente. Normalmente, tenerlas aún en LocalSettings.php no tendrá efecto alguno. En las nuevas versiones de MediaWiki pueden añadirse nuevas variables, como también puede cambiar el tipo de una variable ya existente. Normalmente intentamos usar valores predeterminados para ellas que sean seguros, y en caso de cambiar su tipo, procuramos mantener compatibilidad hacia abajo. En cualquier caso, revisa las notas de lanzamiento para ver si ha habido algún cambio de este tipo.

Ejecuta el script de actualización

La base de datos de MediaWiki puede actualizarse de dos maneras: desde la línea de comandos, o desde el navegador. Si tienes acceso a tu servidor a nivel de línea de comandos, ésa es la manera recomendada, puesto que esto reduce el riesgo de que el proceso de actualización se vea interrumpido por una petición caducada o un reinicio en la conexión.

El script también intentará descargar cualquier software del que dependa MediaWiki y que no esté presente.

Línea de comandos

Access the command line of your server or an SSH shell or similar. You can access the command line by connecting to your server via SSH. Current versions of all major operating systems (including Windows 10 and 11) contain a command-line OpenSSH client either by default or as an installable feature. If the local PC you are working on runs Microsoft Windows, you may want to (or, if it’s 8.1 or older, have to) install PuTTY, which features a wizard-like interface (or a similar tool). From the command line or the Shell, execute the update script:

Versión de MediaWiki:
1.40
$ php maintenance/run.php update.php
Versión de MediaWiki:
1.39
$ php maintenance/update.php

En un servidor Linux, si obtienes un error intenta ejecutar el mismo comando como raiz (sudo). Nota para instalaciones simples en Windows (por ejemplo, con XAMPP ): Primero asegúrate que tanto tu servidor web (como Apache) y tu base de datos (como MySQL) están en ejecución. Luego ejecuta update.php: haz clic derecho en el, selecciona Abrir con, y dirígete a PHP.exe. La ventana del ínteprete de comandos resultante probablemente se cerrará cuando se complete el esquema de actualización.

MediaWiki examinará la estructura existente y la actualizará para trabajar con el nuevo código, añadiendo tablas y columnas según sea necesario.

Si usas una base de datos compartida, deberás pasar el parámetro --doshared si quieres que se actualicen las tablas compartidas; de lo contrario, el script de actualización no tocará esas tablas.

What to do if it says "MediaWiki requires PHP x.y.z or higher; you are using PHP x.w.v"

See Manual:Common errors and symptoms#MediaWiki requires PHP 7.4.3 or higher; you are using PHP 7.3.17

What to do if php update.php fails to do anything, resulting in a quick pause and then return to command prompt

This can be caused by a malfunctioning extension or skin.

  • Check that all extensions and skins called for in LocalSettings.php are present
  • Check that extensions are using the correct registration method (wfLoadExtension vs. require_once)
  • Comment out the first half of the extensions in LocalSettings.php.

If this causes update.php to work, uncomment half of that half (so 1/4 of the extensions). If this does NOT cause update.php to work, uncomment the first half but comment out the second half, and then comment out half of the second half, etc. Repeat until update.php works to find the one that is failing.

Qué hacer en caso de un error "ALTER command denied to user" (o similar)

En caso de que el script cancele la actualización con un mensaje similar a

Error: 1142 ALTER command denied to user 'wiki'@'localhost' for table 'mytable' (localhost)
ERROR: must be the owner of the mytable relation 

esto significa que debes comprobar si has definido $wgDBadminuser y $wgDBadminpassword en tu archivo LocalSettings.php (en el directorio raíz de MediaWiki). Estos valores son el nombre de usuario y la contraseña que necesita el script para poder acceder a la base de datos.

En algunos casos, una variable antigua $wgDBmwschema (para Postgres) parece ser usada para el nombre de tabla para actualizar, en vez de $wgDBname, incluso cuando se está usando mysql. Si se da este caso, simplemente borra la definición de $wgDBmwschema en LocalSettings.php.

Qué hacer en caso de un error 'register_argc_argv is set to false'

Quizá te encuentres el error

Cannot get command line arguments, register_argc_argv is set to false
  1. Vé a ~/maintenance y edita el archivo 'php.ini', o créalo si no existe
  2. Añade una línea así:
register_argc_argv=true
  1. Vuelve a ejecutar php update.php

Versión de MediaWiki:
1.17
Véase también update.php

Si tu base de datos tiene ya un tamaño considerable y se encuentra bajo uso intensivo, no deberías usar el actualizador vía web, dado que el proceso de actualización caducará cuando se alcance el tiempo máximo de ejecución establecido en PHP (maximum_execution_time). En este caso deberías usar update.php desde el interfaz de línea de comandos y no desde la web. Qué es exactamente un "tamaño considerable" es algo que depende de tu servidor (por ejemplo, su rendimiento, la carga de trabajo que tiene y el tiempo máximo de ejecución que concede PHP al script para cumplir su cometido). Si tu wiki es demasiado grande para el actualizador vía web y tu empresa de hospedaje no te da acceso mediante línea de comandos, entonces tendrás que trasladar tu wiki a otro proveedor, preferiblemente a uno que sí ofrezca acceso desde línea de comandos.

  1. Haz siempre una copia de seguridad de tu wiki antes de realizar cualquier labor de mantenimiento en la base de datos.
  2. Visita /mw-config/index.php desde tu navegador. Por ejemplo, si tu wiki está en http://example.org/w/index.php, navega a http://example.org/w/mw-config/index.php.
  3. Elige tu idioma y pulsa 'Continuar'.
  4. La instalación existente debería detectarse automáticamente. Sigue las instrucciones en pantalla para actualizarla.
    Si se te pide una "contraseña de actualización", abre tu archivo LocalSettings.php y busca el valor de $wgUpgradeKey .

Puede suceder que el actualizador vía web parezca no funcionar: en lugar de ver la pantalla inicial de selección de idioma, podría salir una página vacía, posiblemente con algún mensaje de error. En este caso lo más probable es que tu servidor use reglas de reescritura (muy posiblemente para usar URLs cortos), que hacen que no aparezca el actualizador de mw-config/ sino una página wiki de Mw-config/, con una "M" en mayúsculas. En este caso, renombra el archivo .htaccess mientras se hace la actualización, con lo cual deberías poder acceder al actualizador vía web.

Advertencia Advertencia: Si usas este método, ¡asegúrate de volver a renombrar el archivo .htaccess después de ejecutar el script de actualización! ¡De lo contrario, tanto los URLs cortos como posiblemente otras cosas dejarán de funcionar!

Prueba la actualización

Una vez que haya concluido la actualización, navega por el wiki y comprueba que estas operaciones funcionan como deberían:

  • Ver páginas
  • Editar páginas
  • Subir un archivo
  • Visitar Special:Version y comprobar que la versión que aparece es correcta y que las extensiones están presentes.

Limpia restos de instalaciones anteriores

Si has copiado tu anterior instalación a otra carpeta en el servidor, asegúrate de eliminarla o hacerla completamente inaccesible de la web. Es muy importante no dejar instalaciones previas accesibles desde la web, ya que se pierde por completo el propósito de actualizar, y deja tu servidor expuesto a ataques.

Preguntas frecuentes

¿Cómo de difícil es actualizar MediaWiki?

Si el único archivo que has modificado es LocalSettings.php y estás actualizando desde la versión 1.5 o posterior, el proceso es muy sencillo. La cantidad de trabajo que lleva es de sólo unos minutos. Los cambios en la estructura de la base de datos llevarán un tiempo proporcional al tamaño de tu base de datos — potencialmente pueden ser varias horas en el caso de wikis con millones de páginas, mientras que si es un tamaño típico de unos pocos miles de páginas, normalmente será cuestión de unos segundos.

Las actualizaciones menores, dentro de la misma versión principal, desde 1.41.0 a 1.41.4, no requieren absolutamente ningún esquema de cambios. Puedes simplemente actualizar los archivos. La base de datos no necesita ninguna actualización, por ello no es necesario ejecutar el script de actualización.

Actualizar desde la versión 1.4 o anteriores es algo potencialmente complicado porque se abandonó el soporte para los juegos de caracteres que no fuesen el UTF-8, y el esquema para almacenar texto en bloque fue modificado. Por favor, lee la sección correspondiente del archivo UPGRADE.

La actualización se vuelve más difícil si has modificado nuestro código fuente y no quieres que se sobreescriban tus cambios. Herramientas como diff, patch, Meld o WinMerge pueden resultarte útiles. También hay un problema potencial si estás usando extensiones cuyo mantenimiento ha sido abandonado; actualiza tus extensiones al mismo tiempo que actualizas MediaWiki.

Si has modificado la apariencia o usas una apariencia personalizada, muy posiblemente tengas que ajustarla para que funcione de nuevo con la nueva versión de MediaWiki.

En lugar de parchear tus archivos de CSS y JavaScript "globales" cada vez que actualizas el software, puedes simplemente añadir el código a tus páginas MediaWiki:Common.js y MediaWiki:Common.css. Puesto que estas páginas forman parte de la base de datos, que será reutilizada cuando hagas la actualización, no tendrás que volver a parchear los archivos del núcleo de MediaWiki.

¿Cómo actualizo desde una versión muy, muy antigua? ¿En uno, o en varios pasos?

Versión de MediaWiki:
1.4

Depende. Si estás actualizando desde MediaWiki 1.4 o una versión anterior, deberías actualizar primero a MediaWiki 1.5. Si estás actualizando desde un wiki que usa Latin-1, ejecuta upgrade1_5.php (que encontrarás en el archivo de MediaWiki 1.5) para convertir las partes correspondientes de la base de datos a UTF-8 ($wgUseLatin1 tiene que estar a TRUE en tu LocalSettings.php para que esto funcione). A continuación, ejecuta update.php, e indica en la variable $wgLegacyEncoding de LocalSettings.php el sistema de codificación usado anteriormente en el wiki (por ejemplo, windows-1252). Así es básicamente cómo se actualizaron Wikipedia y otros sitios de la Fundación Wikimedia cuando pasaron de MediaWiki 1.4 a la versión 1.5; mira el [$noc archivo de opciones en cuestión] y algunas notas al respecto en Wikitech para más detalles. También es posible que necesites actualizar a MediaWiki 1.4 antes de poder ejecutar el script upgrade1.5. Si quieres hacer un volcado de base de datos (p. ej. MySQL) del wiki en codificación Latin-1 wiki, asegúrate que el tipo del campo old_text en la tabla $text es mediumblob, no mediumtext, para evitar problemas con la codificación de caracteres.

Versiones de MediaWiki:
1.5 – 1.35

Si estás actualizando desde MediaWiki 1.5 o posterior hasta 1.35 entonces puedes realizar la actualización en un sólo paso, desde tu vieja versión a la versión estable más reciente. La inmensa mayoría de informes, además de las pruebas automatizadas, indican que hacerlo en un único paso funciona perfectamente. Si no te lo crees, lee este mensaje de lista de correo. Sin embargo, has de tener en cuenta que al actualizar desde versiones muy antiguas, las posibilidades de que te encuentres errores de PHP son mayores que si estuvieses actualizando desde la versión inmediatamente anterior a la nueva. Habría recibido estos errores de todos modos, si no se hubiera saltado las versiones, pero los errores se habrían asociado con cada actualización individual. Instead, if you update several versions at once, you'll get the same set of errors all at the same time. Esto hará que la actualización sea más difícil, pero no olvides que ¡también te ahorras actualizar primero a todas las versiones que te estás saltando!

Versión de MediaWiki:
1.35

Si estás actualizando a MediaWiki 1.36 o posterior, sólo están soportadas las actualizaciones desde las últimas dos versiones LTS (phab:T259771). Esto significa que, para versiones muy viejas, primero tendrás que actualizar a MediaWiki 1.35, y de ahí a 1.36.

¿Debería hacer primero una copia de seguridad?

Respuesta breve: sí.

Respuesta más larga: depende de (a) en cuánto valoras tu información, (b) cómo de difícil sería hacer la copia de seguridad, y (c) la experiencia que tienes en el mantenimiento y administración de MySQL.

Un fallo en la actualización puede dejar tu base de datos en un estado inconsistente, a medio camino entre dos versiones distintas. Podría aparecer un error de PHP o de MySQL durante la actualización, dejando tu base de datos actualizada a medias. In such situations it may be possible to somehow fix this problem with much manual work. However, it will be way easier to just put a database backup from before running update.php in place and to continue with that. Otherwise you might have hours of - needless - work.

La recuperación de una situación así es a menudo complicada. Los voluntarios que atienden los foros de soporte es poco probable que reciban con agrado la noticia de que no tienes una copia de seguridad y que ahora necesitas ayuda para salvar los muebles porque ha habido corrupción de datos durante una actualización. Una situación más deseable sería que pudieses repetir el proceso echando mano de tu copia de seguridad, para a continuación informar del fallo identificando el componente de MediaWiki que causó la corrupción de datos durante el proceso de actualización.

<span id="Can_I_keep_my_LocalSettings.php?">

¿Puedo conservar mi LocalSettings.php?

Sí, pero puede que tengas que hacer algunos pequeños cambios. El formato de LocalSettings.php es fundamentalmente compatible hacia abajo. Los cambios que puedan afectar a la compatibilidad de LocalSettings.php se documentarán en la sección "Cambios en la configuración" de las notas de lanzamiento.

¿Puede mi wiki seguir funcionando mientras se actualiza?

Generalmente sí, aunque Git puede inutilizarlo temporalmente (durante unos pocos segundos).

Si estás actualizando entre versiones menores de MediaWiki, lo único que necesitas es sustituir los antiguos archivos con los nuevos.

Nota: lo que sigue da por supuesto que tienes acceso a nivel de línea de comandos. Si estás actualizando entre versiones mayores de MediaWiki, el procedimiento recomendado es el siguiente:

  1. Descomprime la nueva versión de MediaWiki a un nuevo directorio.
  2. Prepara el nuevo directorio: copia tu LocalSettings.php del antiguo directorio, así como las extensiones y apariencias personalizadas que puedas tener instaladas. Verifique la configuración de $wgLogo y $wgLogos en LocalSettings.php y, si fuese necesario, copia el archivo del logo del directorio antiguo al nuevo.
  3. En las notas de lanzamiento de la nueva versión, mira si hace falta hacer cambios en LocalSettings.php.
  4. In the old directory, edit LocalSettings.php and insert the following code. This will place the database in read-only mode for regular wiki activity, without restricting your own update actions. Users will see the message provided if they attempt an edit during the upgrade process:
    $adminTask = ( PHP_SAPI === 'cli' || defined( 'MEDIAWIKI_INSTALL' ) );
    $wgReadOnly = $adminTask ? false : 'Upgrading to MediaWiki 1.42.3';
  5. Ejecuta el script de actualización o el actualizador web en el nuevo directorio.
  6. Copia el subdirectorio 'images' del antiguo directorio al nuevo directorio.
  7. Intercambia el antiguo directorio con el nuevo. (This will make the database writable again, because $wgReadOnly was only set in the old directory's LocalSettings.php.)

¿Por qué actualizar?

Suscríbete a mediawiki-announce para recibir notificaciones de nuevos lanzamientos.

Las versiones recientes reciben correcciones en la seguridad que hacen que tu wiki y tu servidor estén mejor protegidos contra los vándalos, cosa que no ocurre con las versiones antiguas (véase Ciclo de vida de las versiones ). ¡Ya sólo éso supone docenas de motivos para actualizarte!

Los lanzamientos donde hay un cambio de versión mayor traen nueva funcionalidad que te puede interesar: mira las notas de lanzamiento para más detalles. En caso de que necesites más argumentos para convencer a tus jefes de que te dejen actualizar una antigua versión, aquí va una lista:

Véase también