Manual Instalacion Dspace
DSpace es una plataforma de código abierto que permite a las organizaciones capturar y
describir el material digital usando un módulo del flujo de trabajo de la sumisión, o una variedad de
opciones programáticas y distribuye los materiales digitales de una organización sobre la web a través
de un sistema de la búsqueda y de recuperación, además preservar el material digital por largo tiempo.
El objetivo de este manual es explicar la instalación y configuración en un servidor Linux, de la
herramienta DSpace. Prepararemos los pasos necesarios para instalar un servidor con DSpace, cabe
recalcar que realizaremos instalaciones a nivel de servidor, librerías, paquetes y los programas que
requiere Dspace para su funcionamiento.
1. PRE REQUISITOS DE SOFTWARE.
La lista de abajo describe los componentes y herramientas que necesitamos para poder correr el
servidor de DSpace:
Sistema Operativo Linux Centos 6.5
Java JDK 1.8.x
Apache Tomcat 8
Apache Maven 3.2.x
Apache Ant 1.9.x
Postgres Sql 9
Vamos a actualizar la paquetería de nuestro actual Sistema Linux, por lo cual agregaremos una lista de
repositorios los que nos permitirán tener actualizado la base de paquetes y librerías y hacer más fácil la
instalación de los mismos.
Ingresamos a nuestra consola de Centos y agregamos la lista de repositorios
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm
Actualizamos el Sistema:
#yum update
2. INSTALACIÓN Y CONFIGURACIÓN DE PAQUETES
Vamos a empezar a instalar y configurar cada paquete necesario para el buen funcionamiento de
Dspace. Usaremos la consola así como la línea de comandos propios de Linux.
I. INSTALACIÓN DE POSTGRES SQL 9.3.
# yum install postgresql93-server postgresql93-contrib
# yum install rhdb-utils.x86_64
- Pre Inicializamos PostgreSQL
# service postgresql-9.3 initdb
- Ingresamos con usuario Postgres, configuramos postgresql editando el archivo
postgresql.conf:
# su - postgres
$nano /var/lib/pgsql/9.3/data/postgresql.conf
- Cambiamos el valor de las siguientes líneas:
<postgresql.conf>
#listen_addresses = 'localhost'
#port = 5432
max_connections = 100
- Por:
<postgresql.conf>
listen_addresses = '*’
port = 5432
max_connections = 300
- Nos mantenemos como usuario postgres y editamos el archivo pg_hba.conf:
$nano /var/lib/pgsql/9.3/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
- Por :
$nano /var/lib/pgsql/9.3/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 128.1.2.0/24 md5
- Iniciamos la base de datos.
# /etc/init.d/postgresql-9.3 start
- Para poder cambiar la clave o asignarle una clave al usuario Post gres, tendremos que
editar el archivo pg_hba.conf y modicar la siguiente línea:
local all all md5
Por:
local all all trust
o Salir y Reniciar el servicio, luego ingresar nuevamente.
# psql -u postgres
$ ALTER USER postgres with password 'tupassword';
o - Salir con \q , reniciar el servicio
# /etc/init.d/postgresql-9.3 restart
- Ingresamos con el usuario postgres:
# su - postgres
- Iniciamos el cliente de postgres.
# psql
- Creamos el usuario dspace.
postgres=# CREATE user dspace;
- Creamos password para el usuario dspace.
postgres=#ALTER USER dspace W ITH PASSWORD 'algunpassword';
- Creamos la base de datos.
postgres=# CREATE DATABASE dspace W ITH OW NER dspace;
- Salimos de la terminal postgreSQL
postgres=# \q
- Regresamos a ser root
# exit
Con esto ya tenemos configurado Postgres SQL y creada nuestra base de datos que se utilizara para la
instalación de Dspace.
II. INSTALACIÓN Y CONFIGURACIÓN DE JAVA JDK 1.8.x
Como la instalación por defecto de Centos Linux 6.5, este ya trae consigo una versión de java
preinstalada, por tal motivo verificamos que versión de java se encuentra instalado.
# rpm –qa | grep java
En caso de tener alguna versión de java instalado diferente a la versión que vamos a
instalar, hay que desinstalar cada versión.
# yum erase java-1.5.0
# yum erase java-1.6.0
# yum erase java-1.7.0
Instalamos la versión 1.8.x, descargando le paquete JDK de la página oficial de Oracle, en
este caso sería la versión jdk-8u25, la versión puede variar de acuerdo al paquete de
actualización de la versión 8.
Guardamos el fichero RPM jdk-8u25-linux-x64.rpm en un directorio de nuestra Linux y
procedemos a realizar la instalación.
# rpm -ivh jdk-8u5-linux-i586.rpm
# java –version
Java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
- Configuramos las variables globales
# export JAVA_HOME=/usr/java/jdk1.8.0_25/
# export PATH=$PATH:$JAVA_HOME
- Verificamos las variables
# echo $JAVA_HOME
/usr/java/jdk1.8.0_25/
# echo $PATH
/usr/lib64/qt-
3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/java/j
dk1.8.0_25/
- Generamos un Script permanente, para que las variables al reniciar el servidor no se
pierdan.
# nano /etc/profile.d/java.sh
- Y agregamos las siguientes lineas incluido el michi #
#!/bin/bash
JAVA_HOME=/usr/java/jdk1.8.0_25
PATH=$JAVA_HOME/bin:$PATH
export PATH JAVA_HOME
export CLASSPATH=.
- Guardamos y cerramos el archivo, ahora generamos el ejecutable con el siguiente comando
# chmod +x /etc/profile.d/java.sh
- Luego hacemos permanente el archivo para que cada vez que el equipo se renicie se ejecute
# source /etc/profile.d/java.sh
Eso sería todo, pero como se mencionó antes, asegúrese de que se ha eliminado todas las
versiones antiguas de JDK de su sistema. Si no quita las versiones anteriores de su servidor
antes de instalar la última versión del JDK, debemos de informar al sistema, desde donde se
debe ejecutar java.
Por defecto, el JDK 1.8.x se instalará en la ubicación:
/usr/java/jdk1.8.0_25/.
Con el fin de decirle a nuestro sistema, desde donde se debe ejecutar java, tenemos que
ejecutar los siguientes comandos uno a uno.
# alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_25/jre/bin/java 20000
# alternatives --install /usr/bin/jar jar /usr/java/jdk1.8.0_25/bin/jar 20000
# alternatives --install /usr/bin/javac javac /usr/java/jdk1.8.0_25/bin/javac 20000
# alternatives --install /usr/bin/javaws javaws /usr/java/jdk1.8.0_25/jre/bin/javaws 20000
# alternatives --set java /usr/java/jdk1.8.0_25/jre/bin/java
# alternatives --set jar /usr/java/jdk1.8.0_25/bin/jar
# alternatives --set javac /usr/java/jdk1.8.0_25/bin/javac
# alternatives --set javaws /usr/java/jdk1.8.0_25/jre/bin/javaws
- Verificamos las rutas alternativas
# ls -lA /etc/alternatives/
Resultados :
lrwxrwxrwx. 1 root root 29 Sep 9 16:40 jar -> /usr/java/jdk1.8.0_25/bin/jar lrwxrwxrwx.
1 root root 24 Sep 9 16:39 java -> /usr/java/jdk1.8.0_25/jre/bin/java lrwxrwxrwx. 1
root root 31 Sep 9 16:41 javac -> /usr/java/jdk1.8.0_25/bin/javac lrwxrwxrwx. 1 root
root 30 Sep 9 16:41 javaws -> /usr/java/jdk1.8.0_25/jre/bin/javaws
- Eso sería todo con relación a Java, verificamos por ultimo :
# java –version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
III. INSTALACION Y CONFIGURACION DE APACHE TOMCAT 8
Para la instalación de Apache Tomcat, hay dos maneras de realizarlo, por medio de :
yum install tomcat , el cual nos instala desde los repositorios con todas sus dependencias,
pero es una versión antigua a la actual.
En este apartado instalaremos la última versión de Apache Tomcat, realizando el paquete
desde su sitio oficial.
- Primero creamos un usuario Tomcat
# useradd -r tomcat8 --shell /bin/false
- Descargar y descomprir la última versión de Tomcat estable en nuestro directorio /opt
# wget http://www.gtlib.gatech.edu/pub/apache/tomcat/tomcat -8/v8.0.14/bin/apache-
tomcat-8.0.14-fulldocs.tar.gz
# tar -zxf /opt/apache-tomcat-8.0.14.tar.gz
- Renombramos la carpeta extraida y le asigamos al usuario tomcat8
# mv apache-tomcat-8.0.14/ tomcat8/
# chown -hR tomcat8: /opt/tomcat8
- Antes de Iniciar Tomcat, debemos de definir las variables
# echo "export CATALINA_HOME=\"/opt/tomcat8\"" >> ~/.bashrc
# source ~/.bashrc
- Creamos el script que controlara el Star|Stop de nuestro Tomcat en /etc/init.d/
# nano /etc/init.d/tomcat8
#!/bin/bash
#
# tomcat8
#
# chkconfig: - 80 20
#
### INICIAMOS INIT INFO
# Provides: tomcat8
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start:
# Default-Stop:
# Description: Tomcat 8
# Short-Description: start and stop tomcat
### FIN INIT INFO
## Source function library.
#. /etc/rc.d/init.d/functions
export JAVA_HOME=/usr/java/default
export JAVA_OPTS="-Dfile.encoding=UTF-8 \
-Dnet.sf.ehcache.skipUpdateCheck=true \
-XX:+UseConcMarkSweepGC \
-XX:+CMSClassUnloadingEnabled \
-XX:+UseParNewGC \
-XX:MaxPermSize=128m \
-Xms512m -Xmx512m"
export PATH=$JAVA_HOME/bin:$PATH
TOMCAT_HOME=/opt/tomcat8
TOMCAT_USER=tomcat8
SHUTDOW N_W AIT=20
tomcat_pid() {
echo `ps aux | grep org.apache.catalina.startup.Bootstrap | grep -v grep | awk '{ print
$2 }'`
}
start() {
pid=$(tomcat_pid)
if [ -n "$pid" ]
then
echo "Tomcat is already running (pid: $pid)"
else
# Start tomcat
echo "Iniciando tomcat"
ulimit -n 100000
umask 007
/bin/su -p -s /bin/sh $TOMCAT_USER $TOMCAT_HOME/bin/startup.sh
fi
return 0
}
stop() {
pid=$(tomcat_pid)
if [ -n "$pid" ]
then
echo "Deteniendo Tomcat"
/bin/su -p -s /bin/sh $TOMCAT_USER $TOMCAT_HOME/bin/shutdown.sh
let kwait=$SHUTDOW N_W AIT
count=0;
until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]
do
echo -n -e "\nwaiting for processes to exit";
sleep 1
let count=$count+1;
done
if [ $count -gt $kwait ]; then
echo -n -e "\nkilling processes which didn't stop after $SHUTDOW N_W AIT
seconds"
kill -9 $pid
fi
else
echo "Tomcat no esta ejectutandose"
fi
return 0
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
pid=$(tomcat_pid)
if [ -n "$pid" ]
then
echo "Tomcat esta ejecutandose actualmente pid: $pid"
else
echo "Tomcat no esta ejectutandose"
fi
;;
0
- Hacemos que el script sea ejecutable.
# chmod +x /etc/init.d/tomcat8
- Inicializamos Tomcat y lo colocamos al arranque del sistema
# service tomcat8 start
# chkconfig tomcat8 on
- Verificamos en el navegador.
http://localhost:8080
- Configuramos el Archivo tomcat-users.xml para el acceso al Panel de Control
# nano /opt/tomcat8/conf/tomcat-users.xml
- Descomentamos las lineas que agrupan con <-- -->
<user username="tomcat" password="tupassword" roles="tomcat,manager-gui,admin"/>
<user username="dspace" password="tupassword" roles="manager,tomcat"/>
IV. INSTALACION DE APACHE MAVEN Y APACHE ANT
- Descargamos, descomprimimos y copiamos apache maven en su versión binaria. La
versión puede variar según las actualizaciones existentes.
- Copiamos el directorio a /usr/local
# wget http://apache.cs.utah.edu/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.tar.gz
# tar -zxvf apache-maven-3.2.3-bin.tar.gz
# cp -R apache-maven-3.2.3 /usr/local
- De igual manera realizamos para Apache ANT en su versión binaria. La versión puede
variar según las actualizaciones existentes.
- Copiamos el directorio a /usr/local
# wget http://mirrors.koehn.com/apache//ant/binaries/apache-ant-1.9.4-bin.tar.gz
# tar -zxvf apache-ant-1.9.4-bin.tar.gz
# cp -R apache-ant-1.9.4 /usr/local
- Para poder compilar y ejecutar Apache Maven y Apache ANt, debemos de crear el usuario
dspace.
# useradd -m dspace
- Lo volvemos miembro del grupo apache y del grupo tomcat
# gpasswd -a apache dspace
# gpasswd -a tomcat8 dspace
- Damos permisos de lectura y ejecución a los grupos que pertenece dspace
# chmod g+rx /hom e/dspace/
- Nos volvemos usuarios dspace
# su - dspace
- Modificamos la variables del sistema (para este usuario) con el fin de que detecte apache -
ant y apache-maven
-
# nano /home/dspace/.bash_profile
PATH=$PATH:$HOME/bin
M2_HOME=/usr/local/apache-m aven-3.2.3
M2=$M2_HOME/bin
ANT_HOME=/usr/local/apache-ant-1.9.4
ANT=$ANT_HOME/bin
PATH=$PATH:$HOME/bin:$M2:$ANT
- Regresamos a ser root y volvemos a ser usuario dspace ( esto con el fin de que se carguen las
nuevas variables del perfil de usuario.)
# exit
# su - dspace
- Para verificar la compilación e instalación de los paquetes Apache Maven y Apache Ant,
siendo usuario dspace digitamos los siguientes comandos :
Para apache Maven:
# mvn –version
Debemos de Obtener algo asi:
--------------------------------------------------------------
Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-11T15:58:10-
05:00)
Maven home: /usr/local/apache-m aven-3.2.3
Java version: 1.8.0_25, vendor: Oracle Corporation
Java hom e: /usr/java/jdk1.8.0_25/jre
Default locale: es_ES, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-504.el6.x86_64", arch: "amd64", family: "unix"
Para apache Ant:
# ant -version
Debemos obtener algo así:
----------------------------------------------------------
Apache Ant(TM) version 1.9.4 compiled on April 29 2014
V. INSTALACION Y CONFIGURACION DE DSPACE 4.2
Para la configuración e instalación de Dspace, tendremos que descargar del sitio oficial la
última versión estable de la aplicación.
Luego descomprimir el empaquetado en la ruta deseable, en este caso se guardó el fichero
en /home/dspace :
# wget https://github.com/DSpace/DSpace/archive/dspace-4.2-src-release.tar.gz
# tar -zxvf dspace-4.2-src-release.tar.gz
- Creamos la carpeta donde estarán los archivos de dspace .
# mkdir /home/dspace/web
Es importante señalar donde se colocarán los archivos de configuración, para esto, hemos
creado la carpeta llamada web y la declaramos en el archivo de configuración de nuestro
paquete que previamente hemos descargado y descomprimido.
Dicho archivo es build.properties, entonces procedemos a editarlo.
# nano /home/dspace-4.2-src-release/build.properties
-------------------------------------
Editamos las siguientes lineas por los parametros de la institución:
dspace.install.dir=/home/dspace/web
dspace.hostname = repositorio.uss.edu.pe
dspace.baseUrl = http://dominio_Institucion
dspace.name = UNIVERSIDAD xxx
solr.server=http://localhost:8080/solr
default.language = es_ES
db.name=postgres
db.username=dspace
db.password=la_clave_que_se_eligio
# SMTP mail server
mail.server = smtp.gmail.com
mail.server.username= [email protected]
mail.server.password=clave
mail.server.port = 465
mail.from.address = [email protected]
mail.admin = [email protected]
mail.alert.recipient= [email protected]
# Recipient for new user registration em ails
#mail.registration.notify = email-address-here
mail.registration.notify= [email protected]
handle.canonical.prefix = http://dominio_institucion/handle/
handle.prefix = uss
Realizado las configuraciones dentro del fichero build.properties, nos ubicamos en el
directorio dspace del fichero que hemos descargado y descomprimido para poder compilar la
aplicación
# cd /home/dspace-4.2-src-release/dspace
- Construimos el paquete de instalación: ( Si nos mostrara algún error sobre native2ascii-
utf8, hay que recordar que la carpeta dspace-4.2-src-release/ de estar con el owned
dspace )
Ubicados en el directorio que se mención, compilamos con Apache Maven:
# mvn package
- Si no hay ningún problema hasta este punto, la compilación debería de mostrar lo siguiente.
- Instalación final e inicio de la base de datos de dspace: ( Asegu rarse que el directorio que se
configuro en el dspace.cfg este asignado al usuario dspace )
Nos ubicamos en el directorio
# cd /home/dspace-4.2-src-release/target/dspace-4.2-build
# ant fresh_install
Si no ha marcado ningún error, seguramente ya se ha creado los ejecutables de dspace, estos
estarán dentro de una carpeta llamada webapps contenida en la carpeta de instalación, que en
nuestro caso es /home/dspace/web/
- Regresamos a ser usuario root y nos colocamos en la carpeta webapps
# exit
# cd /home/dspace/web/
- Copiamos todas las carpetas de webapps que se encuentra en nuestro dspace a
tomcat8/
# cp -r webapps/* /opt/tomcat8/webapps/
- Cambiamos el grupo dueño de las carpetas:
# chown -R :dspace /opt/tomcat8/webapps/
- Si todo ha salido bien podemos dirigirnos a la aplicación en nuestro navegador.
- http://dominio_institucion:8080/jspui
Con esto, tenemos la instalación básica de DSpace
Solo queda, generar el usuario y password para nuestro usuario admin del panel de administration del
portal, esto lo hacemos de la consola Linux.
# /home/dspace/web/bin/dspace create-administrator