instalando openreports en centos

bueno lo primero es instalar el jdk

instalando JDK 6u10

bueno una forma es hacerlo de la siguiente manera

instalamos algunos elementos previos que necesitando haciendo este comando

yum y install rpm build gcc gcc c++ redhat rpm config automake autoconf

-Procedimiento

creación de un usuario

Para la utilización de "rpmbuild" se recomienda que no sea el usuario "root" por lo tanto hemos de crear otro usuario.

su - root
useradd admin
passwd algun_password


Crear de estructura de directorios para rpmbuild

Crear como usuario un conjunto de directorios que seran utilizados para crear paquetería RPM

su admin
mkdir p ˜/rpmbuild/{SOURCES,SRPMS,SPECS,RPMS,TMP,BUILD}

Configurar el fichero ˜/.rpmmacros con el siguiente contenido:

%_topdir /home/rpmbuilduser/rpmbuild
%_tmppath%{_topdir}/TMP
%_unpackaged_files_terminate_build 0
%packager MiNombre
%distribution Mi distribucion o area de trabajo.
%vendor MiEmpresa


Descargar archivos necesarios e instalación

procedemos a descargar este archivo java-1.6.0-sun-1.6.0.10-1jpp.nosrc.rpm que se encuentra aqui
http://mirrors.dotsrc.org/jpackage/5.0/generic/non-free/SRPMS y procedemos a bajar la version de JDK 1.6u10 que se puede encontrar aqui http://java.sun.com/products/archive/

dar permiso de ejecución al archivo como usuario admin

chmod +x jdk-6u10-linux-i586.bin

mover el archivo bajado de sun

mv jdk-6u10-linux-i586.bin ~/rpmbuild/SOURCES/

Reconstruir el paquete java-1.6.0-sun-1.6.0.10-1jpp.nosrc.rpm para generar los paquetes de Java 1.6.El archivo java-1.6.0-sun-1.6.0.10-1jpp.nosrc.rpm debe estar donde ejecutemos el comando que sigue:

rpmbuild --rebuild java-1.6.0-sun-1.6.0.10-1jpp.nosrc.rpm

Se pueden generar ciertos errores de algo de los grupos pero nada importante.luego de algunos minutos, generará dentro del directorio /rpmbuild/RPMS/i586/ los siguientes paquetes:

java-1.6.0-sun-1.6.0.10-1jpp.i586.rpm
java-1.6.0-sun-alsa-1.6.0.10-1jpp.i586.rpm
java-1.6.0-sun-demo-1.6.0.10-1jpp.i586.rpm
java-1.6.0-sun-devel-1.6.0.10-1jpp.i586.rpm
java-1.6.0-sun-fonts-1.6.0.10-1jpp.i586.rpm
java-1.6.0-sun-plugin-1.6.0.10-1jpp.i586.rpm
java-1.6.0-sun-src-1.6.0.10-1jpp.i586.rpm

ahi uno del jdbc que borre ya que si uno compara con el .bin normal de sun ese no esta ,asi que lo borre con tranquilidad.

Para instalar, cambiarse al directorio /rpmbuild/RPMS/i586/ e instalar solo la paquetería requerida.

En forma particular yo hice esto:


cd ~/rpmbuild/RPMS/i586/
su
rpm -Uvh *.rpm


De modo predeterminado, el sistema utiliza la versión 1.4.2 de GNU.org.Se puede definir desde la terminal que versión de Java utilizar a través del siguiente comando:

/usr/sbin/alternatives --config java


lo que nos muestra algo asi


There are 2 programs which provide 'java'.

Selection Command
-----------------------------------------------
1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java
*+ 2 /usr/lib/jvm/jre-1.6.0-sun/bin/java

Enter to keep the current selection[+], or type selection number:


para ver si se instalo correctamente entonces podemos hacer el siguiente comando:

java -version

lo cual nos muestra algo como esto:

java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode)


Incluyendo java en las Variables de Entorno

bueno si nos fijamos bien cuando seleccionamos que version usar ,se ve donde se habia instalado,ahora se necesita fijar tanto JAVA_HOME como JRE_HOME, lo cual hacemos lo siguiente:

editamos el /etc/profile {con el editor que uno quiera} y se agrega al final lo de abajo.

export JAVA_HOME="/usr/lib/jvm/java-1.6.0-sun-1.6.0.10"
export JRE_HOME="/usr/lib/jvm/java-1.6.0-sun-1.6.0.10/jre"
export PATH="$JAVA_HOME/bin:$PATH"


actualizamos y verificamos alguna de las variables por ejemplo

source /etc/profile
echo $JRE_HOME


sino se ve la ruta que habia colocado arriba ,reiniciar ,si eso no funciona la carpeta esta mal seteada o no existe

Instalando y Preparando Tomcat

para este caso necesitamos haber ya instalado el JDK y seteado las variables de entorno, considerando eso nos vamos a la pagina de apache a bajar tomcat en este caso bajamos el apache-tomcat-5.5.27 y hacemos lo siguiente:


cd /home/admin
tar xzvf apache-tomcat-5.5.27.tar.gz


Nota:recuerden que yo estoy trabajando siempre en la carpeta admin creada al principio de todo esto

En el cual se creara la carpeta apache-tomcat-5.5.27 y de nuevo editamos el /etc/profile ,donde debemos agregar la variable CATALINA_HOME quedando lo siguiente:

export CATALINA_HOME="/home/admin/apache-tomcat-5.5.27"

ya todo listo y seteado podemos iniciar el servicio de Tomcat haciendo el siguiente comando:


$CATALINA_HOME/bin/startup.sh


y para apagar el servicio se coloca en vez de startup.sh seria shutdown.sh

para ver si todo funciona bien hacer http://localhost:8080 y nos aparecera una pagina de tomcat

Instalando y Configurando Mysql

Bueno para instalarlo la manera mas sencilla es la siguiente:

yum install mysql mysql-server

iniciamos el servicio de mysql

/etc/init.d/mysqld start


si se quiere detener basta con colocar stop a lo ya escrito

Luego se entra como root como no tiene password seteamos uno:


mysql -u root
mysql>UPDATE mysql.user SET password=PASSWORD(’Mi_Password’);
mysql>FLUSH PRIVILEGES;
mysql>quit

y luego entramos de la siguente manera
mysql -u root -p

Colocamos el password y podemos entrar en mysql como root luego creamos un usuario por simplicidad se le dara todos los privilegios


mysql>GRANT ALL PRIVILEGES ON *.* TO tecno@localhost IDENTIFIED BY
'MiPass' WITH GRANT OPTION;
mysql>quit


Se creo el usuario tecno con el password MiPass

Creando la base de datos para Openreports

bueno esta necesita una base de datos para poder generar los reportes y también necesita para hacer los reportes programados necesitamos ir a dos carpetas dentro del openreport para sacar los script mysql necesarios y copielos donde le sea mas comodo{recuerde donde se dejo}:

_dirijase a la siguiente ruta ˜/openreports-tomcat/openreports/database/schema/or_dll_mysql.sql

_dirijase a la siguiente ruta ˜/openreports-tomcat/openreports/database/schema/quartz/tables_mysql.sql

En el archivo or_dll_mysql.sql a cada linea se le necesita agregar ; sino no carga el script(osea agregar punto y coma a cada linea)

asumiendo que copio los dos archivos en /home/admin y con el or_dll_mysql.sql modificado, procedemos a escribir lo siguiente en la consola:

cd /home/admin
mysql -u root -p


creamos una base de datos a nuestro antojo pero tiene que recordar cual es y cargamos los script correspondientes:


mysql>create database openreport;
mysql>use openreport
mysql>source or_dll_mysql.sql
mysql>source tables_mysql.sql


teniendo creadas las bases de datos introducir al administrador al ingresar los siguientes comandos dentro de mysql


mysql>insert into `REPORT_USER`(`REPORTUSER_ID`, `NAME`, `PASSWORD`
, `EXTERNAL_ID`, `EMAIL_ADDRESS`, `PDF_EXPORT_TYPE`, `DEFAULT_REPORT_ID`)
values(1,'admin','tecno',NULL,NULL,0,NULL);

mysql>insert into USER_SECURITY (USER_ID,ROLE_NAME)
values (1,'ROOT_ADMIN_ROLE');


ahi insertamos y relacionamos el admiministrador cuyo login es admin y password es tecno,es importante destacar que tanto REPORT_USER como USER_SECURITY deben estar en mayuscula al hacer las inserciones o sino tirara un error.

Configurando Openreports

aqui hay ciertos documentos que debemos modificar para relacionar con nuestra base de datos recien creada, primero debemos ubicar el archivo openreports.properties, el cual se encuentra en nuestro caso en ˜/openrepots-tomcat/openreports/src/openreports.properties y colocar lo siguiente:


hibernate.dialect=org.hibernate.dialect.MySQLDialect

hibernate.jdbc.driver= com.mysql.jdbc.Driver
hibernate.jdbc.url= jdbc:mysql://localhost:3306/openreport
hibernate.jdbc.username=tecno
hibernate.jdbc.password=MiPass
hibernate.jdbc.maxIdle=2
hibernate.jdbc.maxActive=5

quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.HSQLDBDelegate

# use this for all other Quartz databases
quartz.jobStore.selectWithLockSQL = SELECT * FROM {0}LOCKS WHERE LOCK_NAME = ? FOR UPDATE

quartz.jdbc.driver = com.mysql.jdbc.Driver
quartz.jdbc.url = jdbc:mysql://localhost:3306/openreport
quartz.jdbc.username =tecno
quartz.jdbc.password =MiPass
quartz.jdbc.maxIdle=2
quartz.jdbc.maxActive=5
#number of threads that are available for concurrent execution of jobs
org.quartz.threadPool.threadCount = 5


luego nos vamos a /openrepots-tomcat/openreports y modificamos el archivo llamado builed.xml,este archivo es el que nos permite crear los archivos de extencion war que es el que interpreta el tomcat,modificamos este archivo para a la hora de construir la pagina se copie automaticamente en el sitio de trabajo sin tener que moverlo a mano, bueno abrimos el documento y dejamos esta linea:



todos los archivos de extension jar deben ser colocados en la ruta ~/openrepots-tomcat/openreports/WebRoot/WEB-INF/lib ahi se encuentran todos los jar que usara el openreporter,dejar ahi el "MySQL Connector/J 5.1" que es necesario para conectarse de openreporter a mysql.

instalando Ant

se puede hacer a mano pero la manera mas facil es:

yum -y install ant


Desarrollando Openreports


ya esta es la ultima fase , lo que tenemos que hacer es generar un archivo war{web archive} para que lo lea el tomcat, bueno eso lo hacemos de la siguiente manenera:

debemos ir a la siguiente ruta donde estaba nuestro archivo build.xml osea en ~/openrepots-tomcat/openreports y generamos el war, los comandos serian:


cd ~/openrepots-tomcat/openreports
ant war


pasara un rato y si esta todo bien nos vamos a nuestro navegador y colocamos http://localhost:8080/openreports

Iniciar los servicios automáticamente
para iniciar automaticamente mysql se debe hacer el siguiente comando como root

/sbin/chkconfig --levels 235 mysqld on


para iniciar automaticamente tomcat el proceso es un poco mas extenso ya que hay que seguir lo siguientes pasos:

creamos un documento llamado tomcat en el /etc/init.d y le insertamos el siguiente script:


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

export JAVA_HOME=/usr/lib/jvm/java-1.6.0-sun-1.6.0.10
export CATALINA_HOME=/home/admin/apache-tomcat-5.5.27
start(){
echo "Starting Tomcat service"
$CATALINA_HOME/bin/startup.sh
}

stop(){
echo "Stopping Tomcat service"
$CATALINA_HOME/bin/shutdown.sh
}
restart(){
stop
start
}

# See how we were called.
case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0


luego se le da el permiso de ejecución

chmod a+x /etc/init.d/tomcat

Y lo ultimo es agregar este script como un link simbolico para que se inicie autonómicamente
ln -s /etc/init.d/tomcat /etc/rc5.d/S71tomcat

el 71 es un numero que uno elige segun para que sepa despues o antes de que proceso quiere que se inicie, logicamente debe ser despues que se haya iniciado mysql echen una mirada a al /etc/init.d

No comments: