inicio | JClic | JClic reports | Configuración Tomcat + mySQL en Suse

Servidor de informes JClic
Configuración avanzada con Tomcat y mySQL en Suse Linux

Apache Tomcat (http://jakarta.apache.org/tomcat) es un servidor libre de aplicaciones Java que permite desplegar y poner en explotación aplicaciones basadas en Servlets y JSP.

MySQL (http://www.mysql.com) es un sistema de bases de datos profesional, con licencia de software libre y disponible para distintos tipos de ordenadores y entornos operativos.

La modalidad avanzada de funcionamiento del servidor de informes de JClic es mas versátil y potente, pero requiere unos conocimientos básicos de administración del sistema (editar con vi, mover archivos, etc.) y de funcionamiento de la base de datos mySQL y del servidor de aplicaciones Apache Tomcat. La modalidad estándar, basada en Java WebStart y entorno gráfico, tiene un proceso de instalación y administración más sencillo.

1. Creación de la base de datos e instalación de Apache Tomcat

Dividiremos esta operación en tres fases: instalar mySQL, instalar Tomcat y crear una base de datos y un usuario para el sistema de informes de JClic. Si vuestro sistema ya tiene mySQL instalado puede pasar directamente al paso 1.2.

1.1. Instalación de mySQL

Ponga en marcha YasT y vaya a Install and remove software. Escriba en el campo search:

mysql

... y seleccione los paquetes:

mysql
mysql-shared
mysql-client
mysql-connector-java

Haga clic en Accept y complete el proceso.

Para poner en marcha el servidor mySQL deberá ir a la ventana principal de YasT, grupo System, y de aquí a System services (runlevel).

Seleccione la línea mysql, en la que seguramente aparecerá el valor “no”. Haga clic en Enable y después en Finish. Le pedirán permiso para guardar los cambios. Responda afirmativamente.

A continuación deberá efectuar dos operaciones para mejorar la seguridad de mySQL: impedir que usuarios anónimos (sin identificador ni contraseña) puedan acceder al sistema, y fijar una contraseña para el usuario “root” de mysql, que inicialmente la tiene en blanco. Para ello abra una consola y escriba:

%> mysql -u root
mysql> USE mysql;
mysql> DELETE FROM user WHERE User='';
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('xxxx');
mysql> FLUSH PRIVILEGES;
mysql> exit;

... donde “xxxx” será la contraseña del usuario de mySQL administrador de la base de datos. No tiene porqué coincidir con la del administrador del Linux.

1.2 Instalación de Apache Tomcat

Regrese a YasT y vaya nuevamente a Install and remove software. Escriba en el campo search:

tomcat

... y seleccione los paquetes:

tomcat5
tomcat5-webapps
tomcat5-admin-webapps

Haga clic en Accept y complete el proceso.

Para poner en marcha el servidor Tomcat deberá ir nuevamente desde la ventana principal de YasT al grupo System, y de ahí a System services (runlevel).

Seleccione la línea tomcat5, en la que seguramente aparecerá el valor “no”. Haga clic en Enable y después en Finish. Le pedirá permiso para guardar los cambios. Responda afirmativamente.

Para probar si funciona, ponga en marcha un navegador en cualquier ordenador de la red y escriba el URL:

http://xxxx:8080

... donde “xxxx" es el nombre o la IP del servidor en el que acaba de instalar Tomcat5, y 8080 el puerto por defecto (se puede cambiar).

1.3 Creación de la base de datos de JClic reports

A continuación crearemos la base de datos de informes de JClic, y un nuevo usuario de mySQL que tendrá plenos derechos sobre ella. También cargaremos un conjunto de datos de demostración, que nos permitirán comprobar el funcionamiento del sistema.

Sitúese en cualquier directorio donde tenga derechos de escritura (por ejemplo, “cd $HOME”) y haga:

%> mysql -u root -p

El sistema le pedirá la contraseña del usuario root de mySQL. Cuando haya entrado, cree la base de datos:

mysql> CREATE DATABASE JClicReports;

Para comprobar que todo haya ido bien, escriba:

mysql> SHOW DATABASES;

... y la base de datos JClicReports debería aparecer en la lista.

Ahora crearemos un usuario (jclic_user) con una contraseña (la que desee: aquí se propone jclic_pwd) y le daremos plenos derechos sobre la base de datos que acabamos de crear:

mysql> GRANT ALL PRIVILEGES ON JClicReports.*
-> TO jclic_user
-> IDENTIFIED BY 'jclic_pwd'
-> WITH GRANT OPTION;

Cierre la consola de mySQL con:

mysql> exit

A continuación descargue y descomprima el paquete de datos de prueba:

%> wget http://clic.xtec.cat/pub/reports/jclic_test_mysql.zip
%> unzip jclic_test_mysql.zip

Con eso obtendrá el archivo jclic_test_mysql.sql

Para cargar los datos entre en mySQL con el usuario jclic_user:

%> mysql -u jclic_user -p

Le pedirá la contraseña del usuario jclic_user que ha creado hace un momento. Si ha seguido la sugerencia será jclic_pwd.

Para cargar los datos puede utilizar la orden “\.”:

mysql> use JClicReports;
mysql> \. jclic_test_mysql.sql

Atención al espacio entre el “\.” y el nombre del archivo, y atención también a la extensión (“.sql”) del nombre del archivo.

Para comprobar que los datos se hayan cargado correctamente haga:

mysql> SELECT * FROM JCLIC_USERS;

.. y deberían aparecer los datos de los usuarios.

Para acabar salga de mySQL con:

mysql> exit

2. Configuración de Apache Tomcat

Deberemos realizar dos operaciones con Tomcat para que el servidor de informes de JClic funcione correctamente:

  1. Instalar el conector JDBC para mySQL
    Eso permitirá que las aplicaciones Java puedan comunicarse con la base de datos mySQL que hemos creado anteriormente.
  2. Desplegar la aplicación JClicReports
    Habrá que copiar los archivos del programa en la carpeta de aplicaciones de Tomcat, y ajustar su configuración.

Para realizar estas operaciones deberá ser root:

%> su

Para instalar la biblioteca JDBC hay que crear un enlace simbólico del conector (que YasT ha instalado anteriormente en /usr/share/java) desde la biblioteca de Tomcat:

%> cd /usr/share/tomcat5/common/lib
%> ln -s /usr/share/java/mysql-connector-java.jar

Ahora deberá colocar el archivo reports.war, que contiene la aplicación JClic reports empaquetada para J2EE, dentro de la carpeta de aplicaciones de Tomcat, para que éste la despliegue y prepare. Puede hacerlo también con un wget:

%> cd /usr/share/tomcat5/webapps
%> wget http://clic.xtec.cat/pub/reports/reports.war

Descargue el archivo de configuración a la carpeta del usuario tomcat4:

%> cd /usr/share/tomcat5
%> wget http://clic.xtec.cat/pub/reports/jclicReports.properties

Edite el archivo /usr/share/tomcat5/jclicReports.properties cambiando lo que convenga para que aparezcan los siguientes valores:

dbDriver=com.mysql.jdbc.Driver
dbServer=jdbc:mysql://localhost/JClicReports
dbLogin=jclic_user
dbPassword=xxxx
createTables=true
tablePrefix=JCLIC_
dbLogFile=logs/jclicReportsDBConnection.log

... donde xxxx es la contraseña asignada anteriormente al usuari jclic_user de mySQL (por defecto, jclic_pwd).

JClic reports necesita invocar el servicio de gráficos “X” para generar las imágenes estadísticas. Suse Linux 9.3 tiene activado por defecto el controlador xhost, que restringe el uso de los servicios “X” a los usuarios que hayan iniciado una sesión. Como que el usuario tomcat5 (que es quien ejecuta Tomcat) no tiene ninguna sesión gráfica iniciada, habrá que flexibilizar los permisos de xhost permitiendo el uso de las “X” a todas las conexiones locales. Puede hacerlo con la orden:

%> xhost local:

Ya casi está todo a punto. Solamente falta reiniciar el servidor Tomcat:

%> /etc/init.d/tomcat5 restart

Para probar si funciona vaya a cualquier ordenador de la red y abra en un navegador web el URL:

http://xxxx:8080/reports

... donde xxxx es el nombre o la IP del servidor en el que acabamos de realizar la instalación.

Si todo va bien aparecerá una primera página en la que se pide una contraseña, que inicialmente hay que dejar en blanco. Si ha cargado los datos de demostración puede entrar en los informes de grupo y de usuario, y visualizar los diversos tipos de tablas y gráficos que ofrece el programa.

En este momento puede ser conveniente navegar hacia la sección Administración de la base de datos y realizar dos operaciones:

  • Establecer una contraseña, que impedirá que personas no autorizadas tengan acceso a la aplicación.
  • Decidir la política de altas de nuevos usuarios. Hay tres opciones:
    1. Dejar que cualquier usuario pueda crear grupos y darse de alta con el nombre que desee.
    2. Crear manualmente los grupos, y dejar que los alumnos lo seleccionen y se den de alta por si mismos la primera vez que utilicen JClic.
    3. Crear manualmente todos los grupos y usuarios, o importarlos de alguna otra base de datos. Para efectuar importaciones le resultará útil consultar el esquema de tablas de JClic reports.
    En la mayoría de casos lo mas recomendable es empezar por la segunda opción, impidiendo más adelante la creación de nuevos usuarios, cuando todos los alumnos se hayan dado ya de alta.

3. Configuración de los clientes JClic

Es necesario configurar los clientes JClic para que se conecten con el servidor JClic reports y le envíen información sobre las actividades realizadas.

Los pasos a seguir son:

  1. Ponga en marcha JClic desde cualquier ordenador de la red. Puede hacerlo mediante el botón que se muestra en la página de descarga de JClic, o desde los iconos que se crearán en el escritorio y en el menú Inicio cuando lo haya activado un par de veces. En la sección de preguntas frecuentes encontrará más información sobre l creación de accesos directos para poner en marcha JClic.
  2. En JClic, vaya a Herramientas - Configuración y seleccione la pestaña Informes.
  3. Marque la casilla Guardar los resultados de las actividades en una base de datos.
  4. Seleccione la opción Conectarse a un servidor de informes JClic, y escriba en el campo Servidor la expresión:

    xxxx:8080/reports

    ... donde xxxx será el nombre o la IP del servidor en el que ha instalado Tomcat.
  5. Confirme los cambios, cierre JClic y vuelva a ponerlo en marcha. Si todo va bien debería aparecer la pantalla de identificación, y JClic reports empezará a registrar los resultados de todas las actividades que realice.

Repita estos pasos en todos los ordenadores en los que desee activar el sistema de informes de JClic. Recuerde que el URL para acceder a la aplicación JClic reports siempre será:

http://xxxx:8080/reports

(donde, por supuesto, xxxx es el nombre o la IP del servidor)

Consejos

  • Recuerde realizar copias de seguridad de la base de datos con regularidad. En http://dev.mysql.com encontrará explicadas diversas maneras de realizar las copias de seguridad, como por ejemplo mysqldump o mysqlhotcopy. También puede optar por realizar periódicamente copias del directorio /var/lib/mysql/JClicReports.
  • La contraseña de acceso a la base de datos permite efectuar todo tipo de operaciones, desde consultar resultados hasta borrar usuarios y grupos enteros. En futuras versiones mejoraremos este sistema creando diversos perfiles de administración y acceso, pero actualmente hay una única llave de acceso al sistema. Manténgala en lugar seguro.
  • Sería conveniente crear un usuario de administración de Tomcat. Puede hacerlo editando el archivo /usr/share/tomcat5/conf/tomcat-users.xml, añadiendo una línea con los atributos admin y manager.

Apache Tomcat y mySQL son aplicaciones profesionales que requieren un cierto mantenimiento. En internet encontrará mucha documentación sobre como administrar estos servicios.


 
Generalitat de Catalunya - Departament d'Educació Xarxa Telemàtica Educativa de Catalunya