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/" />&

Deja un comentario

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