viernes, abril 8

Howto: Instalación Dspace 1.7.1 en Ubuntu Server 10.04.2 LTS

Esta instalación supone que el usuario tomcat6 está ejecutando la instancia Dspace, con Sun-Java6 como el kit de desarrollo de Java. Además se declará Xmlui como interfaz por defecto, de esta manera hacemos posible el uso de la nueva interfaz Mirage.

1. Instalar todos los componentes necesarios:
sudo apt-get install tomcat6 maven2 ant-optional postgresql sun-java6-jdk apache2 libapache2-mod-doc

2. Añadimos una linea parecida a esta 'host dspace tomcat6 127.0.0.1/32 md5' en:
/etc/postgresql/8.4/main/pg_hba.conf

En nuestro caso el nombre de la base de datos de Dspace es 'dspace' y su instancia se ejecuta por el usuario 'tomcat6'.

3. Creamos el usuario 'tomcat6' para postgreSQL:
sudo su postgres
createuser -U postgres -d -A -P tomcat6
exit
(Anota la clave, esta se necesita mas tarde en el paso 11)

4. Modificamos la shell del usuario 'tomcat6' y creamos la base de datos 'dspace'.
sudo chsh -s /bin/bash tomcat6
sudo chown -R tomcat6.tomcat6 /usr/share/tomcat6
sudo su tomcat6
createdb -U tomcat6 -E UNICODE dspace
exit

5. Aseguramos de que estas lineas en /etc/default/tomcat6 aparecen como sigue (modifícalos si es necesario):
TOMCAT6_USER=tomcat6
JAVA_HOME=/usr/lib/jvm/java-6-sun
CATALINA_BASE=/var/lib/tomcat6
JAVA_OPTS="-Xmx1024M -Xms64M -Dfile.encoding=UTF-8"
JSP_COMPILER=jikes
TOMCAT6_SECURITY=no
LOGFILE_DAYS=180

6. Declaramos un tag con la encodificación UTF-8 en /etc/tomcat6/server.xml, esto debe verse así:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8" redirectPort="8443" />

Además, justo encima de </Host>, añadimos las lineas siguientes para declarar la ruta de instalación, en nuestro caso instalamos en /opt/dspace:

<!-- Define a new context path for all DSpace web apps -->
<Context path="/xmlui" docBase="/opt/dspace/webapps/xmlui" allowLinking="true"/>
<Context path="/sword" docBase="/opt/dspace/webapps/sword" allowLinking="true"/>
<Context path="/oai" docBase="/opt/dspace/webapps/oai" allowLinking="true"/>
<Context path="/jspui" docBase="/opt/dspace/webapps/jspui" allowLinking="true"/>
<Context path="/lni" docBase="/opt/dspace/webapps/lni" allowLinking="true"/>
<Context path="/solr" docBase="/opt/dspace/webapps/solr" allowLinking="true"/>

7. Declaramos al sun-java6 como juego de desarrollo por defecto (openjdk aun es problemático para ciertas aplicaciones):
sudo update-alternatives --set java /usr/lib/jvm/java-6-sun/jre/bin/java

8. Probamos si tomcat6 se ejecuta sin problemas:

sudo /etc/init.d/tomcat6 restart
o
sudo /etc/init.d/tomcat6 start

Ahora bien, los siguientes pasos, el 10 en adelante, son la de la instalación misma de Dspace y deben ejecutarse por el usuario 'tomcat6'.

9. Creamos la ruta de instalación, escogemos /opt/dspace:

sudo mkdir /opt/dspace
sudo chown tomcat6.tomcat6 /opt/dspace

10. Descargamos la fuente de DSpace (cualquier directorio es válido para su ejecución posterior, en nuestro ejemplo es /usr/share/tomcat6).
sudo su tomcat6
cd
wget
http://nchc.dl.sourceforge.net/sourceforge/dspace/dspace-1.7.1-src-release.tar.bz2
bzip2 -dc dspace-1.7.1-src-release.tar.bz2|tar xf -
(Debe haber un directorio con el código fuente en /usr/share/tomcat6: /dspace-1.7.1-src-release)

11. En /dspace-1.7.1-src-release/dspace/config/dspace.cfg modificamos algunos parámetros según nuestras necesidades:
dspace.dir=/opt/dspace
dspace.hostname={ponemos el hostname}
dspace.baseUrl = http://${dspace.hostname}:8080
dspace.url = ${dspace.baseUrl}/xmlui
dspace.oai.url = ${dspace.baseUrl}/oai
dspace.name="Ponemos un nombre para la instancia de DSpace"
db.name = postgres <-- no cambiar!
db.url = jdbc:postgresql://localhost:5432/dspace
db.username = tomcat6
db.password = (La clave que anotamos en el paso 3)
mail.server={IP o nombre de nuestro servidor de correo}
mail.from.address=ds-nore...@domain.name
feedback.recipient=ds-ad...@domain.name
mail.admin=ds-ad...@domain.name
alert.recipient=ds-h...@domain.name
registration.notify=ds-h...@domain.name
handle.canonical.prefix = ${dspace.url}/handle/handle/
handle.prefix = 123456
handle.dir = ${dspace.dir}/handle-server
webui.submit.enable-cc = true
webui.submit.cc-jurisdiction = {tu pais, p.e. es}
webui.strengths.show = true
webui.strengths.cache = false
webui.feed.localresolve = true
webui.session.invalidate = false
webui.supported.locales = en, es
xmlui.supported.locales = en, es
xmlui.force.ssl = no
solr.log.server = http://localhost:8080/solr/statistics

Si tenemos un mailserver de Gmail, lo bueno es que DSpace ya lo soporta, simplemente debemos modificar mas abajo, según nuestra configuración con el proveedor de correo:
# SMTP mail server
mail.server=smtp.gmail.com
# SMTP mail server authentication username and password (if required)
mail.server.username = tu-usuario@gmail.com
mail.server.password = tu-clave
# Pass extra settings to the Java mail library. Comma separated, equals sign between
# the key and the value.
mail.extraproperties = mail.smtp.socketFactory.port=465, \
mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory, \
mail.smtp.socketFactory.fallback=false

12. Creamos el paquete ejecutando el comando en /dspace-1.7.1-src-release/dspace o /dspace-1.7.1-src-release), este proceso tomara algunos minutos:
mvn package

13. Si no se ha presentado ningún error, procedemos a la instalación de DSpace:
cd target/dspace-1.7.1-build.dir

ant fresh_install

Las últimas dos lineas deben verse así:
BUILD SUCCESSFUL
Total time: 1 minutes 15 seconds

Con esto hemos finalizado nuestra instalación de Dspace, ahora bien, los pasos que siguen es la modificación y adaptación de DSpace a nuestras necesidades.
Happy hacking.

Referencias:
1) http://www.mail-archive.com/dspace-tech@lists.sourceforge.net/msg11235.html
2) https://wiki.duraspace.org/display/DSPACE/Installing+DSpace+1.7+on+Ubuntu+10.10
3) http://blog.stuartlewis.com/2009/09/05/using-gmail-with-dspace/

No hay comentarios: