Saltar al contenido principal

Crear un nuevo wiki en la red

Este documento explica el proceso para crear un wiki en la red, desde Terraform hasta que quede accesible con su URL.
Nota: si algún paso falta, el wiki puede responder con errores como "wiki not found" o errores 500.


Pasos para crear un wiki

1. Definir el wiki en Terraform (IaC)

En el archivo wikis.tf, agrega una entrada para el nuevo wiki:

miwikiejemplo = {
dbName = "miwikiejemplo"
subdomain = "ejemplo"
}
  • dbName = nombre de la base de datos en MariaDB.
  • subdomain = subdominio que formará parte de la URL (ejemplo.polandball.wiki).

Ejecuta el plan desde spacelift y aplica.

2. Crear el wiki con el script

Usa el script create_wiki.sh para generar la base de datos y archivos de configuración iniciales:

./scripts/create_wiki.sh

Este script:

  • Crea la base de datos en MariaDB.
  • Ejecuta install.php para poblarla.
  • ❌ NO Crea un archivo de configuración en config/wikis/<dbName>.php. (Esto es aparentemente un bug)

Para los el último paso por favor, crea manualmente el archivo en el repo de mw-config.


3. Registrar el wiki en mw-config

En el repositorio de mw-config, debes hacer dos cosas obligatorias:

  1. Asignar el dominio al dbName en wikis.json o el archivo correspondiente.

    "ejemplosubdominio": "dbname"
  2. Crear el archivo en la carpeta wikis/ con el nombre del dbName:

    mw-config/wikis/miwikiejemplo.php

⚠️ Importante:

  • Si agregas el dominio a wikis.json pero NO creas el archivo en wikis/, MediaWiki mostrará "wiki not found".
  • Ambos pasos son necesarios.

4. Deploy

Haz commit y push en mw-config, luego despliega para que el cambio se aplique en los pods de MediaWiki.


Errores comunes y solución

❌ "Wiki not found"

  • El dominio sí apunta al ingress, pero MediaWiki no encuentra los settings.
  • Solución: asegúrate de que existe el archivo en wikis/ y de que está registrado en wikis.json.

❌ Error 500 / 503 después de crear el wiki

  • Significa que el wiki existe pero falta actualizar las tablas de extensiones.
  • Solución: ejecutar dentro del pod de MediaWiki:
    php maintenance/update.php --wiki nozomiwiki --quick

Checklist rápida

  1. Añadir wiki en wikis.tf.
  2. Ejecutar create_wiki.sh.
  3. Agregar dominio ↔ dbName en wikis.json.
  4. Crear archivo en wikis/<dbName>.php.
  5. Hacer commit en mw-config.
  6. Ejecutar update.php si aparecen errores 500.
  7. Probar acceso en navegador y revisar logs.