MediaWiki es el nombre del software que hace funcionar todos los proyectos de Wikimedia. Fue lanzado en 2003 y es un proyecto de software libre orientado a la creación y mantenimiento de wikis colaborativos. Su licencia se rige por la Licencia Pública General de GNU (GPL) y está publicado bajo la GPL, lo que significa que es de contenido libre o de código abierto y puede estudiarse, modificarse y redistribuirse libremente.

Características principales

  • Edición colaborativa: permite que usuarios editen páginas de forma sencilla usando el formato Wikitext, de modo que personas sin conocimientos de XHTML o CSS puedan contribuir fácilmente. Además, existen interfaces visuales (WYSIWYG) como VisualEditor para quienes prefieren no tocar el Wikitext.
  • Historial de revisiones: cuando un usuario envía una edición, MediaWiki escribe la nueva versión en la base de datos sin eliminar las anteriores, lo que facilita revertir cambios y vigilar el vandalismo o el spam.
  • Gestión de archivos: maneja imágenes y otros archivos multimedia; estos ficheros se almacenan en el sistema de archivos o en repositorios configurables.
  • Plantillas y transclusión: soporta plantillas reutilizables que permiten mantener consistencia en la presentación y automatizar contenidos.
  • Sistemas de permisos y usuarios: gestiona cuentas, grupos y derechos de usuario, así como páginas de discusión (talk), firmas y bloqueos.
  • API: proporciona APIs (acción/REST) para acceder y manipular contenidos desde aplicaciones externas, lo que facilita integraciones y automatizaciones.

Arquitectura y requisitos

MediaWiki está diseñado para ejecutarse en una gran granja de servidores web para sitios que reciben millones de visitas al día. Es una implementación potente y escalable de wiki que utiliza PHP para procesar y mostrar los datos almacenados en bases de datos como MySQL (o sus bifurcaciones como MariaDB). Para wikis grandes, MediaWiki admite el almacenamiento en caché y puede acoplarse fácilmente con proxies y caches como Squid u otros sistemas de cache inverso. También incorpora colas de trabajos, sistemas de cache interno y opciones para CDN y replicación de bases de datos.

Extensiones y personalización

Una de las grandes fortalezas de MediaWiki es su extensibilidad. Mediante extensiones se añaden características como:

  • Editor visual (WYSIWYG).
  • Soporte para scripts (p. ej. Scribunto con Lua) y funciones de parser.
  • Sistemas de referencia y citación automáticos.
  • Herramientas de notificación, notificaciones de cambios y seguimiento.
  • Integraciones con OAuth, LDAP u otros sistemas de autenticación.

Además, la apariencia puede ajustarse con skins (plantillas de presentación) y mediante CSS y JavaScript personalizados por sitio.

Escalabilidad, rendimiento y seguridad

Para soportar alto tráfico, MediaWiki incorpora varias estrategias: caches a distintos niveles, separación de lectura/escritura en bases de datos, balanceo de carga, y mecanismos para limitar peticiones maliciosas. Su diseño de historial de revisiones ayuda en la detección y reversión de vandalismo. Al ser software libre y muy usado, recibe auditorías de seguridad y parches frecuentes; es recomendable mantener MediaWiki y sus extensiones actualizadas.

Comunidad y documentación

MediaWiki cuenta con una comunidad activa de desarrolladores, administradores de wikis y usuarios que mantienen documentación, extensiones y parches. La documentación oficial y los foros de la comunidad son recursos clave para instalación, mantenimiento y desarrollo de nuevas funcionalidades.

Instalación y mantenimiento básico

  • Requisitos típicos: servidor web (Apache, Nginx), PHP (con extensiones necesarias), servidor de bases de datos (MySQL/MariaDB), y espacio para archivos multimedia.
  • Instalación: descargar la versión estable de MediaWiki, configurar la base de datos y el archivo LocalSettings.php, instalar extensiones necesarias y ajustar caches/Proxy para producción.
  • Mantenimiento: aplicar actualizaciones de seguridad, optimizar bases de datos, revisar logs, gestionar backups y monitorizar rendimiento.

Ejemplos de uso

Además de todos los proyectos de Wikimedia (como Wikipedia, Wiktionary, Wikibooks y Wikimedia Commons), MediaWiki se utiliza en organizaciones, proyectos educativos y empresas que necesitan documentación colaborativa y control de revisiones.

Todos los proyectos de Wikimedia funcionan con la versión 1.35.0-wmf.31 de MediaWiki (c33756d). Es importante señalar que Wikimedia suele ejecutar versiones con parches y configuraciones propias para sus necesidades, y que las versiones disponibles públicamente evolucionan con el tiempo: al desplegar MediaWiki en otro entorno conviene instalar una versión adecuada y mantenerla actualizada.