Migración MediaWiki

En estos meses he tenido que migrar no una sino 3 veces mi wiki personal la cual mantengo desde ya algunos años con el plataforma mediawiki (solución libre desarrollada y mantenida por la fundación wikimedia sobre la que está montada la propia Wikipedia).

En primer lugar la migré desde mi servidor doméstico (HP Proliant ML110 G5) al encontrarse este con una Debian Wheezy sin soporte oficial, a un ordenador que habilité con piezas sueltas, con una distribución basada en Ubuntu que estaba probando (concretamente Elementary OS), de mientras saco toda la información del servidor, formateo y reinstalo una nueva distro (ultima Debian estable o CentOS son las opciones que barajo).

A los pocas semanas, el disco duro de este ordenador personal empezó a pistonear hasta que terminó muriendo, y tras reemplazar disco duro volví a restaurar la instalación pero esta vez sobre una distribución Fedora, que me apetecía probar.

De nuevo a los pocos meses el disco duro (Septiembre 2020) el disco duro murió, y volví a tener que migrar en este caso a una Fedora 32 KDE.

El proceso en todas es básicamente el mismo: instalación del servidor web (en mi caso un Apache con PHP y como base de datos MariaDB/MySQL), instalación de la plataforma mediawiki (en mi caso desde los repositorios oficiales con idea de no complicarme y olvidarme un poco de actualizaciones manuales), creación de la base de datos y usuario, y migración de la última copia de seguridad de la base de datos.

CREATE DATABASE wikidb;
CREATE USER wikidb_user IDENTIFIED BY ‘wikidb_userpassword’;

USE wikidb;
GRANT SELECT, UPDATE, INSERT, DELETE, ALTER, CREATE, INDEX, DROP, LOCK TABLES, USAGE ON wikidb.* TO wikidb_user;

mysql -u wikidb_user -p wikidb < dump_of_wikidb.sql

Por norma general, con esos sencillos pasos debería funcionar, pero en el caso de mediawiki (supongo que al tratarse de versiones diferentes), debemos ejecutar el script update.php el cual podemos encontrar entre los archivos de la instalación (directorio maintenance), concretamente en Fedora (puede variar dependiendo de la distribución si instalamos desde repositorios, o manualmente en el directorio www o htpdocs):

# php /usr/share/mediawiki/maintenance/update.php

Otra peculiaridad que me ha pasado la última vez que la he tenido que instalar en Fedora, es que aún poniendo el archivo LocalSettings.php en su directorio correspondiente y dándole permisos (incluso probando con 777), la web principal me decía que no podía leerlo, y la solución que encontré por internet fue ejecutar restorecon -r sobre el directio en cuestión (var/www/wiki). El caso es que a la primera me funcionó la instalación web, pero al ir a cargar la base de datos antiguos me cré nuevas tablas por el prefijo, opté por reinstalar de nuevo con una nueva base de datos, y a partir de ahí ya no era capaz de leer el LocalSettings.php que generaba nuevo..

Por último, en mi caso es importante agregar una líneas al archivo de configuración para que el acceso sea privado solo para quien tenga cuenta:

# Disable reading by anonymous users
$wgGroupPermissions['*']['read'] = false;

# Disable anonymous editing
$wgGroupPermissions['*']['edit'] = false;

# Prevent new user registrations except by sysops
$wgGroupPermissions['*']['createaccount'] = false;

Deja un comentario