martes, 15 de marzo de 2011

(3) Instalando Servidor Debian: Desplegando OpenReports

Luego de tener nuestro contenedor de servlets, desplegar el OpenReports es muy fácil lo único que necesitamos es descargar desde aquí, la versión con la que se hizo esta guía es la 3.2 y utilizaremos postgreSQL como servidor de base de datos.

Descomprimamos el paquete en la ubicación que veamos por conveniente, y encontraremos estas carpetas:
  • database
  • deploy
  • docs
  • libs 
  • reports
  • src
  • WebRoot
  • varios archivos txt para leer y no dejar de lado
  • build.xml el cual nos permitira ejecutar la tarea con ant que creará nuestro archivo .war que podremos desplegar en nuestro contenedor de servlets.

Lo primero que tenemos que hacer es crear una base de datos en el postgreSQL en la cual se almacenará toda la información requerida por openreports para que pueda funcionar.

Luego de esto en la carpeta database/schema tenemos los archivos .sql que tendremos que ejecutar según la base de datos que escojamos, en nuestro caso será or_ddl_postgre.sql

Luego habrá que ejecutar el script sql tables_postgres.sql que se encuentra en database/schema/quartz, que creará las tablas que utiliza quartz.

Luego tendremos que ejecutar esto en nuestra base de datos:
INSERT INTO REPORT_USER (REPORTUSER_ID,NAME,PASSWORD,PDF_EXPORT_TYPE) VALUES
(nextval('hibernate_sequence'),'admin','password',0);

El usuario y la contraseña podemos cambiarla antes de ejecutar esta sentencia, solo no se olviden que fue lo que colocaron, y luego tendremos que ejecutar esto en nuestra base de datos:
INSERT INTO USER_SECURITY (USER_ID, ROLE_NAME) VALUES (XXXX, 'ROOT_ADMIN_ROLE');

Esta última sentencia es la que da los permisos de adminitrador al usuario que hemos creado, y donde estan las XXXX, tenemos que colocar el valor que generó la secuencia en la base de datos.

Después de todo esto lo que tenemos que hacer es configurar nuestro archivo de propiedades del openreport, openreports.properties, que se encuentra en /src de la siguiente manera:

hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
hibernate.jdbc.driver=org.postgresql.Driver
hibernate.jdbc.url=jdbc:postgresql://host:puerto/base_de_datos_creada
hibernate.jdbc.username=usuario_de_la_base_de_datos
hibernate.jdbc.password=password_de_la_base_de_datos
hibernate.jdbc.maxIdle=2
hibernate.jdbc.maxActive=5
quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
quartz.jobStore.selectWithLockSQL = SELECT * FROM {0}LOCKS WHERE LOCK_NAME = ? FOR UPDATE
quartz.jdbc.driver = org.postgresql.Driver
quartz.jdbc.url = jdbc:postgresql://host:puerto/base_de_datos_creada
quartz.jdbc.username = usuario_de_la_base_de_datos
quartz.jdbc.password = password_de_la_base_de_datos
quartz.jdbc.maxIdle=2
quartz.jdbc.maxActive=5
org.quartz.threadPool.threadCount = 5

Ahora todo lo demas que haya habrá que comentarlo o borrarlo, luego tenemos que editar el archivo build.xml que se encuentra en la raiz de openreports, ubiquemos el parámetro property name="deploy" value="../tomcat/webapps"

Donde value lo reemplazaremos por la ubicación donde se creará nuestro archivo .war, reemplazamos desde tomcat/webapps ya que ../ significa la ruta raiz donde esta la carpeta openreports.

Ahora no se olviden de colocar en la carpeta openreports/WebRoot/WEB-INF/lib las librerias de la base de datos con la que trabajará openreports y las librerias de la versión de jasperreports con la que vayan a trabajar.

Una vez hecho esto, no queda mas que ubicarnos en la ruta donde se encuentra nuestro archivo build.xml y ejecutar la tarea con ant.
# ant war

En caso de no tener instalado ant, hacerlo con aptitude install ant. Luego nos generará un archivo llamado openreports.war, si es que todo funcionó correctamente.

Este archivo es nuestra aplicación, lista para moverla o copiarla en nuestra carpeta webapps de tomcat para desplegarla, ahora podemos renombrar este archivo al nombre que nos parezca y según el nombre que coloquemos, será la ruta de nuestra aplicación en nuestro contenedor de servlets.

En el arhivo server.xml de nuestro tomcat, ubicamos la etiqueta que dice Host y ahi ubicamos estas variables: unpackWARs y autoDeploy, los cuales son los encargados de llevar acabo el despliegue y desempaquetamiento de los archivos .war

Los valores que pueden tomar estas variables son true y false, tendremos que dejarlas en true ambas para que tomcat al iniciar despliegue el openreports, pero luego de iniciado podemos cambiar sus valores a false para que cada vez que inicie y se cierre tomcat, no este haciendo ese trabajo, bueno eso ya es de cada quien.

Bueno no queda nada mas que ingresar a http://ip_de_su_servidor:puerto_de_su_servidor/nombre_que_colocaron_al_archivo_war e ingresar con el usuario y contraseña que colocamos al comienzo de la instalación.

Bueno con esto ya tenemos instalada nuestra aplicación, la configuración es otro tema, pero es muy intuitiva, dentro del archivo de descarga tenemos toda la documentación necesaria para poder utilizar esta gran herramienta open source.

Hasta la próxima y cualquier consulta trataré de responderla lo antes posible.

viernes, 11 de marzo de 2011

(2) Instalando Servidor Debian: Instalando Tomcat

Instalar este contenedor de servlets es lo más fácil que he podido haber hecho, trabajaremos con Tomcat en su version 6, empiecen bajandose la ultima version aquí. La distribución core nos bastará.

Prerequisito fundamental es tener el java instalado:
# aptitude install sun-java6-jdk sun-java6-jre

Tenemos que descomprimirlo, y moverlo a la ubicación donde residirá,  en nuestro caso lo colocamos en:
# /usr/local/tomcat6

Luego le damos permisos a la carpeta webapps para poder colgar nuestras aplicaciones
# chmod 777 /usr/local/tomcat6/webapps

Ahora tendremos que crear un archivo con el cual podamos administrar su estado como cualquier otro servicio:
# nano /etc/init.d/tomcat

Ahora colquemos este contenido en el archivo:
    # Tomcat auto-start
    # description: Auto-starts tomcat

    # processname: tomcat
    # Tomcat auto-start
    #
    # description: Auto-starts tomcat
    # processname: tomcat
    # pidfile: /var/run/tomcat.pid

    export JAVA_HOME=/usr/lib/jvm/java-6-sun    # si instalaron desde los repositorios, esta deberia ser la ruta del java

    case $1 in
    start)
            sh /usr/local/tomcat6/bin/startup.sh

    ;;
    stop)
            sh /usr/local/tomcat6/bin/shutdown.sh
    ;;
    restart)
            sh /usr/local/tomcat6/bin/shutdown.sh
            sh /usr/local/tomcat6/bin/startup.sh
    ;;
    esac
    exit 0


# si siguieron las rutas que estoy usando, deberia ser esta la ubicación del ejecutable que arrancan y detienen el servicio, sino reemplacen la ruta por la que esten usando

Ahora lo que nos queda es modificar los permisos del archivo creado y actualizar las tareas que se ejecutaran al iniciar el servidor:
# cd /etc/init.d
# chmod 775 tomcat
# update-rc.d tomcat defaults99

Lo único que nos queda ahora es probar nuestra instalación, ingresen en cualquier browser y coloquen:
http://la_direccion_de_su_servidor:8080

Con esto nos aperturar la pagina de inicio del tomcat, ahora ponemos elpuerto 8080 ya que por defecto viene configurado así, pero hay varios parámetros que podemos cambiar y uno de ellos es el puerto, todo esto esta en este archivo:
# /usr/local/tomcat6/conf/server.xml

Recuerden que cada modificación que le hagan a este archivo, tendra que reiniciarsel tomcat para que surjan los efectos.

Esto es lo que quise compartir con uds. ahora, y de paso dejar mi plagio ya que a cada rato tengo que hacerlo por todo lado que voy y nunca lo recuerdo jejejeje. Hasta pronto y la siguiente sera como instalar el OpenReport.