Instalar varias instancias de DSpace

Una de las fases de mi proyecto es proporcionar un repositorio de documentos para el grupo de investigación. He utilizado DSpace porque, en su momento, fue la herramienta elegida para montar Gredos, el repositorio institucional de la USAL.

Me ha costado bastante lograr que funcionara ya que a mi falta de experiencia con Tomcat se ha unido la necesidad de hacer la instalación en el mismo servidor en el que ya había otro DSpace. Esto último también ha sido una ventaja porque no he tenido que preocuparme de los requisitos de instalación, evitando así tener que instalar Tomcat, Postgres y Java.

Voy a explicar brevemente los pasos que he seguido basándome en este tutorial. He utilizado la versión 1.6.2 de DSpace y la 6.0.20 de Tomcat. [dspace-source] se refiere a /opt/dspace-1.6.2-src-release.

– Crear el usuario ‘dspace’ si no existe ya.

sudo useradd -M dspace
sudo passwd dspace

– Crear un directorio por cada instancia de DSpace que vayamos a instalar. En mi caso ya había una así que sólo tuve que crear un directorio. No es necesario que nuestras instancias se encuentren en /opt, vale cualquier otro directorio donde tengamos permisos de escritura.

sudo mkdir /opt/dspace-2
sudo chown dspace /opt/dspace-2
sudo chmod 777 /opt/dspace-2

– Creamos el usuario ‘dspace’ en ‘Postgres’ y una base de datos por cada instancia que vayamos a instalar.

sudo su postgres
createuser -U postgres -d -A -P dspace
createdb -U dspace -E UNICODE dspace-2

– Para cada instancia debemos definir un fichero de configuración en [dspace-source]/dspace/config. Para ello duplicamos el fichero por defecto dspace.cfg.

sudo cp [dspace-source]/config/dspace.cfg [dspace-source]/config/dspace-2.cfg

– Ahora editamos cada fichero de configuración y cambiamos las siguientes línea. Debe indicarse el puerto en el que esté configurado Tomcat.

dspace.dir = /opt/dspace-2
dspace.hostname = http://your-dspace-url
dspace.baseUrl = http://your-dspace-url:443
dspace.url = http://your-dspace-url:443/dspace-2
db.url = jdbc:postgresql://localhost:5432/dspace-2
db.username = dspace
db.password = contraseña-usuario-postgres-dspace

– Si se desea configurar el envío de correo hay que editar las siguientes líneas del fichero de configuración. En el ejemplo se muestran los parámetros que deben utilizarse para el envío a través de Gmail.

mail.server=smtp.gmail.com
mail.server.username = usuario-de-gmail
mail.server.password = contraseña-de-gmail
mail.from.address = dirección-de-email
feedback.recipient = dirección-de-email
mail.admin = dirección-de-email
# Descomentar las siguientes líneas
mail.extraproperties = mail.smtp.socketFactory.port=465, \
mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory, \
mail.smtp.socketFactory.fallback=false

– Otras opciones interesantes son las siguientes:

# Idioma por defecto
default.locale = es
# Idiomas que el usuario puede seleccionar
webui.supported.locales = es, en
# Si se desea evitar que cualquier usuario pueda registrarse
authentication.shib.autoregister = false
# En mi caso la opción anterior no realizaba bien su cometido así que habilité el siguiente parámetro e indiqué un dominio que no existe
# Este parámetro restringe el registro únicamente a aquellos emails que terminan en los dominios indicados.
authentication.password.domain.valid = xxx.xxx

– Accedemos al sistema como el usuario ‘dspace’ y generamos los paquetes de la instalación con maven.

cd [dspace-source]/dspace/
sudo su dspace
mvn package

-Instalamos cada una de las instancias utilizando los ficheros de configuración definidos anteriormente.

cd [dspace-source]/dspace/target/dspace-[version].dir/
sudo su dspace
ant -Dconfig=[dspace-source]/config/dspace-2.cfg fresh_install

– Añadimos una cuenta de administrador.

sudo -u dspace [dspace-instances]/dspace-2/bin/create-administrator

– Configuramos Tomcat.

sudo vim [TOMCAT_HOME]/conf/server.xml
<!-- DEFINE A CONTEXT PATH FOR DSpace JSP User Interface  -->
<Context path="/dspace-2" docBase="[dspace-instances]/dspace-2/webapps/jspui/"
debug="0" reloadable="true" cachingAllowed="false" allowLinking="true"/>

– Por último reiniciamos Tomcat y listo.Para comprobar que funciona correctamente basta acceder a la url que se indicó en el fichero de configuración: http://your-dspace-url:443/dspace-2

sudo /etc/init.d/tomcat start