Proyecto

General

Perfil

GONG_CM_v1.0_Manual_Instalacion_Cuadro_Mando_v1.0.txt

Plexus Plexus, 2015-07-03 13:35

Descargar (11 KB)

 
1
Installation Instructions
2
*************************
3

    
4
-------------------------------------------
5
| MANUAL DE INSTALACIÓN DEL GONG-CM  v1.0 |
6
-------------------------------------------
7

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

    
11

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

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

    
19

    
20
Convenciones
21

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

    
25

    
26
*********************************************************************************************
27

    
28
Indice
29
1.- Instalación
30
2.- Configuración
31
3.- Actualización
32
4.- Instalación multisitio
33
5.- Prueba
34
6.- Notas de Seguridad
35

    
36
*********************************************************************************************
37

    
38

    
39
1.- Instalacion
40

    
41
1.1.- Instalar la BD de Cuadro de Mando.
42

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

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

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

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

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

    
58

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

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

    
63

    
64
1.2.- Instalación de TOMCAT
65

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

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

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

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

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

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

    
81
  Después, instalaremos el conector mysql para java:
82

    
83
    $ apt-get install libmysql-java
84

    
85
  ejecutamos los comandos:
86

    
87
    $ update-alternatives --config java
88
    $ update-alternatives --config javac
89

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

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

    
98
  y por fín, instalamos Tomcat:
99

    
100
    $ apt-get install tomcat6
101

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

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

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

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

    
112
  y reiniciamos tomcat para que tengan efecto los cambios:
113

    
114
    $ /etc/init.d/tomcat6 restart
115

    
116

    
117
1.3.- Instalación de MONDRIAN 
118

    
119
  Descargamos la versión 3.2.1 de Mondrian desde:
120

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

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

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

    
130

    
131
**********************************************************************************************
132

    
133

    
134
2.- Configuración
135

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

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

    
140

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

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

    
147
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. 
148

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

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

    
154

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

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

    
160

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

    
165
   gor_cm.jdbcUrl=jdbc:mysql://localhost/gong_cm
166
   gor_cm.jdbcUser=gong_cm_user
167
   gor_cm.jdbcPassword=gong_cm_user_pass
168
   gor_cm.jdbcDBName=gong_gor
169

    
170

    
171
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
172

    
173
   $ /etc/init.d/tomcat6 restart
174

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

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

    
180

    
181
*********************************************************************************************
182

    
183

    
184
3. Actualización 
185

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

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

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

    
194
  $ apt-get install python-mysqldb
195

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

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

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

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

    
207

    
208

    
209
*********************************************************************************************
210

    
211

    
212
4.- Instalación multisitio.
213

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

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

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

    
223
  SetEnv GOR_SITEID "ong2"
224

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

    
227

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

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

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

    
235

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

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

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

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

    
246
por
247

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

    
250

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

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

    
256
por
257

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

    
260

    
261

    
262
*********************************************************************************************
263

    
264

    
265
5.- Probar la instalación.
266

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

    
269

    
270

    
271
*********************************************************************************************
272

    
273

    
274
6.- Nota de seguridad.
275

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

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

    
282

    
283

    
284

    
285
*********************************************************************************************
286
Fin del Archivo INSTALL.TXT
287
*********************************************************************************************