jueves, 4 de septiembre de 2014

Solución Dspace Jspui Internal System Error


Si usted instalo Dspace posiblemente encontró este error:




Después de leer muchos foros encontré que esto es provocado por una configuración inadecuada para solr en [dspace src]/build.properties.


Antecedentes

Instalación de Dspace

  • Debian 7
  • Uso de tomcat7
  • Compilación con Openjdk7-jdk
  • Instalación de dspace-4.2 mediante src
  • Copia de la carpeta dspace/webapps/solr a tomcat7/webapps/



Problema

Una vez instalado Dspace al entrar a jspui se encuentra el mensaje Internal System Error, el cual es desconcertante.

Lo primero que hay que hacer es verificar los logs que se encuentran en [dspace]/log
Ahi encontramos que:

No hay permisos en los directorios para que pueda funcionar solr.

Lo cual lo solucionamos con mi anterior post: dspace-y-solr-problemas-al-ejecutar

Después de solucionar esa parte, y ver que solr funcionaba perfectamente al ingresar de manera local al servidor http://localhost:8080/solr

resulto que jspui seguía con el mensaje de Internal system error.

Entonces volvimos a los logs y encontramos ahora este nuevo error:

org.apache.catalina.core.StandardWrapperValve invoke GRAVE: El Servlet.service() para el servlet [jsp] en el contexto con ruta [/jspui] lanzo la excepcion [org.apache.jasper.JasperException: javax.servlet.ServletException: org.dspace.plugin.PluginException: org.dspace.app.webui.components.RecentSubmissionsException: org.dspace.browse.BrowseException: org.dspace.discovery.SearchServiceException: Server at http://192.168.1.1:8080/solr/search returned non ok status:403, message:Prohibido] 

Como Resolverlo

El problema en realidad es que al configurar los detalles de Dspace debemos especificar el uso de  solr de manera local, tomando en cuenta que solr solo responde a peticiones locales (No encontré como darle salida a una petición externa, ya que por default prohíbe el monitoreo externo)

Lo que hice fue recompilar Dspace ya que no encontré donde cambiar la ruta en Dspace que apunta a Solr.


Primero borramos las carpetas de las aplicaciones de Dspace en tomcat7

#  cd  /var/lib/tomcat7/
#  cd webapps/
# rm -R jspui/
#  rm -r oai/
# rm -r xmlui/
#  rm -r solr/

y desde http://tuservidor:8080/manager/ paramos y desplegamos las tres aplicaciones.

Entonces entramos a [dspace-src]/dspace y editamos el archivo  build.properties

# cd /home/cated/src/dspace-4.2-src-release/
# nano build.properties

solr.server=http://localhost:8080/solr

Guardamos con Ctrl + o

y seguimos los pasos para recompilar  Dspace: Rebuild Dspace 

en resumen, 

# su dspace
# cd /home/cated/src/dspace-4.2-src-release/dspace/
mvn package
cd [dspace-source]/dspace/target/dspace-[version]-build.dir/
ant update

vaya a su directorio dspace

# cd /ruta/dspace/webapps
# cp jspui /var/lib/tomcat7/webapps/
# cp -R jspui /var/lib/tomcat7/webapps/
# cp -R oai/ /var/lib/tomcat7/webapps/
# cp -R xmlui/ /var/lib/tomcat7/webapps/
# cp -R solr/ /var/lib/tomcat7/webapps/

# /etc/init.d/./tomcat7 restart

Verificamos que todo funcione bien 


http://tuservidor:8080/manager/

y verificamos nuestro jspui de Dspace

http://tuservidor:8080/jspui




¡¡Felicidades, ya está funcionando al 100!!


Notas finales

Como pueden observar son detalles que se nos llegan a pasar. Pronto, en un nuevo post: Como crear un tema personalizado para Dspace.







1 comentario: