General

Implementando Koha sobre Debian

Koha es un ILS (Sistema Integrado de Bibliotecas) de estándares abiertos que es distribuído bajo la Licencia Pública General GNU (GPL). Koha es desarrollado por una comunidad de programadores y bibliotecarios de todas partes del Mundo y su diseño es ajeno a cualquier intención comercial o corporativa. Koha le permite al bibliotecario manejar la mayoría de los procedimientos administrativos de una Biblioteca, y además proveer a los visitantes con un catálogo público para la consulta de ejemplares y circulación. Koha es una solución compatible con el Decreto Presidencial 3390 que provee al bibliotecario de herramientas automatizadas para la mayoría de los procedimientos administrativos, cumpliendo con todos los estándares inteacionales sobre el tema. Mejor aún, cualquier bibliotecario puede participar en el desarrollo de Koha. Koha es un sistema basado en la Web, y como tal produce salidas compatibles con la especificación XHTML 1.0 y CSS de la World Wide Web Consortium (W3C), garantizando su operatividad a través de cientos de navegadores Web, plataformas, sistemas operativos y dispositivos no convencionales. Usted puede acceder a un sistema Koha a través de su teléfono celular, de su navegador en MacOS X o desde la comodidad de su televisor con acceso a Inteet.Flexible Koha es basado en la Web, por lo que pueden utilizarse dummy terminales (terminales sin disco duro ni hardware especializado) para las consultas y el manejo de la biblioteca. Mejor aun: el bibliotecario puede administrar la biblioteca remotamente, utilizando un teléfono móvil o un asistente personal. En el diseño de Koha se contemplan dos modelos de bases de datos: las bases de datos lineales en texto ASCII y las bases de datos relacionales. Koha utiliza una base de datos relacional (MySQL) como soporte de sus transacciones, pero puede trabajar con bases de datos en texto plano, por ejemplo para la importación y exportación de registros MARC. Koha puede crecer tanto como la base de datos relacional lo permita, y eso es mucho. La mayoría de los demás sistemas integrados de bibliotecas existentes tienen graves limitaciones en cuanto a rendimiento cuando se manejan con un alto número de transacciones. La Librería Pública de Nelsonville (EEUU) cuenta con 250.000 ejemplares y 600.000 ejemplares circulantes por año, y se maneja cómodamente utilizando Koha.Koha maneja un catálogo público (OPAC), un sistema completo de manejo para el bibliotecario (Intranet), un rastreo de ejemplares en circulación y un sistema de adquisiciones y presupuesto. En el sistema Intranet se pueden manejar ramas de la biblioteca, autoridades, adquisiciones y circulación. Koha maneja un vasto repertorio de Informes, Reportes y Estadísticas favorecidas por el uso de una base de datos relacional. Koha puede ser instalado en varios sistemas operativos con menor o mayor grado de dificultad. Existen paquetes para instalar Koha en Windows y tutoriales para la instalación de Koha en MacOS X. En este ejemplo se instala Koha sobre Debian GNU/Linux, un sistema operativo de amplio uso a nivel mundial, que tiene disponibles casi 20 mil paquetes de software completamente libre (compatible con el Decreto 3390) para su instalación de forma sencilla a través del sistema de paquetes APT.Debian Instalar Koha sobre un sistema Debian tiene muchísimas ventajas. Para empezar, Katipo, una compañía que financia partes del desarrollo de Koha, y uno de los más grandes usuarios, usa y da soporte a Koha sobre Debian. En segundo lugar, Debian es un sistema operativo con una amplia base de usuarios y desarrolladores en Venezuela y otras partes de Hispanoamérica, y es un sistema estable, que cumple y desarrolla estándares inteacionales, con el mayor crecimiento en uso en servidores y con certificaciones inteacionales por parte de diversas organizaciones. Se utilizó Debian Sarge. Inicialmente se hizo una limpieza del sistema, dejando un sistema básico de unos 98 MB., aproximadamente, sobre el cual se empezó a instalar los prerequisitos de Koha.Servidor Web Al ser un sistema basado en la Web, Koha necesita un servidor Web que atienda las peticiones de los navegadores. Koha recomienda el servidor Web de la Fundación Apache. En esta experiencia se utilizó la última versión disponible en Debian Sarge (2.0.54). Sobre este servidor Web se pueden hacer muchas mejoras para el rendimiento y la seguridad de Koha, como por ejemplo utilizar mod_security para reducir el riesgo de ataques al sistema, aislar el servidor en una jaula de software, utilizar mod_perl para acelerar el funcionamiento de Koha, etc.Apache es un servidor Web de alto rendimiento, utilizado en la mayoría de los sitios Web de Inteet, y correctamente configurado provee estabilidad y seguridad a las aplicaciones que se ejecutan sobre él. Se pueden utilizar otros servidores Web. Es notable el caso de Cherokee, un servidor Web minimalista que está en la capacidad de servir un ILS con Koha. Se puede utilizar para implementaciones donde el hardware sea muy limitado.Base de datos Koha utiliza preferentemente la base de datos MySQL. En la actualidad, Koha no soporta el último rediseño de MySQL (rama 5.x), por lo que hay que utilizar la última versión disponible de MySQL 4.x (4.1.11). MySQL contempla muchas funciones para la optimización de las consultas y la seguridad de la base de datos. Por ejemplo, en Debian la base de datos por defecto no se hace disponible a través de Inteet, sino que se mantiene para consultas locales. MySQL 4.1 ha sido removido de las nuevas versiones de Debian, por lo que es necesario mantenerse utilizando la versión estable (Sarge) o instalar MySQL 4.1 manualmente en las versiones nuevas. MySQL 5.0 introduce cambios radicales en la base de datos (como por ejemplo, la reinterpretación de muchos de los querys y la distinción de nuevas palabras reservadas) que el equipo de Koha actualmente evalúa. Se espera soporte completo para MySQL 5.0 en la próxima versión de Koha.

# aptitude update

# aptitude install mysql-server-4.1

Es conveniente activar una clave para el administrador de la base de datos. Dependiendo de la versión de Debian y la configuración del framework de configuración (Debconf), puede que ya la haya configurado. Si no, basta usar mysqladmin para hacerlo: mysqladmin password Yaz YAZ es un set de herramientas para programadores que deseen conectar sus aplicaciones utilizando Z39.50, un protocolo ISO para el intercambio de información entre ordenadores. Fue diseñado en 1988 y ha recibido varias mejoras, siendo la última y más importante en 1997. Koha requiere una versión reciente de YAZ que no estaba disponible en Debian en el momento de esta instalación. Por este motivo, nos dirigimos a la página Web de los desarrolladores de YAZ para descargar el código fuente y construir un paquete Debian a partir de la última versión disponible (2.1.38).Afortunadament
e los desarrolladores de YAZ tienen el código fuente preparado para la construcción del paquete binario, por lo que el trabajo se reduce a:

$ wget http://ftp.indexdata.dk/pub/yaz/yaz-2.1.38.tar.gz

$ tar xzf yaz-2.1.38.tar.gz && cd yaz-2.1.38/

# debuild (o bien dpkg-buildpackage o debian/rules binary)

Perl Koha está escrito en Perl, un lenguaje de scripting ampliamente utilizado en varias partes del Mundo. En Venezuela existe un grupo de apoyo, llamado Perl Mongers Venezuela, con subequipos en Caracas y en Maracay. Perl es uno de los lenguajes de programación sobre el que se ha escrito más documentación, y tiene el apoyo de grandes editoriales del ramo de la informática, como Anaya/O'Reilly.Perl es un sistema omni-presente en los sistemas de hoy en día. Existen intérpretes para muchos sistemas operativos y arquitecturas de hardware, y viene distribuido de manera estándar en MacOS X y en Debian GNU/Linux. La funcionalidad de Perl se extiende mediante módulos y paquetes, disponibles públicamente en CPAN (Red del Archivo Completo de Perl). En este inmenso repositorio se pueden encontrar librerías para generar PDF, calcular la transformada de Fourier o analizar el genoma humano.Los requerimientos de Koha son un poco más terrenales. Algunos módulos ya están disponibles en Debian, por lo que se recomienda utilizarlos. Otros hay que descargarlos de CPAN. En este caso se tienen tres opciones:

  1. Descargar
    cada módulo y sus dependencias desde los mirrors de CPAN,
    descomprimirlos y correr perl
    Makefile.PL && make && make test && make
    install
  2. Utilizar la
    consola de CPAN para instalar "automágicamente" los
    módulos y sus dependencias perl
    -MCPAN -e "install ”, o bien
    utilizando las herramientas de CPAN: cpan
    -i
  3. Generar
    paquetes Debian que se integren con el sistema APT utilizando
    dh-make-perl. El ayudante se
    descarga los módulos de CPAN, los compila y prepara un
    paquete Debian que podemos instalar en el sistema para integrarlo a
    nuestro árbol de paquetes.

Elegimos la última opción por ser la que ofrece el mejor control sobre el software instalado. Para esto se utilizó el comando dh-make-perl de la siguiente forma: dh-make-perl --notest --install --cpan '', para construir paquetes para los módulos: Locale::PO, MARC::Charset, MARC::Record, MARC::XML, Net::Z3950::ZOOM, WWW, GD::Barcode, Data::Random y PDF::Reuse::Barcode. Los archivos generados fueron:

  • liblocale-po-perl_0.16-1_all.deb
  • libmarc-charset-perl_0.95-1_all.deb
  • libmarc-record-perl_1.38-1_all.deb
  • libmarc-xml-perl_0.83-1_all.deb
  • libnet-z3950-zoom-perl_1.11-1_i386.deb
  • libwww-perl_5.805-1_all.deb
  • libdata-random-perl_0.05-1_all.deb
  • libgd-barcode-perl_1.15-1_all.deb
  • libpdf-reuse-barcode-perl_0.05-1_all.deb

Los módulos necesarios que ya estaban disponibles en Debian son:

  • libclass-accessor-perl
  • libdate-manip-perl
  • libevent-perl
  • libhtml-template-perl
  • libxml-sax-perl
  • libdate-calc-perl
  • libxml-simple-perl

Otros módulos requeridos por Koha son instalados como dependencias de MySQL (como DBI y DBD::MySQL) o como dependencias de los módulos anteriormente nombrados.

# dh-make-perl --notest --install --cpan Locale::PO (repetir para los otros ocho módulos)

# aptitude update

# aptitude install libclass-accesor-perl libdate-manip-perl libevent-perl libhtml-template-perl libxml-sax-perl libdate-calc-perl libxml-simple-perl

Si está instalando Koha en otra distribución de GNU/Linux (o en una versión más nueva de Debian), verifique si su distribución ya ofrece versiones pre-empaquetadas de estos módulos, para ahorrarse el tiempo de implementación de la solución empaquetando algo ya hecho. Por ejemplo, en Debian Etch muchos paquetes del namespace MARC ya están empaquetados.PDF::API2 El generador de códigos de barras de Koha funciona preferentemente con la versión 0.3r77 de PDF::API2. Las versiones actuales de PDF::API2 han cambiado la API haciendo que el generador de códigos de barras de Koha falle silenciosamente. Utilizando Backpan, el archivo histórico de CPAN, podemos descargar la versión 0.3r77 e instalarla manualmente:

# wget http://backpan.cpan.org/modules/by-module/PDF/AREIBENS/PDF-API2-0.3r77.tar.gz

# tar xzf PDF-API2-0.3r77.tar.gz && cd PDF-API2-0.3r77/

# perl Makefile.PL && make && make test && make install

Instalación La versión más reciente de Koha es la 2.2.6, disponible en Savannah. Koha es liberado con un instalador (escrito en Perl) basado en la línea de comandos. Al ejecutarlo, nos saluda y nos informa que todos los módulos de Perl requeridos han sido instalados. De haber faltado alguno, probablemente yo me esté equivocando en este tutorial, o bien de verdad falta uno. Es conveniente que, si no está instalando 2.2.6, lea los Release Notes primero para evitar tener problemas por ignorar lo obvio. Koha preguntará entonces las rutas donde se desean instalar los scripts y los templates de OPAC e Intranet. Se recomienda instalar bajo /usr/local, para tener un control del software instalado fuera del sistema de manejo de paquetes APT. Dependiendo de nuestro grado de apego a la última versión de FHS, puede que queramos instalar en otra parte.Luego hay que introducir los datos de la base de datos. Podemos inventaos un nombre de la base de datos y un nombre de usuario con su clave, luego se nos preguntará la clave del administrador de la base de datos que debemos conocer de 2.2. Luego se nos da la oportunidad de seleccionar el formato MARC con el cual deseamos instalar (en nuestro caso, el MARC21 en inglés) y de importar sets predefinidos de datos (en forma de dumps SQL). Koha genera un archivo compatible con Apache (1.3, 2.0) que debemos incluír en la configuración del servidor Web. En mi caso descubrí que era necesario modificar un poco el archivo generado, pues no había match en los VirtualHosts. Con tirar el archivo generado en /etc/apache2/conf.d o /etc/apache2/sites-enabled y reiniciar Apache2 es suficiente. Koha hará otras preguntas más triviales, incluyendo el correo del administrador, el nombre del sitio, etc.

# wget http://download.savannah.nongnu.org/releases/koha/koha-2.2.6.tar.gz

# tar xzf koha-2.2.6.tar.gz

# cd koha-2.2.6/

# perl installer.pl

Usando Koha Koha está instalado y listo para ser usado en este momento. Nuestro servidor Web debe poder servir las páginas de OPAC y de la Intranet, y podemos entrar al sistema con el usuario y la clave de la base de datos, o crear nuevos usuarios de la Biblioteca. Podemos modificar algunos parámetros operativos bajo "Parameters" en la Intranet, incluyendo el nombre de la Biblioteca, las ramas, las impresoras, los logos, el generador de códigos de barras, etc.Traducciones Koha es liberado con un archivo .po con líneas traducidas del inglés al castellano (en sus localizaciones de España y Argentina). Koha se distribuye con un script ayudante, tmpl_process3.pl, que convierte de .po a .tmpl y viceversa. Los archivos .tmpl son los templates utilizados por Koha, que está desarrollado con una metodología similar-a-MVC: separa la presentación del contenido (usando XHTML, CSS y Javascript) del procesamiento de los datos (utilizando Perl y módulos de CPAN) de la fuente de datos (una base de datos relacional o plana, registros MARC o datos del protocolo Z.3950). Los archivos .tmpl son parte de la presentación del contenido, pues carecen de código en Perl. Para cada carpeta de OPAC se corre el script con el archivo .po como entrada y el directorio de salida. Con una línea de bash podemos automatizar el procedimiento, tomando en cuenta que tenemos una lista de los directorios del OPAC guardada en Koha-dirs.txt:# for part in `cat ~/Koha-dir.txt`; do tmpl_process3.pl install -s po/default_intranet_es_AR.po -i /usr/local/Koha/intranet/htdocs/intranet-tmpl/default/en/$part -o /usr/local/Koha/intranet/htdocs/intranet-tmpl/default/es/$part; done

Standard

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s