Instalación de un servidor MediaWiki para trabajo colaborativo

En un entorno que evoluciona rápidamente, para cualquier organización es cada vez más importante gestionar el conocimiento que poseen sus miembros y estimular el trabajo colaborativo. En el sector del agua, pese a su caracter tradicional, estos aspectos también son de gran importancia.

Las Wikis o foros donde los usuarios pueden intercambiar opiniones, problemas y soluciones, experiencias… son de suma utilidad, especialmente cuando la organización tiene múltiples centros de trabajo distantes, o más aún, si se acometen proyectos comunes con otras organizaciones (otras áreas o departamentos municipales, empresas externas, centros tecnológicos u otros ayuntamientos o administraciones).

Vamos a explicar como instalar un servidor interno para nuestra propia Wiki utilizando MediaWiki, una herramienta OpenSource líder en este ámbito.

Preparación del servidor

  • Partimos de un Linux Ubuntu Server 16.04.
  • Comenzamos preparando el servidor con una actualización de los paquetes, con sudo apt-get update y sudo apt-get upgrade. Si hemos22a.PNG desinstalado componenetes también conviene hacer sudo apt-get autoremove.
  • Lo promocionamos a servidor LAMP (OpenSSH, Apache2, PHP y MySQL) haciendo sudo tasksel. Si lo deseamos podemos añadir un desktop básico, aunque no será necesario si solo queremos consola. Si deseamos desinstalar algún servicio debemos recordar detenerlo antes, o tasksel puede dar errores.
  • Otra alternativa es hacer una instalación manual del servidor LAMP, con sudo apt-get install apache2 mysql-server php php-mysql libapache2-mod-php php-xml php-mbstring.
  • Nos pedirá una contraseña para el usuario “root” de MySQL. Le indicamos una robusta: root / clave.

Configuramos el motor de base de datos MySQL para MediaWiki

  • Creamos un nuevo usuario (mysql_user) en el motor de base de datos. Para ello iniciamos sesión como root en su consola haciendo mysql -u root -p. Nos pedirá la contraseña que hemos definido antes. Una vez dentro hacemos CREATE USER mysql_user@localhost IDENTIFIED BY ‘clave’; (sin olvidar el ; final). En este caso, “clave” será la contraseña de ese usuario.
  • A continuación, sin salir de la consola, creamos una base de datos, pi_wiki, haciendo CREATE DATABASE pi_wiki; (sin olvidar el punto y coma siempre que sigamos en la consola de MySQL).
  • Cambiamos a la nueva base de datos para aplicar las siguientes sentencias, haciendo USE pi_wiki;.
  • Asignamos todos los permisos de acceso para el nuevo usuario en la nueva base de datos, pero solo accediendo a ella desde la máquina local, con GRANT ALL ON pi_wiki.* TO mysql_user@localhost;.
  • Salimos de la consola del motor de base de datos con quit;.

 

Configuramos nuestro servidor PHP

  • Editamos el fichero de configuración (en otras versiones puede cambiar la ruta), haciendo sudo nano /etc/php/7.0/apache2/php.ini. Verificamos el tamaño máximo de archivos que podrán subir los usuarios, con la propiedad upload_max_filesize que por defecto serán 2Mb. Como el fichero de configuración es muy extenso podemos buscar esta propiedad haciendo CTRL+W. Incrementamos su valor por ejemplo a 15Mb:

upload_max_filesize = 15M

  • En este mismo fichero incrementamos también la cantidad de memoria para ejecutar los scripts PHP que tendrá el servidor, asegurando un mínimo de 128 Mb, en la propiedad:

memory_limit = 8M

  • Terminamos la edición grabando con CTRL+O y saliendo con CRTL+X.

 

Instalación de Media Wiki

  • Descargamos MediaWiki, bien desde el navegador si tenemos un escritorio instalado, o si no desde la consola mediante comandos. Usamos la carpeta de descargas de nuestro usuario con cd $HOME/Descargas y luego hacemos wget https://releases.wikimedia.org/mediawiki/1.30/mediawiki-1.30.0.tar.gz.
  • Extraemos el contenido descargado con la sentencia tar -xvzf mediawiki-*.tar.gz, que se guardará en una carpeta con el nombre del archivo comprimido. Podemos eliminar el descargado con sudo rm mediawiki-1.30.0.tar.gz.

Luego creamos otra carpeta para la instalación con sudo mkdir /var/lib/mediawiki y finalmente movemos el contenido descomprimido a ella haciendo sudo mv mediawiki-*/* /var/lib/mediawiki.

  • Mapeamos esta ruta de instalación del servidor MediaWiki para que responda a una ruta de web en apache, haciendo sudo ln -s /var/lib/mediawiki /var/www/html/mediawiki.
  • A partir de este momento ya podemos ver vía web en nuestro servidor de MediaWiki, desde un navegador local haciendo http://localhost/mediawiki ó con la dirección http://IP/mediawiki. No obstante, la página de inicio nos indicará un error, debido a que faltan algunos componentes php que debemos instalar. Hacemos sudo apt-get install php7.0-mbstring y luego sudo apt-get install php-xml.
  • A continuación activamos estas extensiones. Para ello hacemos sudo phpenmod mbstring y luego sudo phpenmod xml. Para que funcione debemos reiniciar el servicio web, mediante sudo systemctl restart apache2.service.
  • Si ahora volvemos a recargar la página web en nuestro navegador local http://localhost/mediawiki ó con la dirección http://IP/mediawiki veremos la página de bienvenida que nos invita a configurar MediaWiki desde el entorno web.

 

Configuración Media Wiki desde web

  • Pulsando en el enlace de configuración que aparece al entrar en el portal se ejecuta el script mw-config/index.php que nos guiará por el proceso de configuración. En primer lugar seleccionaremos el idioma de nuestro servidor (es-español). Luego chequea el entorno y nos hará una serie de advertencias, como por ejemplo que no pudo encontrar ningún gestor de cache como APCu, XCache o WinCache, o que la extensión de normalización Unicode intl no está instalada. Tomamos nota, leemos hasta el final y pulsamos Continuar.
 22b.PNG  22c.PNG
  • A continuación nos informa de los tipos de motor de base de datos con los que puede trabajar el servidor MediaWiki, detecta MySQL y nos pide la información para configurarla. Recordamos que nuestro servidor estará en localhost, que nuestra base de datos la llamamos pi_wiki, y nuestro usuario administrador para la instalación root, con contraseña clave. Rellenamos el formulario con estos datos, dejando en blanco el campo de “Prefijo de tablas de la base de datos”.
  • Pulsamos continuar y nos preguntará por el motor por (dejamos por defecto Inno DB) y el conjunto de caracteres (dejamos Binario). Continuamos.
 22d.PNG  22e.PNG
  • Nos preguntará por el nombre de nuestra wiki (por ejemplo EnRed) y el usuario / contraseña que usaremos como administrador de la wiki. Por ejemplo Administrador / Clave2. También solicita una dirección de correo para facilitar el contacto a los usuarios (aunque podemos no rellenarla) y las opciones para suscribirnos y compartir datos.
  • Llegados a este punto nos permite continuar con más opciones, o instalar directamente MediaWiki. Seguimos con el cuestionario, que nos pregunta por el grado de privacidad de nuestra wiki. Dado que en este caso estamos construyendo una intranet indicaremos Wiki privado. También nos permite elegir la licencia con la que se podrán compartir nuestros contenidos, de nuevo en este caso, elegiremos la máxima restricción, Pie sin licencia.
 22f.PNG  22g.PNG
  • También podemos configurar el envío de correos entre usuarios y notificaciones. Para que funcione deberá estar bien configurado nuestro servidor de correo en PHP. En dirección de correo electrónico pondremos nuestra cuenta de salida para las notificaciones a los usuarios. Por ejemplo waker.vall@gmx.es.
  • Aquí además elegiremos la apariencia predeterminada para nuestra wiki… Nosotros seleccionamos CologneBlue, pero puedes elegir cualquiera. Incluso se puede seleccionar la instalación de cualquiera de las extensiones que tenemos descargadas en el servidor. Algunas útiles en una wiki privada pueden ser ImageMap (permite definir hiperenlaces diferentes sobre una imagen por coordenadas), InputBox (permite añadir formularios a las páginas), WikiEditor (un editor similar al de Wikipedia). También podemos activarlas después.
  • Luego habilitamos la posibilidad de que los usuarios puedan subir sus propios archivos: esto incrementa los riesgos de seguridad, pero como se trata de una wiki privada es posible asumirlo. Para que funcione debemos dar permisos al servidor web para utilizar el directorio /var/lib/mediawiki/images. Dejamos el resto de opciones por defecto (logo, sin caché…).
 22h.PNG  22i.PNG
  • Pulsamos continuar para crear la configuración seleccionada. Al terminar, el script php que nos ha ayudado crea un archivo con ella, php, que más tarde podremos editar manualmente para completarla. Por el momento, nos da la opción de abrirlo o descargarlo: hacemos lo segundo y lo dejará en la carpeta Descargas de nuestro usuario).
  • Copiamos este archivo en la carpeta que contiene el archivo php, haciendo sudo cp $HOME/Descargas/LocalSettings.php /var/lib/mediawiki.
  • Si ahora entramos en nuestra wiki ya nos aparecerá con la apariencia que hemos seleccionado, indicando que debemos iniciar sesión para entrar: pulsamos en acceder y utilizamos el usuario administrador con la clave que hemos definido antes. Esto nos llevará a una página principal con un apartado de primeros pasos que podemos seguir, o editar para empezar a ubicar nuestros propios contenidos.
 22j.PNG  22k.PNG
  • Comenzamos definiendo la página AcercaDe, siguiendo su enlace. Nos indica que no existe y nos abre un cuadro de edición para que agreguemos el contenido. También podemos rellenar los enlaces de Normativa de Privacidad y de Exoneraciones.
  • Si en el árbol de la izquierda, con el usuario Administrador seleccionamos MyPages -> Preferencias podremos personalizar

 

Completar la configuración de Media Wiki manualmente

  • Ahora el archivo de configuración puede editarse manualmente, con sudo nano /var/lib/mediawiki/ LocalSettings.php.
  • Cambio de logo, editando o agregando la propiedad para que apunte a un nuevo archivo de igual tamaño (135×135), que pondremos antes en /var/lib/mediawiki/common/images:

$ wgLogo = “$wgResosourceBase/images/milogo.png”;

  • Si queremos activar una extensión que ya se instaló pero no seleccionamos en el script index.php que creo el LocalSettingsphp, tendremos que incorporar una línea que la llame en este último y según el caso configurarla. Activaremos WikiEditor, para poder tener un editor de textos similar al de Wikipedia, que no es necesario configurar adicionalmente. Para ello simplemente añadimos al final del archivo:

wfLoadExtension( ‘WikiEditor’ );

 

Creación de cuentas para nuevos usuarios

  • Para crear la cuenta de un nuevo usuario en la comunidad, entramos con el administrador en la wiki e iremos en el árbol de la izquierda, a Herramientas -> Páginas Especiales -> Acceder/Crear Cuenta –> Crear Cuenta.
 22l.PNG  22m.PNG
  • Una vez creado el usuario, le podemos asignar a un grupo. Para ello vamos al árbol de la izquierda, a Herramientas -> Páginas Especiales -> Usuarios y Permisos -> Permisos de usuario. Alternativamente podemos poner en el navegador http://IP/mediawiki/index.php/Especial:Userrights. En el cuadro de diálogo ponemos el nombre del usuario y pulsamos “Cargar Grupos de usuarios” para asignarlo.

 

Deja un comentario