logo_dspace

Instalación de DSpace con Mirage 2

En esta pequeña guía se explicará la manera en que se puede instalar DSpace 6.3 en Ubuntu 20.04 y aplicarle un tema responsivo.

Antes de comenzar con los comandos para dicha actividad, veamos de qué se trata este software.

DSpace es un software que permite la creación de repositorios digitales institucionales, es gratuito y además se puede personalizar para adaptarse a las necesidades de las organizaciones.

https://duraspace.org/dspace/about/

DSpace es útil porque conserva y permite un acceso fácil a todo tipo de contenido digital, incluido texto, imágenes, imágenes en movimiento, mpegs y conjuntos de datos. Cuenta con una comunidad de desarrolladores en constante crecimiento que se enfoca en la expansión y mejora continua del software.

1. Prerrequisitos

Previo a la instalación se sugiere revisar los requisitos con los que debe contar el sistema donde se pretende realizar la instalación de DSpace, los cuales son los siguientes:

  • JDK 7 u 8
  • Apache Maven 3.05 o superior
  • Apache Ant 1.8 o superior
  • Base de datos relacional PostgreSQL 9.4 o superior u Oracle 10g o superior
  • Tomcat

Estos requisitos son los que se mencionan en las notas de instalación de DSpace, la cual puede ser consultada en la página https://wiki.lyrasis.org/display/DSDOC6x/Installing+DSpace

Comprobación de la versión de los paquetes y dependencias necesarias

Para comprobar si se tienen instalados los programas y la versión de los mismos se pueden utilizar los siguientes comandos.

Jdk

java -version

javac -version

Apache Maven

mvn –version

Apache Ant

ant –version

Postgres

Para el caso de Postgres se puede verificar el directorio en el que comúnmente se instala Postgres para verificar que esté instalado.

/usr/lib/postgresql/[version]/bin/postgres –V

Tomcat

Para el caso de Tomcat se puede verificar en el directorio en el que comúnmente se instala Tomcat

/opt/tomcat

Instalación de prerrequisitos

Si no se han instalado los paquetes necesarios para utilizar DSpace se pueden instalar de la siguiente forma:

Actualizar los repositorios de apt para Ubuntu antes de proceder con la instalación

sudo apt-update

Java

Se sugiere utilizar la versión 8 ya que algunas dependencias no pueden ser actualizadas a Java 11, esto de acuerdo Lyrasis.

sudo apt-get install -y openjdk-8-jdk

Maven

sudo apt-get install -y maven

Ant

sudo apt-get install -y ant

Postgresql

El paquete postgresql-contrib es necesario para utilizar la extensión pgcrypto por lo que se debe de instalar también.

sudo apt-get install postgresql postgresql-client postgresql-contrib

Habilitar conexiones TCP/IP en el archivo postgresql.conf verificando en el archivo  /etc/postgresql/[postgres-version]/main/postgresql.conf que tenga la línea  listen_addresses = 'localhost'

vi /etc/postgresql/12/main/postgresql.conf

En  el archivo /etc/postgresql/[postgres-version]/main/pg_hba.conf cambiar la configuración de autenticación para la conexión a la base de datos de DSpace con la siguiente linea

host dspace dspace 127.0.0.1 255.255.255.255 md5

Tomcat

Para la instalación de Tomcat se tomó como referencia el artículo: https://www.digitalocean.com/community/tutorials/install-tomcat-9-ubuntu-1804-es, lo primero que hay que hacer es crear el usuario que ejecutará Tomcat y agregarlo a su grupo correspondiente.

sudo groupadd tomcat

sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Descargar de la versión 9.0.58, se sugiere la versión 9 debido a que Tomcat 7 requiere configuración adicional para compilar JSP cuando se utiliza una versión diferente de Java 1.6, en las notas de instalación de DSpace de Lyrasis se sugiere utilizar Tomcat 8.033 o superior.

cd /tmp

wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.58/bin/apache-tomcat-9.0.58.tar.gz

Después extrae el archivo

sudo tar xzvf apache-tomcat-*tar.gz -C /opt/tomcat --strip-components=1

Actualizar permisos

cd /opt/tomcat

sudo chgrp -R tomcat /opt/tomcat

sudo chmod -R g+r conf

sudo chmod g+x conf

sudo chown -R tomcat webapps/ work/ temp/ logs/

Crear archivo de servicio systemd con el contenido que se señala a continuación

vi /etc/systemd/system/tomcat.service

[Unit]
  
Description=Apache Tomcat Web Application Container
After=network.target
  
[Service]
  
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xmx512M -Xms64M -server -XX:+UseParallelGC -Dfile.encoding=UTF-8'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
  
User=tomcat
Group=tomcat
UMask=0007
  
RestartSec=10
Restart=always
  
[Install]
  
WantedBy=multi-user.target

Cargar el demonio systemd e inciar el servicio tomcat

sudo systemctl daemon-reload

sudo systemctl start tomcat

Verificar el estado del servicio de tomcat

sudo systemctl status tomcat

Habilitar el servicio para que se inicie automáticamente

sudo systemctl enable tomcat

Configurar el archivo server.xml como lo sugiere el manual de instalación de DSpace estableciendo los siguientes parámetros

sudo vi /opt/tomcat/conf/server.xml


Git

Git es necesario para la construcción del proyecto con maven debido a módulos de terceros.

sudo apt-get install git

2. Instalación de DSpace

Una vez que contamos con los paquetes necesarios, procedemos con la instalación del software DSpace, comenzando con la configuración de la base de datos de DSpace en Postgres

Cambiar a la cuenta de postgres en Ubuntu

sudo -i -u postgres

Crear el usuario para la base de datos

sudo createuser --username=postgres --no-superuser --pwprompt dspace

Crear la base de datos para DSpace

sudo createdb --username=postgres --owner=dspace --encoding=UNICODE dspace

Habilitar la extensión pgcrypto para la base de datos de DSpace

psql --username=postgres dspace -c "CREATE EXTENSION pgcrypto;"

Cerrar la sesión del usuario postgres

exit

Descargar la versión 6.3 de dspace del repositorio de github https://github.com/DSpace/DSpace/releases/tag/dspace-6.3

cd ~

wget https://github.com/DSpace/DSpace/releases/download/dspace-6.3/dspace-6.3-src-release.tar.gz

Extraer el archivo

tar -zxf dspace-6.3-src-release.tar.gz

cd ~/dspace-6.3-src-release/

Crear el archivo de configuración inicial para la instalación y configurar las opciones básicas recomendadas en la guía de instalación:

dspace.dir*

dspace.baseUrl*

solr.server*

db.url*

db.driver*

db.dialect*

db.username* 

db.password*

db.schema*

Para ello copiamos el archivo de ejemplo

cp ./dspace/config/local.cfg.EXAMPLE  ./dspace/config/local.cfg

vi ./dspace/config/local.cfg

Crear el directorio para la instalación de DSpace

sudo mkdir /dspace

sudo chown tomcat /dspace

Construir el proyecto con Maven situándonos en la carpeta que se extrajo anteriormente.

cd ~/dspace-6.3-src-release

mvn package

Realizar la instalación ahora con Ant situándonos en la carpeta dspace-installer

cd ~/dspace-6.3-src-release/dspace/target/dspace-installer/wo

sudo ant fresh_install

Copiar las aplicaciones de DSpace del directorio de instalación a la carpeta webapps de tomcat

sudo cp -R  /dspace/webapps/* opt/tomcat/webapps*

Asegurarse de que el usuario que ejecuta Tomcat tenga permisos de lectura y escritura sobre la carpeta de instalación de DSpace

sudo chown -R tomcat:tomcat /dspace/

Crear un usuario administrador de DSpace con el comando dspace

/dspace/bin/dspace create-administrator

3. Instalación con el tema Mirage 2

Mirage 2 es un tema responsivo XMLUI para DSpace que puede ser habilitado escribiendo la opción -Dmirage2.on=true al compilar DSpace.

El proceso de compilación con esta opción puede ser tardado, por lo que para reducir el tiempo de compilación se sugiere instalar las dependencias manualmente, como se menciona en el artículo https://wiki.lyrasis.org/display/DSDOC6x/Mirage+2+Configuration+and+Customization.

Los prerrequisitos para habilitar el tema Mirage 2 en DSpace en linux, de acuerdo a la documentación de Mirage 2 en github (https://github.com/DSpace/DSpace/tree/dspace-6_x/dspace-xmlui-mirage2#installation)  son los siguientes Git, Node, Bower, Grunt, Ruby y Compass.

Se sugiere verificar estos prerrequisitos con los siguientes comandos

git --version

node -v

bower -v

grunt –version

ruby -v

compass version

Instalación de prerrequisitos para Mirage 2

Instalar Node con Node Version Manager

sudo apt-get install curl

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

*Cerrar y abrir la terminal de nuevo

nvm install 12

nvm alias default 12

node -v

Instalar Bower de forma global

npm install –g bower

bower -v

Instalar Grunt de forma global

npm install -g grunt && npm install -g grunt-cli

grunt –v

* grunt -v indica la versión de grunt seguida de Fatal error: Unable to find local grunt, esto probablemente es porque se instaló de forma global https://stackoverflow.com/questions/13925916/what-is-causing-this-error-fatal-error-unable-to-find-local-grunt

Ruby

Instalar el paquete para claves gpg2

sudo apt install gnupg2

Instalar clave gpg

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

Descargar rvm

curl -sSL https://get.rvm.io | bash -s stable

source ~/.rvm/scripts/rvm

rvm –v

Instalar Ruby, tener en cuenta que la documentación de Mirage 2 recomienda la versión 2.2.x o superior

rvm install 3.0.0   

rvm use 3.0.0 --default

ruby -v

Instalar Compass. En la documentación de Mirage 2 se sugier utilizar las versiones SASS v3.3.14 y Compass v1.0.1

gem install sass -v 3.3.14

gem install compass -v 1.0.1

compass -v

Compilación de dspace con Mirage 2

Las versiones de los prerrequisitos utilizados fueron las siguientes

Git 2.25.1, Node v12.22.10, Bower 1.8.13, Grunt v1.4.3, Ruby 3.0.0, Compass 1.0.1

Habilitar el tema Mirage 2

La documentación en Github señala que se debe agregar una línea en la sección temas del archivo xmlui.conf en el directorio src/dspace/config/xmlui.xconf, en nuestro caso se utilizó

vi ~/dspace-6.3-src-release/dspace/config/xmlui.xconf

Reemplazar el tema que hay en esa sección por la siguiente línea.

 
< theme name="Mirage 2" regex=".*" path="Mirage2/" />&

Compilar DSpace con el tema Mirage 2 habilitado.

Una vez que los prerrequisitos han sido instalados y se ha habilitado el tema en el archivo xmlui.xconf se procede a compilar DSpace.

De acuerdo con https://wiki.lyrasis.org/display/DSDOC6x/Mirage+2+Configuration+and+Customization la compilación se debe realizar con un usuario que no sea root y sin utilizar sudo.

cd ~/dspace-6.3-src-release/

mvn package -Dmirage2.on=true -Dmirage2.deps.included=false

Situarse en la carpeta target para hacer  la instalación con ant. Notar que en esta ocasión, a diferencia de una instalación desde cero, se utiliza el comando ant update en lugar de ant fresh_install

cd ~/dspace-6.3-src-release/dspace/target/dspace-installer/

sudo ant update

Situarse en la carpeta de tomcat donde se encuentra a la carpeta webapps para reemplazar la carpeta xmlui por la que se encuentra en el directorio de instalación.

cd /opt/tomcat/

sudo rm -r webapps/xmlui/

sudo cp -r /dspace/webapps/xmlui webapps/

Configuraciones de DSpace

Cuando se realizan modificaciones se debe tomar en cuenta que se pueden realizar en diferentes directorios: el directorio source, el directorio de instalación, y el directorio donde se encuentran las aplicaciones en tomcat. Por ejemplo, para habilitar el tema Mirage 2 se modificó el archivo dspace-6.3-src-release/dspace/config/xmlui.xconf y esa modificación se vió reflejada en /dspace-6.3-src-release/dspace/target/dspace-installer/config/xmlui.xconf, después de compilar el proyecto con mvn, y en /dspace/config/xmlui.xconf, después de ejecutar el comando ant udpate.

Estas son algunas consideraciones a tomar en cuenta al realizar modificaciones.

Tomcat: Las modificaciones que se realizan dentro de estas carpetas están relacionadas con las aplicaciones de DSpace, se pueden cambiar los estilos y estos se verán reflejados al reiniciar el servicio de tomcat.

Carpeta de instalación: los cambios realizados en las aplicaciones de DSpace de este directorio no se verán reflejados a menos que copiemos la aplicación a tomcat. Se pueden modificar otros aspectos además de las aplicaciones.

Se debe tomar en cuenta que estas configuraciones pueden ser reescritas si se ejecuta el comando ant update, por lo que puede ser necesario respaldar dichas configuraciones.

Carpeta dspace-installer: En esta carpeta también encontramos archivos de configuración, los cuales son copiados a la carpeta de instalación al ejecutar el comando de ant update. Estos archivos son generados cuando se compila el proyecto con el comando mvn package en la carpeta source, de modo que serán reescritos al compilar el proyecto.

Carpeta source: Esta es la carpeta que contiene la configuración base, las configuraciones realizadas se copiarán a la carpeta dspace-installer después de compilar la aplicación, y en consecuencia al ejecutar el comando ant update sobrescribirán también a las configuraciones en la carpeta de instalación. Antes de hacer un cambio en esta carpeta y recompilar el proyecto se deben respaldar los archivos que hayan sido modificados en la carpeta de instalación o en la carpeta dspace-installer

Elaborado por:

José Manuel Carrizosa Bustamante

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *