miércoles, 28 de abril de 2010

Eprints con GNU/Linux Debian Lenny

Recientemente vengo trabajando en un proyecto relacionado con el almacenamiento digital de recursos y objetos de aprendizaje. Es algo así como una biblioteca digital en línea que permite catalogar los materiales según taxonomías específicas tales como Dublin Core y LOM IEEE.

Desde el mundo del software libre, se ofrecen varias alternativas interesantes para cumplir esta misión.

Algunos sistemas disponibles son:

  • Eprints.
  • DSpace.
  • Drupal.
En este artículo voy a describir cómo realizar la instalación básica del sistema "Eprints" para uso local en mi GNU/Linux Debian Lenny. Mi elección se basa en que está desarrollado en PERL y entiendo que es un lenguaje muy poderoso en la gestión de cadenas y búsquedas.

Paso 0: preliminares.

"Eprints" es un sistema que requiere entre otras dependencias un servidor MySql.

Durante la instalación, se solicitará el nombre de usuario y clave de acceso para crear una base de datos asociada al repositorio que se crea.

Para resolver las dependencias, el camino más práctico es lograr instalar a partir de algún repositorio vía "aptitude".

Paso 1: instalar "eprints".

Como buen aprendiz, primero busqué si existía la posibilidad de instalar a partir de los repositorios oficiales.

Pese a que no está disponible en los repos oficiales, si está disponible en una rama publicada en "www.eprints.org".

Entonces lo primero es agregar las siguientes líneas a nuestro "sources.list":
  • # vim /etc/apt/sources.list
  • ...
  • deb http://deb.eprints.org/3.2/ stable/
  • deb-src http://deb.eprints.org/3.2/ source/
  • ...
  • # aptitude update
  • (por si acaso tenemos alguna actualización pendiente)
  • # aptitude safe-upgrade
Esto permitirá la instalación de "Eprints" a partir del gestor de programas "aptitude".

Paso 2: configurar nombre del repositorio local.

"Eprints" crea los repositorios de manera individual identificándolos a partir de subdominios como por ejemplo "mirepo.localdomain", "turepo.dominio.com", etc. De aquí podemos inferir que "Eprints" trabaja con nuestro servidor web a partir de hosts virtuales.

Dado que mi repositorio es para pruebas y no estará expuesto a otras PC, bastará con configurar un nombre cualquiera en mi sistema local.

Para lograr esto, editamos el archivo "hosts":
  • # vim /etc/hosts
  • ...
  • 127.0.0.1 mirepositorio.localdomain
  • ...
Con esta configuración, podré acceder desde el navegador de páginas web en mi laptop el repositorio que crearé.

Entonces, cada vez que "Eprints" pregunte alguna información referente al URL del repositorio deberemos indicar "mirepositorio.localdomain". De la misma manera, si el sistema se mantiene local entonces podemos indicar como correo "admin@mirepositorio.localdomain".

Paso 3: crear el repositorio "mirepositorio".

Para crear el primer repositorio es necesario asumir la identidad del usuario "eprints" creado durante el proceso de instalación. Luego, debemos ejecutar un script que trae "Eprints" para crear fácilemente repositorios:
  • # su eprints
  • $ cd
  • ./bin/epadmin create
Se puede crear el repositorio sin mayores dificultades respondiendo con las respuestas predeterminadas que sugiere el script de instalación. Para hacer esto, basta con presionar "ENTER" y estar atento al valor encerrado entre corchetes ([valor]) que indica la respuesta predeterminada.

A continuación algunas consideraciones importantes:
  • El nombre del repositorio será "mirepositorio.localdomain".
  • El correo electrónico asociado al repositorio es "admin@mirepositorio.localdomain".
  • Tener a la mano un usuario y clave del servidor MySQL que permita la creación de una base de datos.
  • Tomar nota del usuario "admin" y clave de acceso para administrar el repositoio "mirepositorio.localdomain".
Paso 4: habilitar el sitio "eprints".

Una vez creado el repositorio "mirepositorio.localdomain", también se habrán creado los archivos correspondientes al host virtual.

Para configurar el host virtual "mirepositorio.localdomain" es necesario habilitar el sitio web "eprints" ubicado en "/etc/apache2/sites-available/eprints".

Bastará con ejecutar el siguiente comando con privilegios de "root":
  • # a2ensite
  • Your choices are: default default-ssl eprints3 eprints3-viejo
    Which site(s) do you want to enable (wildcards ok)?
  • eprints
  • Enabling site eprints3.
    Run '/etc/init.d/apache2 reload' to activate new configuration!
  • /etc/init.d/apache2 restart
En este momento ya está disponible el repositorio y es accesible a través de un explorador web instalado en mi laptop en la dirección:
  • http://mirepositorio.localdomain
Espero sea de utilidad.

Éxitos!

Referencias
  1. http://www.youtube.com/watch?v=ycPUHjZPJXI
  2. http://wiki.eprints.org/w/Installing_EPrints_3_via_apt_(Debian/Ubuntu)
  3. http://wiki.eprints.org/w/Debian_Known_Issues