Manual: Actualización

From MediaWiki.org
Jump to: navigation, search
This page is a translated version of the page Manual:Upgrading and the translation is 99% complete.

Other languages:
العربية • ‎беларуская • ‎български • ‎català • ‎Deutsch • ‎Zazaki • ‎Ελληνικά • ‎English • ‎español • ‎فارسی • ‎français • ‎हिन्दी • ‎magyar • ‎Bahasa Indonesia • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎polski • ‎português do Brasil • ‎русский • ‎sicilianu • ‎سنڌي • ‎Türkçe • ‎中文

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 las notas sobre los cambios que se han hecho en el software
  3. Haz una copia de seguridad de los archivos existentes y de la base de datos
  4. Extrae los nuevos archivos
  5. Actualiza las extensiones
  6. Ejecuta el script de actualización para comprobar la base de datos
  7. Comprueba la actualización

Comprobación de requisitos

MediaWiki 1.28 requiere:

  • PHP 5.5.9+
  • Uno de los siguientes:
    • MySQL 5.0.2+ (o MariaDB equivalente)
    • PostgreSQL 8.3+
    • SQLite 3.3.7+
    • Oracle 9.0.1+

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

Para más información, lee Manual:Requisitos de instalaciónManual:Installation requirements y CompatibilidadCompatibility.

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.

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.phpManual: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 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 — tanto el volcado SQL como XML se pueden hacer con los comandos de la propia base de datos:
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.

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

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.28/mediawiki-1.28.2.tar.gz
$ tar -xvzf mediawiki-1.28.2.tar.gz 
$ rm mediawiki-1.28.2.tar.gz

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

$ gzip -dc mediawiki-1.28.2.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, que 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";.
  • 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.

Usando Git

Si usas GitDownload from 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.

Si estás actualizándote a MediaWiki 1.25 o a una versión posterior, también tendrás que instalar una serie de bibliotecas PHP externas, ya sea usando Composer o bien el conjunto que se proporciona y que está mantenido para la granja de wikis de Wikimedia. Encontrarás más detalles sobre la instalación y actualización de bibliotecas externas en la documentación para la descarga desde Git.

Usando un parche

Por cada actualización menor normalmente también se publica un archivo de parches. 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 stable release number.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.


Versión de MediaWiki: 1.18

Si no estás usando perfilado, pero tienes un archivo StartProfiler.php en el directorio raíz de MediaWiki, puedes encontrarte errores que hacen referencia a /includes/Profiler.php. Borrar o renombrar el archivo StartProfiler.php puede resolver este error. Si en el futuro activas el perfilado, puedes usar como plantilla el archivo StartProfiler.sample, que también se encuentra en el directorio raíz de MediaWiki.


Versión de MediaWiki: 1.23

Desde MediaWiki 1.23 no existe ningún mecanismo de detección automática de archivos de apariencias; por lo tanto, tras actualizarte a la versión 1.23 o posteriores, asegúrate de que se han eliminado los antiguos archivos Chick.php, Nostalgia.php, Simple.php y Standard.php del directorio skins/, así como los subdirectorios correspondientes del directorio skins/. Para ayudarte a recordarlo, MediaWiki guardará avisos si encuentra uno cualquiera de estos antiguos elementos. También necesitarás modificar cualquier apariencia que se haya personalizado a fin de seguir la misma convención. Mira Manual:Skin autodiscoveryManual:Skin autodiscovery para más información.


Versión de MediaWiki: 1.24

MediaWiki 1.24 cambia las rutas de los archivos principales de las apariencias. Tras actualizarte a esta versión o a una posterior, debes asegurarte de que ya no están presentes los antiguos archivos CologneBlue.php, Modern.php, MonoBook.php y Vector.php directamente en el directorio skins/. Mira Manual:Skin autodiscoveryManual:Skin autodiscovery para más informació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.

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

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' );

Este código es para MediaWiki 1.25 y posteriores. Para MediaWiki 1.24 necesitas usar este código:

require_once "$IP/skins/Vector/Vector.php";
require_once "$IP/skins/MonoBook/MonoBook.php";
require_once "$IP/skins/Modern/Modern.php";
require_once "$IP/skins/CologneBlue/CologneBlue.php";

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

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.

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

Accede a la línea de comandos de tu servidor, ya sea con una cuenta SSH o similar. Puedes acceder a la línea de comandos conectando con tu servidor vía SSH. Si el ordenador local desde el que estás trabajando corre Microsoft Windows, necesitarás una herramienta como PuTTY para poder usar SSH. Desde la línea de comandos, accede al directorio maintenance y ejecuta el script de actualización:

$ php update.php

Si estás en un servidor Linux y encuentras un error, prueba a ejecutar el mismo comando como root (sudo php maintenance/update.php). En el caso de un paquete integrado para Windows (por ejemplo, XAMPPManual:Installing MediaWiki on XAMPP), asegúrate primero de que tanto tu servidor web (como Apache) como el motor de la base de datos (por ejemplo, MySQL) están corriendo, y entonces ejecuta update.php pulsando sobre él con el botón secundario del ratón, eligiendo "Abrir con..." y eligiendo PHP.exe dondequiera que lo tengas instalado; la ventana de comandos que se abre probablemente se cerrará por sí sola cuando concluya la actualización de la estructura de la base de datos.

Quizá te encuentres con un mensaje que dice que tu versión de PHP es muy antigua y que necesitas una versión más reciente; tras ese mensaje, el proceso de actualización se cancela. El motivo de este error es que la línea de comando puede usar una versión de PHP distinta de la que tú tienes cuando ejecutas MediaWiki desde el servidor web. Si te encuentras este mensaje, deberás comprobar si puedes ejcutar una versión más reciente de PHP en la línea de comando usando un comando distinto: podría ser por ejemplo php5 o php56. Que haya o no otra versión disponible y en tal caso bajo qué nombre es algo que depende de la configuración de tu servidor; si no puedes solucionarlo, consulta a tu proveedor, ellos seguramente sabrán si la hay.

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.

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 $wgDBadminuserManual:$wgDBadminuser y $wgDBadminpasswordManual:$wgDBadminpassword en tu archivo LocalSettings.phpManual: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.

Qué hacer en caso de un error "unexpected T_STRING"

Si estás ejecutando update.php desde la línea de comando, es posible que te encuentres este error:

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

Esto ocurre cuando se ejecuta update.php con php4.

Si estás usando un servidor hospedado con un proveedor que proporciona tanto php4 como php5, deberás seguir los siguientes pasos:

  1. Desde la línea de comando, introduce el comando 'whereis php5'
  2. Una vez que hayas descubierto la ubicación de php5, pide un listado con el contenido del directorio php5/bin.
  3. Cuando conozcas el nombre del ejecutable PHP (que puede ser php o php5), teclea la ruta completa para ejecutar update.php.

He aquí un ejemplo:

$ whereis php5
$ ls -la /usr/local/php5/bin
$ /usr/local/php5/bin/php update.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'

Navegador web

Versión de MediaWiki: 1.17
Véase también update.phpManual: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/ desde tu navegador. Por ejemplo, si tu wiki está en http://example.org/w/index.php, entonces abre http://example.org/w/mw-config/.
  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.phpManual:LocalSettings.php y busca el valor de $wgUpgradeKeyManual:$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.

Preguntas frecuentes

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

Si el único archivo que has modificado es LocalSettings.phpManual: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, donde la versión mayor es la misma (por ejemplo, pasar de la versión 1.13.0 a la 1.13.1) no necesitan ningún cambio de estructura y puedes limitarte a sustituir los antiguos archivos: no es necesario actualizar la base de datos, así que tampoco es necesario ejecutar el script de instalació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.

Nota Nota: 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?

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, utiliza 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 ($wgUseLatin1Manual:$wgUseLatin1 tiene que estar a TRUE en tu LocalSettings.phpManual:LocalSettings.php para que esto funcione). A continuación, ejecuta update.php, e indica en la variable $wgLegacyEncodingManual:$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 archivo de opciones en cuestión (¡ojo: este archivo es muy grande!) y algunas notas al respecto en Wikitech para más detalles. También es posible que necesites actualizar a MediaWiki 1.4 para poder ejecutar el script de actualización a la versión 1.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 textManual:Text table es mediumblob, no mediumtext, para evitar problemas con la codificación de caracteres.

Si estás actualizando desde MediaWiki 1.5 o posterior 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. Estos errores los verías igualmente aunque no te hubieses saltado versiones intermedias y las hubieses ido instalando una por una de forma consecutiva; la diferencia es que en este caso verás toda esta acumulación de errores al mismo tiempo. 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!

¿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. Para evitar algo así, será mucho más fácil tirar de una copia de seguridad realizada antes de ejecutar update.php y continuar de ese modo; de lo contrario, podrías encontrarte con muchas horas de trabajo (innecesario) por delante.

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.

¿Puedo conservar mi LocalSettings.php?

Sí, pero puede que tengas que hacer algunos pequeños cambios. El formato de LocalSettings.phpManual: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. Comprueba la variable $wgLogo 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. Pon la base de datos en modo lectura insertando la siguiente variable en el LocalSettings.php del viejo directorio; los usuarios verán este mensaje si intentan editar una página durante el proceso de actualización:
    $wgReadOnlyManual:$wgReadOnly = 'Actualizando a MediaWiki 1.28.2';
  5. Ejecuta el script de actualización o el actualizador vía web en el nuevo directorio.
  6. Copia el subdirectorio 'images' del antiguo directorio al nuevo directorio.
  7. Intercambia el antiguo directorio con el nuevo.

¿Por qué actualizar?

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

Porque suele ser fácil hacerlo, con un único paso para cambiarte a la versión más reciente y también vía web.

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 versionesVersion lifecycle). ¡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:

Mira también la lista de los fallos corregidos más votados en BugzillaBugzilla hasta el 2014.

También, en MediaWiki 1.18 empezamos a incluir en el archivo de MediaWiki algunas extensiones vitales, como un editor mejor y las herramientas anti-vandalismo ConfirmEdit y Nuke; en versiones más recientes se han ido añadiendo más.

Véase también