Tabla de Contenidos

Wikipedia Offline con Kiwix

El proyecto kiwix nos permite tener una copia de la Wikipedia en distintos idiomas. Además de un programa para consultar la Wikipedia localmente, Kiwix posee un servidor HTTP (kiwix-serve) que permite extender el servicio a una red local.

En este caso queremos colocar la wikipedia en nuestro nodo para LaOtraRed.

Requisistos

Estamos asumiendo que el equipo que será el servidor con kiwix es GNU/Linux Debian o un derivado, y que el S.O. instalado es de arquitectura x86 64 bits.

Kiwix puede funcionar con bibliotecas dinámicas para optimizar el uso de memoria y espacio de almacenamiento , pero en este caso usaremos las bibliotecas estáticas que trae el archivo .zip que descarguemos.

Ejecutar kiwix-serve

En Debian 8 el procedimiento es:

  1. Descomprimir todo el contenido del archivo .zip que hemos descargado
  2. Descomprimir los ejecutables de kiwix-serve, estos ejecutables estan en el fichero comprimido kiwix-linux.tar.bz2
  3. Dentro el directorio descomprimido buscar bin/kiwix-serve.
  4. Probarlo con:
./kiwix-serve --port=7511 --library ../../data/library/wikipedia_es_all_2016-02.zim.xml

Se debería ejecutar sin problemas y podemos probarlo abriendo un navegador web y colocar en la URL: localhost:7511.

Ejecutar kiwix-serve al inicio con systemd

Podemos hacer que systemd se encargue de ejecutar el servicio automáticamente y además nos dará la posibilidad controlar el servicio mediante systemctl.

Podemos crear un nuevo archivo para el servicio en /etc/systemd/system/kiwix.service con contenido:

[Unit]
Description=kiwix deamon
After=network.target

[Service]
User=www-data
Group=www-data
WorkingDirectory=/ruta/kiwix-linux/bin/
ExecStart=/ruta/kiwix-linux/bin/kiwix-serve --port=7511 --library  ../../data/library/wikipedia_es_all_2016-05.zim.xml

[Install]
WantedBy=multi-user.target

Donde /ruta es la ubicación absoluta de la wikipedia descargada en el sistema. y 7511 es el puerto reservado para el programa.

Para iniciar el servicio:

sudo systemctl start kiwix.service

Para ver su estado:

sudo systemctl status kiwix.service

Si funciona bien habilitarlo para que funcione al inicio:

sudo systemctl enable kiwix.service

Ya tienes wikipedia-offline funcionando :)