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

Publicado por

13 comentarios sobre “Instalar varias instancias de DSpace”

  1. Recomendaría los siguientes comandos para el usuario SQL y la base de datos:

    createuser -U postgres -D -A -P dspace
    createdb -U postgres -E UNICODE -O dspace dspace

    Los proporcionados no funcionan en ubuntu server 10.10 al menos.

  2. Buenas tardes,
    Estoy tratando de cambiar la configuración del correo comercial (gmail) por el de mi institución (microsoft exchange) y no he podido realizarlo con éxito.
    Gentilmente le solicito información para agregar el correo xxxxxx@usbcali.edu.co

    Quedo atento a sus comentarios

  3. buenas tardes alicia
    tengo un problema en configurar los archivos de subida, el archivo upload, me sale el mensaje de Processing of multipart/form-data request failed. /opt/dspace-1.8.2-release/dspace/upload/upload__2609e7b1_1396cfed8c7__7ffe_00000012.tmp (Permission denied)

  4. Estoy instalando DSpace en Ubuntu 10.04 y estoy en la de parte de crear el usuario ‘dspace’ aplique el comando sudo useradd -m dspace y me aparece lo siguiente:
    Uso: useradd [opciones] USUARIO

    Opciones:
    -b, –base-dir DIR_BASE directorio base para el directorio personal de
    la nueva cuenta
    -c, –comment COMENT campo GECOS de la nueva cuenta
    -d, –home-dir DIREC directorio personal de la nueva cuenta
    -D, –defaults muestra o cambia la configuración por omisión de useradd
    -e, –expiredate FECHA_EXPIR fecha de expiración de la nueva cuenta
    -f, –inactive INACTIVO periodo de inactividad de la contraseña de la nueva cuenta
    -g, –gid GRUPO nombre o ID del grupo primerio de la nueva
    cuenta
    -G, –groups GRUPOS lista de grupos secundarios de la nueva
    cuenta
    -h, –help muestra esta ayuda y sale
    -k, –skel DIR_ESQUEL usa este directorio esqueleto alternativo
    -K, –key CLAVE=VALOR sobreescribe los predeterminados de /etc/login.defs
    -l, –no-log-init no añadir al usuario a las bases de datos
    lastlog y faillog
    -m, –create-home crea el directorio personal del usuario
    -M, –no-create-home no crea el directorio personal del usuario
    -N, –no-user-group no crea un grupo con el mismo nombre que el
    del usuario
    -o, –non-unique permite crear usuarios con UID duplicados
    (no únicos)
    -p, –password CONTRASEÑA contraseña cifrada de la nueva cuenta
    -r, –system crea una cuenta del sistema
    -s, –shell INTÉRP intérprete de inicio de sesión de la nueva cuenta
    -u, –uid UID ID de usuario de la nueva cuenta
    -U, –user-group crea un grupo con el mismo nombre que el usuario
    -Z, –selinux-user SEUSER use aun SEUSER específico para el mapeado de usuario de SELinux
    ¿QUÉ ES LO QUE ESTOY HACIENDO MAL? o ¿QUÉ DEBO HACER?
    Gracias.

  5. Hola @Brenda !
    He probado el comando en un Ubuntu server 12.04 y funciona a la perfección. De todas formas he cambiado la opción del comando porque en su día me debí confundir.

    sudo useradd -M dspace

    La ayuda del comando solo sale si las opciones están mal puestas pero, tanto -m como -M, están dentro del listado de opciones que soporta tu comando en Ubuntu 10.04

  6. yello :
    Hola, Instale dspace pero cree tres instancias y ahora los cambios que hago en la principal se guardan tambien en las instancias y no es lo que quiero, lo que necesito es trabajar las instancias independientes, porque cada una tiene una personalizacion diferente. Espero respuesta pronto. Gracias

Deja un comentario

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