Proyecto

General

Perfil

Manual de instalación » GONG_CM_v1.0_Manual_Instalacion_Cuadro_Mando_v1.0.txt

Plexus Plexus, 2015-07-03 13:35

 
Installation Instructions
*************************

-------------------------------------------
| MANUAL DE INSTALACIÓN DEL GONG-CM v1.0 |
-------------------------------------------

La instalación descrita fue efectuada sobre Debian 6.0 (Squeed). Es posible realizar los mismos pasos
en cualquier otro sistema operativo, aunque algunos pasos es posible que sean distintos.


Aunque el proceso es similar utilizando una BBDD sqlite o postgress, este documento se refiere a
la instalación sobre un motor de BBDD MySQL. Se asume que MySQL está correctamente instalado y
configurado, así como el cliente local de MySQL desde línea de comandos. En la siguiente URL se
describe el proceso de instalación:

http://www.debianadmin.com/mysql-database-server-installation-and-configuration-in-debian-2.html


Convenciones

Una linea que empieza por "$" indica el prompt bash en consola.
Una linea que empieza por "mysql>" indica el prompt en la consola de mysql


*********************************************************************************************

Indice
1.- Instalación
2.- Configuración
3.- Actualización
4.- Instalación multisitio
5.- Prueba
6.- Notas de Seguridad

*********************************************************************************************


1.- Instalacion

1.1.- Instalar la BD de Cuadro de Mando.

En primer lugar apuntaremos el nombre de la BBDD de GONG-GOR desde el que se sincronizarán los datos
del cuadro de mando (supongamos que es 'gong_gor')

Crearemos la BBDD 'gong_cm' y el usuario 'gong_cm_user' con password 'gong_cm_user_pass' (estos valores
se pueden cambiar por los que elijamos para nuestra instalación):

mysql> create DATABASE gong_cm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> grant ALL ON gong_cm.* TO gong_cm_user@'localhost' IDENTIFIED BY 'gong_cm_user_pass';
mysql> grant CREATE ROUTINE ON gong_cm.* to gong_cm_user@'localhost';

Además, es neceario permitir expresamente que el usuario 'gong_cm_user' pueda leer de la BBDD utilizada por
GONG-GOR . Para ello, suponiendo que esta última se llame 'gong_gor' se deberá ejecutar la siguiente sentencia SQL:

mysql> GRANT SELECT ON gong_gor.* to gong_cm_user@'localhost';


Ejecutar el script "instala_gor_cm.sql" para hacer la carga inicial de BBDD

$ mysql -u gong_cm_user -p gong_cm < instala_gor_cm.sql


1.2.- Instalación de TOMCAT

En primer lugar debemos instalar la máquina virtual Java de Sun para ello es necesario habilitar los
repositorios "non-free" en el sistema de forma que el fichero /etc/apt/sources.list contenga una línea
similar a la siguiente:

deb http://ftp.debian.org/debian squeeze main contrib non-free

Una vez que esté dicho repositorio habilitado instalamos SUN-JAVA 6:

$ apt-get update && apt-get install sun-java6-jre sun-java6-jdk

Si estamos instalando sobre Debian Wheezy o posteriores, en lugar del paso anterior deberemos seguir
el método siguiente:

https://wiki.debian.org/Java/Sun

Después, instalaremos el conector mysql para java:

$ apt-get install libmysql-java

ejecutamos los comandos:

$ update-alternatives --config java
$ update-alternatives --config javac

y seleccionamos en cada uno de ellos la versión 1.6 de Sun recién instalada. A continuación añadimos las
siguientes líneas al fichero /etc/profile para que Tomcat consiga encontrar los paths de SUN-JAVA:

# Setup Jave environment 6
export PATH=$PATH:/usr/lib/jvm/java-6-sun/bin
export JAVA_HOME=/usr/lib/jvm/java-6-sun
export JRE_HOME=/usr/lib/jvm/java-6-sun/jre

y por fín, instalamos Tomcat:

$ apt-get install tomcat6

incluimos las siguientes líneas al fichero /etc/default/tomcat6 :

JAVA_HOME=/usr/lib/jvm/java-6-sun
TOMCAT6_SECURITY=no

añadimos al classpath la ubicación de las librerías mysql. Para ello, en la línea 'shared.loader'
del fichero /etc/tomcat6/catalina.properties incluimos el path '/usr/share/java/*.jar'. Por ejemplo:

shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar,/usr/share/java/*.jar

y reiniciamos tomcat para que tengan efecto los cambios:

$ /etc/init.d/tomcat6 restart


1.3.- Instalación de MONDRIAN

Descargamos la versión 3.2.1 de Mondrian desde:

http://sourceforge.net/projects/mondrian/

y extraemos el contenido del archivo lib/mondrian.war sobre el directorio ${TOMCAT_HOME}/webapps/mondrian
( ${TOMCAT_HOME} es el directorio de aplicaciones de tomcat6: en debian/ubuntu corresponde a la
ruta /var/lib/tomcat6/webapps ):

$ mkdir /var/lib/tomcat6/webapps/mondrian
$ unzip lib/mondrian.war -d /var/lib/tomcat6/webapps/mondrian


**********************************************************************************************


2.- Configuración

2.1.- Copiar el fichero gor_cm.xml en la dirección ${TOMCAT_HOME}/mondrian/WEB-INF/queries/ :

$ cp gor_cm.xml /var/lib/tomcat6/webapps/mondrian/WEB-INF/queries/


2.2.- Sobreescribir los JSP de la dirección ${TOMCAT_HOME}/mondrian/WEB-INF/queries/
con el existente en este paquete:

$ cp cm_economico.jsp /var/lib/tomcat6/webapps/mondrian/WEB-INF/queries/
$ cp cm_tecnico.jsp /var/lib/tomcat6/webapps/mondrian/WEB-INF/queries/

NOTA: Si está instalando sobre una versión anterior de GONG, es posible que en el directorio de destino se encuentre el fichero "cm.jsp". Este fichero no es necesario a partir de la versión 2.44 de GONG Cuadro de mando y puede ser borrado en caso de existir.

2.3.- Sobreescribir el fichero testpage.jsp de la dirección ${TOMCAT_HOME}/mondrian/ con el
existente en este paquete:

$ cp testpage.jsp /var/lib/tomcat6/webapps/mondrian/


2.3. Copiar el fichero conexion.properties en la dirección
${TOMCAT_HOME}/mondrian/WEB-INF/classes/ :

$ cp conexion.properties /var/lib/tomcat6/webapps/mondrian/WEB-INF/classes/


2.4. Sustituir en el fichero anterior los valores asignados a gor_cm.jdbcUrl, gor_cm.jdbcUser
y gor_cm.jdbcPassword por los adecuados al usuario y password de la BBDD del cuadro
de mando definidos en el punto 1.1 de este manual y con el nombre de la BBDD de GONG-GOR:

gor_cm.jdbcUrl=jdbc:mysql://localhost/gong_cm
gor_cm.jdbcUser=gong_cm_user
gor_cm.jdbcPassword=gong_cm_user_pass
gor_cm.jdbcDBName=gong_gor


2.5. Tras reiniciar Tomcat ya estará lista la aplicación a través de la URL http://localhost:8180/mondrian/testpage.jsp?query=cm

$ /etc/init.d/tomcat6 restart

2.6. Configurar el acceso a las imágenes y css de mondrian:

$ cp apache.conf /etc/apache2/conf.d/cuadrodemando.conf
$ /etc/init.d/apache2 restart


*********************************************************************************************


3. Actualización

Actualmente (versión1.0.3) la BD de Cuadro de Mando se actualiza desencadenando un procedimiento almacenado que posee
la BD del cuadro de mando. Este proceso lo realiza el script actualiza_cm.py por lo que habrá que copiarlo
al directorio de ejecución:

$ cp actualizar_cm.py /usr/bin/actualizar_cm.py

Instalaremos las librerías de acceso a BBDD para que el script anterior pueda conectar con la BBDD:

$ apt-get install python-mysqldb

Para permitir la ejecución diaria, habilite el cron del fichero gong-panelcontrol.cron.d para el usuario de
tomcat (tomcat6), o copie dicho fichero a la ruta /etc/cron.d modificando en él, si fuera necesario, la ruta del
fichero .properties donde se definen los parámetros de conexión y cambiándole el nombre al adecuado para debian:

$ cp gong-cuadrodemando.cron.d /etc/cron.d/gong-cuadrodemando

Para comprobar que la instalación ha sido correcta, ejecute este script de modo excepcional ahora para que los datos aparezcan
en la BD de Cuadro de Mando:

$ python /usr/bin/actualizar_cm.py /var/lib/tomcat6/webapps/mondrian/WEB-INF/classes/conexion.properties



*********************************************************************************************


4.- Instalación multisitio.

Si existe más de una instancia de GONG corriendo en la máquina será necesario realizar una instalación multisitio.

4.1.- En primer lugar, crearemos una BBDD de cuadro de mando para cada una de las instancias tal y como se
describe en el punto 1.1 de este manual. Los valores de nombre de bbdd, usuario y password los utilizaremos
en el siguiente punto.

Por cada instancia de GONG-GOR corriendo habrá una variable de entorno GOR_SITEID definida en la
configuración del host virtual de apache (por ejemplo):

SetEnv GOR_SITEID "ong2"

Usaremos esa variable para diferenciar las consultas al cuadro de mando y las conexiones de BBDD


4.2.- Usando el valor de esa la variable GOR_SITEID crearemos una copia del fichero conexion.properties

$ cp conexion.properties /var/lib/tomcat6/webapps/mondrian/WEB-INF/classes/cm-ong2.properties

y lo configuraremos con la BBDD específica de esa instancia que hemos creado unas líneas más arriba y
con la correspondiente para la BBDD de GONG-GOR.


4.3.- Después crearemos copia de cm_economico.jsp y de cm_tecnico.jsp de la siguiente forma:

$ cp cm_economico.jsp /var/lib/tomcat6/webapps/mondrian/WEB-INF/queries/cm_economico-ong2.jsp
$ cp cm_tecnico.jsp /var/lib/tomcat6/webapps/mondrian/WEB-INF/queries/cm_tecnico-ong2.jsp

modificando estos dos ficheros (cm_economico-ong2.jsp y cm_tecnico-ong2.jsp) para que busquen el fichero properties modificado sustituyendo
la línea

java.io.InputStream is = cl.getResourceAsStream("conexion.properties");

por

java.io.InputStream is = cl.getResourceAsStream("cm2-ong.properties");


4.4.- Por último crearemos una copia de cada fichero de cron según el apartado 3 de este manual,
modificando la ruta del fichero properties :

/var/lib/tomcat6/webapps/mondrian/WEB-INF/classes/conexion.properties

por

/var/lib/tomcat6/webapps/mondrian/WEB-INF/classes/cm-ong2.properties



*********************************************************************************************


5.- Probar la instalación.

Entre en la aplicación y pruebe el resultado de la instalación accediendo al Cuadro de Mando a través de GONG-GOR.



*********************************************************************************************


6.- Nota de seguridad.

Debido a que tomcat no está autentificado, todas las páginas de mondrian están disponibles a través del puerto 8180.
El usuario final accede a la información de GONG-CM a través de un proxy existente en GONG-GOR. Por lo tanto,
es necesario que se securice la máquina impidiendo las conexiones a dicho puerto que no provengan de localhost.

(Revisar algo mejor la configuración de tomcat para impedir conexiones desde fuera de localhost)




*********************************************************************************************
Fin del Archivo INSTALL.TXT
*********************************************************************************************
(1-1/7)