Apuntes y trucos varios para la administración de la plataforma MediaWiki.
Antes que nada, la mayoría de la información aquí expuesta viene del Manual de MediaWiki, sitio de referencia obligatorio para cualquier administrador.
- Instalación
- Configuración
- URL corta
- Subida de archivos
- Logo y favicon
- Caché de las páginas
- Configuración del correo
- Usuarios y permisos
- Controlar las funciones de edición, discusión, etc.
- Personalizar apariencia (Css) y funcionalidad (Js)
- El menú de navegación
- Proteger una página
- Aviso generalizado
- Personalizar el pie
- Saber la versión instalada
- Actualizar la versión
- Extensiones
Instalación
Bueno, como requisitos, muy resumidamente, debes de tener un servidor web (preferentemente Apache), MySQL y PHP configurados y funcionando (lo que no es poco... jeje).
Después, para instalarlo, vete aqui y todo es seguir los pasos... Si ves que algo va mal puedes consultar aqui posibles errores que pueden aparecer. Lo de que se tarda 10-30 min. en fin... jeje... no hay que tomarse esas cosas muy en serio.
Configuración
Los archivos principales de configuración del MediaWiki son LocalSetings.php y DefaultSettings.php. aunque el segundo nunca debe tocarse. Siempre que se vaya a modificar algo de la configuración hay que añadirlo o editarlo en LocalSetings.php (las opciones prevalecen sobre las idénticas que estén declaradas en DefaultSettings.php), por ello en adelante si no se especifica siempre nos referiremos a este archivo. Asi mismo, si tampoco se especifica se entiende que una variable no debe estar repetida dentro del mismo fichero: hay que buscarla primero y si existe, se edita, y sino se añade.
Por cierto, no olvides periódicamente ir haciendo copias de seguridad de los archivos... que el caminante hace camino pero después... es difícil volver hacia atrás.
Los sitios fundamentales para saber cómo configurar y ajustar adecuadamente nuestro MediaWiki son las FAQ y la página de ayuda a la configuración, dónde explican todas las varables de los ficheros mencionados y para qué sirve cada una. Por otro lado nunca estará de más antes que nada nada echarle un vistazo a los ficheros: tienen muchos comentarios interesantes.
URL corta
Para utilizar URL corta (/wiki/Article_Name en lugar de /wiki/index.php?title=Article_Name) hay varios métodos.
Yo tengo hecha la siguiente modificación en el archivo httpd.conf de Apache (requiere acceso al servidor):
...
Alias /wiki/skins/ "C:/xampp/htdocs/wiki/skins/"
Alias /wiki/images/ "C:/xampp/htdocs/wiki/images/"
Alias /wiki "C:/xampp/htdocs/wiki/index.php"
...
Así mismo, en la configuración (recordemos, archivo LocalSetings.php) modificaremos / añadiremos las siguientes variables:
$wgScriptPath = "/wiki";
$wgArticlePath = "/wiki/$1";
Esto me permite utilizar URL's como http://www.midominio.com/wiki/Portada en vez de tener que escribir http://www.midominio.com/wiki/index.php?title=Portada.
Subida de archivos
Para habilitar editar o añadir: $wgEnableUploads = true;
Y para permitir extensiones varias: $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'pdf', 'txt' );
Logo y favicon
Utiliza $wgLogo y $wgFavicon para poner las rutas a los archivos .gif y .ico respectivamente. En mi caso están configuradas así:
$wgLogo = '/wiki/skins/common/logo.gif';
$wgFavicon = '/wiki/skins/common/favicon.ico';
Las dimensiones del logo deben ser de 135 x 135 pixels.
Por supuesto, las imágenes deberán crearse y colocarse en dicha ruta...
Caché de las páginas
Por defecto MediaWiki tiene activado un complejo sistema de caché (ideal para grandes sitios como Wikipedia), pero si el ámbito de nuestro wiki es más modesto (como es mi caso) lo mejor es deshabilitarla. Esto se hace añadiendo esto:
// Guardar páginas en caché del cliente
$wgCachePages = false;
// Validez de la caché de objetos. Para deshabilitar, poner fecha muy posterior a la actual.
$wgCacheEpoch = '20120731000000';
// Para guardar páginas en caché (tabla objectcache, turck, o en memoria)
$wgEnableParserCache = false;
Si la caché estuviera activada y de forma puntual quisieramos eliminar la caché de una página en concreto, solo hay que añadir &action=purge al final de la URL dinámica de la página o al final de la URL corta. Ejemplos:
http://www.midominio.org/wiki/index.php?title=Main_Page&action=purge
http://www.midominio.org/wiki/Main_Page&action=purge
Configuración del correo
Si vamos a utilizar el envío de correo desde el wiki habremos de configurar la pasarela SMTP. En mi caso, he añadido:
$wgSMTP = array(
'host' => "miservidorSMTP",
'IDHost' => "domain for MessageID",
'port' => 25,
'auth' => false,
'username' => "midireccion@correo.com",
'password' => "micontraseña"
);
Usuarios y permisos
Se pueden configurar los permisos de los usuarios mediante grupos, etc. Por ejemplo un requisito frecuente es restringir la capacidad de manipulación de las páginas para usuarios no autenticados (sobre todo en entornos corporativos o cerrados). Está todo bien muy bien explicado aqui.
Controlar las funciones de edición, discusión, etc.
Existe la posibilidad de que queramos impedir de forma generalizada el acceso a ciertas pestañas / funcionalidades que aparecen por defecto (edición, discusión, historial, etc.).
Para ocultar directamente (a todos los usuarios) las pestañas discusión, historial y código fuente se podría hacer editando la página especial MediaWiki:Monobook.css con el siguiente código:
#ca-talk { display: none!important; }
#ca-history { display: none!important; }
#ca-viewsource { display: none!important; }
Personalizar apariencia (Css) y funcionalidad (Js)
Para permitir la personalización de la apariencia o de la funcionalidad (esto se hace editando código a las páginas especiales MediaWiki:Monobook.css y MediaWiki:Common.js) se ha de añadir el siguiente código:
# Customization of the site by adding Css to MediaWiki:Monobook.css
$wgUseSiteCss = true;
# Customization of the site by adding Javascript to MediaWiki:Common.js
$wgUseSiteJs = true;
El menú de navegación
El bloque o menú de navegación se personaliza editando la página MediaWiki:Sidebar de tu wiki.
Proteger una página
Solo puede proteger / desproteger páginas usuarios con permisos sysop. Cuando una página está protegida no puede ser editada por usuarios normales (sí puede hacerlo un usuario con permisos sysop).
Restricciones comunes
Exiten varias restricciones que se suelen aplicar al usuario anónimo según el ámbito y el propósito del Wiki (pe. wikis corporativos no accesibles desde fuera de la intranet, wikis con contenidos solo modificable por usuarios registrados, etc.):
- cualquier usuario no registrado no podrá editar páginas:
$wgGroupPermissions['*']['edit'] = false; - cualquier usuario no registrado no podrá ver páginas:
$wgGroupPermissions['*']['read'] = false;
Aviso generalizado
Cualquier texto que se inserte en la página MediaWiki:Sitenotice se mostrará en todas las páginas del wiki.
Personalizar el pie
Para estoy hay que editar el skin (en mi caso Monobook.php) en el encontraremos algo parecido a esto:
$footerlinks = array(
'lastmod', 'viewcount', 'numberofwatchingusers', 'credits', 'copyright',
'privacy', 'about', 'disclaimer', 'tagline',
);
Simplemente hay que añadir o quitar elementos que queramos que aparezcan o no.
Para editar el contenido de los elementos en sí tendremos que modificar ciertas páginas o parámetros:
- lastmod -> editar MediaWiki:LastModifiedat (verison 1.8 y posteriores) o MediaWiki:Lastmodified (version 1.7 y anteriores). Si
$wgMaxCreditsestá habilitado, entonces editar MediaWiki:Lastmodifiedatby (verison 1.8 y posteriores) or MediaWiki:lastmodifiedby (version 1.7 y anteriores). - viewcount -> editar MediaWiki:Viewcount
- numberofwatchingusers - editar MediaWiki:Number of watching users pageview. Ésta solamente aparece si también añadimos
$wgPageShowWatchingUsers = true;a LocalSettings.php. - copyright - editar MediaWiki:Copyright. El parametro $1 en esta página es reemplazado por un enlace al contenido de copyright del wiki. Para configurar ese enlace tendremos que ir a LocalSettings.php y cambiar $wgRightsText, el cual contendrá el texto del enlace que, por otro lado, solo se mostrará si establecemos el destino mediante $wgRightsPage (página del wiki) o $wgRightsUrl (URL externa).
- privacy - esto es solo un enlace. Editar la página MediaWiki:Privacy para el texto del enlace y MediaWiki:Privacypage para la página de destino.
- about - esto es solo un enlace. Editar MediaWiki:Aboutsite para el texto del enlace y MediaWiki:Aboutpage para la página de destino.
- disclaimer - esto es solo un enlace. Editar MediaWiki:Disclaimers para el texto del enlace y MediaWiki:Disclaimerpage para la página de destino.
- tagline - actualmente no se usa
Saber la versión instalada
Para saber la versión que está instalada o los complementos añadidos hay que ir a la versión Especial:Version
Actualizar la versión
Primero (como es lógico) deberemos realizar copia de seguridad de la base de datos y de los archivos.
Antes que nada para evitar inconsistencias considera poner temporalmente la wiki como de solo lectura (variable $wgReadOnly)
Base de datos
Programa una copia de seguridad de la base desde la ficha Backup de tu Administrator de MySQL. Tardan muy poco por lo que hacerla a diario no estaría mal.
Archivos
Coges el directorio dónde esté tu wiki y lo zipeas todo.
Volcado XML
Es muy buena idea hacer un volcado XML (XML dump). Esto lo que hace es volcar el contenido del wiki (las páginas con sus revisiones) independientemente del resto de la información relacionada (usuarios, metadatos, logs, etc.). Son independientes de la estructura de base de datos, y luego se pueden importar a otros wikis (ya sean versiones anteriores o incluso futuras). Además, no causa problemas con la codificación de caracteres y puede ser procesado por herramientas de terceros.
Para hacer un volcado XML utiliza el comando php dumpBackup.php (directorio maintenance)
Extensiones
Existen un montón de extensiones para instalar en un wiki (muchísimas). Como comentábamos antes, se pueden ver las extensiones instaladas en un wiki mediante su página especial Especial:Version (pe. mira las que tiene Wikipedia)
Otros artículos de esta serie:
3 Comentarios
hola , gracias por las instrucciones, me han servido. ya que los tutoriales de wikimedia esta todo en ingles, y yo recien cree una pagina wiki, y recien aprendiendo con esto de la programacion, y lo que necesito es ayuda para configurar lo mas necesario y fundamental del wiki. podrias ayudarme?
Bueno, claro, si no se domina el inglés está un poco difícil porque casi toda la documentación existente está en ese idioma.
Aunque si no fuera por eso la información es pero que muy completa. Mi artículo no es más que un resumen salido de la experiencia de haberse “peleado” con el software.
Ayudarte? en lo que pueda… claro.
jaja, exactamente, yo estoy tambien peleando con el software, ya que es primera vez que me introduzco en este mundo del lenguaje php y crear un wiki. pero con voluntad too se puede.
solo quiero dejar las funciones mas importantes configuradas en el wiki,tengo la version 1.15.0. y en eso tengo dudas de cuales son, porque en el transcurso de la creacion, obviamente tendre que ir afinando detalles, pero solo quiero dejar lo esencial, que tiene que tener toda pagina, como por ejemplo, habilitar el interwiki, administrar los usuarios visitantes, y cosas como esas.
Un Trackback
[...] Javalotodo. Instalación y configuración de un sitio wiki con Mediawiki [...]