home | JClic | JClic reports | Tomcat & mySQL on Debian

JClic reports server
Advanced configuration with Tomcat and mySQL on Linux (Debian)

Apache Tomcat (http://jakarta.apache.org/tomcat) is a free Java application server that allows to deploy and operate applications based on Servlets and JSP.

MySQL (http://www.mysql.com) is a professional database system database, available under open source licenses and for different types of computers and operating systems.

The advanced JClic reports server is more versatile and powerful than the standard one, but requires some basic knowledge of system administration (to edit files with vi, to move files, etc.), mySQL administration and Apache Tomcat configuration and administration. The standard mode, based on Java WebStart and graphic environment, has a simpler process of administration and configuration.

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

Para efectuar las operaciones que se detallan a continuación será necesario abrir una consola e identificarse como administrador con:

%> su

El sistema le pedirá la contraseña de root.

Instale mySQL escribiendo:

%> apt-get install mysql-server mysql-client

Si apareciera un mensaje de error indicando que los paquetes no existen, siga estos pasos:

Añada estas dos líneas al archivo /etc/apt/sources.list:

deb ftp://ftp.cica.es/debian sarge main contrib non-free
deb ftp://ftp.tux.org/java/debian sarge non-free

Actualice la lista de paquetes disponibles con:

%> apt-get update

Vuelva a intentar la instalación. Ahora debería funcionar:

%> apt-get install mysql-server mysql-client

Si todo funciona correctamente de descargarán los archivos y aparecerá una pantalla en la que nos avisan de que es conveniente establecer una contraseña para el usuario “root” de mySQL. Además, conviene suprimir el acceso al sistema de usuarios anónimos. Para ello:

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

... donde “xxxx” será la contraseña a utilizar por el usuario administrador de la base de datos. No tiene porqué ser la misma que la del administrador del sistema.

1.2 Instalación de Apache Tomcat

Como en el caso anterior, compruebe que Tomcat no esté ya instalado escribiendo:

%> /etc/init.d/tomcat4 status

Si aparece un mensaje “not found” deberá instalarlo. En caso contrario, pase al apartado siguiente.

Pruebe a instalarlo con un apt-get:

%> apt-get install tomcat4 tomcat4-webapps tomcat4-admin

Si el paquete no9 se encuentra en el repositorio seguramente deberá añadir las líneas indicadas anteriormente en /etc/apt/sources.list, repetir un apt-get update y reintentar el apt-get install.

La descarga puede tardar bastante tiempo, ya que Tomcat4 tiene dependencias con el paquete de desarrollo de Java.

Cuando acabe, y después de confirmar las preguntas que aparecen en la consola durante la instalación, compruebe que el servidor funcione correctamente. Puede hacerlo abriendo desde cualquier ordenador de la red el siguiente URL:

http://xxxx:8180

... donde “xxxx” es el nombre o la IP del servidor en el que acabamos de instalar Tomcat, y 8180 el puerto de comunicaciones por defecto de Tomcat 4 (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

Para que el servidor de informes de JClic funcione correctamente habrá que realizar tres operaciones con Tomcat4:

  1. Desactivar las comprobaciones de seguridad de las clases Java
    La instalación por defecto de Tomcat 4 en Debian impone severas restricciones a las aplicaciones que aloja. Por ejemplo, les prohíbe leer archivos de configuración, o escribir archivos de seguimiento (logs). Para poder operar correctamente JClic reports necesita permisos que le autoricen a efectuar estas operaciones.
  2. Instalar el conector JDBC para mySQL
    Esto permitirá que las aplicaciones Java puedan comunicarse con la base de datos mySQL que hemos creado anteriormente.
  3. Desplegar la aplicación JClicReports
    Habrá que copiar los archivos del programa en la carpeta de aplicaciones de Tomcat, y ajustar la configuración.

Para realizar estas operaciones deberá ser root:

%> su

Empiece por desactivar la seguridad. Edite el archivo /etc/init.d/tomcat4 y cambie la línea 33 para que diga:

TOMCAT4_SECURITY=no

Para instalar el conector JDBC sitúese en cualquier carpeta temporal:

%> cd $TEMP

Descargue el archivo que se encuentra en http://dev.mysql.com/downloads/connector/j. Si no dispone de navegador gráfico puede hacerlo con un wget desde:

%> wget http://mysql.he.net/Downloads/Connector-J/mysql-connector-java-3.1.10.tar.gz

A continuación descomprima el archivo:

%> tar -zxvf mysql-connector-java-3.1.10.tar.gz

... y copie el archivo .jar a la biblioteca de Tomcat:

%> cd mysql-connector-java-3.1.10
%> cp mysql-connector-java-3.1.10-bin.jar /usr/share/tomcat4/common/lib

Para hacer limpieza:

%> cd ..
%> rm -r mysql-connector-java-3.1.10
%> rm mysql-connector-java-3.1.10.tar.gz

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/tomcat4/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/tomcat4
%> wget http://clic.xtec.cat/pub/reports/jclicReports.properties

Edite el archivo /usr/share/tomcat4/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).

Atención al valor de dbLogFile: el prefijo “logs/” no aparece en la versión por defecto, y en nuestro caso será necesario debido a que el usuario tomcat4, que es quien ejecuta Tomcat, no tiene derechos de escritura en su home (/usr/share/tomcat4), y sí que los tiene en logs.

Ya casi está todo a punto. Solo necesitaremos reiniciar Tomcat y probar si funciona:

%> /etc/init.d/tomcat4 restart

Para probarlo vaya a cualquier ordenador de la red y abra en un navegador el siguiente URL:

http://xxxx:8180/reports

... donde xxxx es el nombre o la IP del servidor en el que hemos realizado 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:8180/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:8180/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/tomcat4/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.


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