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
|
*********************************************************************************************
|