inici | JClic | JClic reports | Configuració Tomcat + mySQL en Debian

Servidor d'informes JClic
Configuració avançada amb Tomcat i mySQL en Linux (Debian)

L'Apache Tomcat (http://jakarta.apache.org/tomcat) és un servidor lliure d'aplicacions Java que permet desplegar i posar en explotació aplicacions basades en servlets i JSP.

El MySQL (http://www.mysql.com) és un sistema de bases de dades professional, amb llicència de codi obert i disponible per a diversos tipus d'ordinadors i entorns operatius.

La modalitat avançada de funcionament del servidor d'informes del JClic és més versàtil i potent, però requereix uns coneixements bàsics d'administració del sistema (editar amb vi, moure fitxers, etc.) i de funcionament de la base de dades mySQL i del servidor d'aplicacions Tomcat. La modalitat estàndard, basada en Java WebStart i entorn gràfic, és més senzilla d'instal·lar i administrar.

1. Creació de la base de dades i instal·lació del Tomcat

Dividirem aquesta operació en tres fases: instal·lar el mySQL, instal·lar el Tomcat i crear una base de dades i un usuari per al sistema d'informes del JClic. Si el vostre sistema ja té el mySQL instal·lat podeu passar directament al pas 1.2.

1.1. Instal·lació del mySQL

Per a efectuar les operacions que es detallen a continuació serà necessari obrir una consola i identificar-se com a administrador del sistema amb:

%> su

El sistema us demanarà la contrassenya de root.

Instal·lem el mySQL escrivint:

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

Si aparegués un missatge d'error indicant que els paquets no existeixen, seguiu aquests passos:

Afegiu aquestes dues línies al fitxer /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

Actualitzeu la llista de paquets disponibles amb:

%> apt-get update

Torneu a intentar la instal·lació. Ara hauria de funcionar:

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

Si tot va bé es descarregaran els fitxers i apareixerà una pantalla on ens avisen que cal establir una contrasenya per a l'usuari "root" del mySQL. A més, convé eliminar l'accés d'usuaris anònims al sistema. Per fer-ho:

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

... on "xxxx" serà la contrasenya a emprar per l'usuari administrador de la base de dades. No cal que sigui la mateixa que la de l'administrador del sistema.

1.2 Instal·lació del Tomcat

Com en el cas anterior, comprovem que no estigui ja instal·lat. Escriviu:

%> /etc/init.d/tomcat4 status

Si dóna un missatge "not found" significa que l'haurem d'instal·lar. En cas contrari, passeu a l'apartat següent.

Provem a instal·lar-lo amb un apt-get:

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

Si el paquet no es troba al repositori segurament haureu d'afegir les línies indicades anteriorment a /etc/apt/sources.list, tornar a fer un apt-get update i repetir l'apt-get install.

La descàrrega pot trigar una estona, ja que el Tomcat4 té dependències amb el paquet de desenvolupament de Java.

Quan hagi acabat, i després d'haver confirmat les preguntes que es fan a les pantalles d'instal·lació, comproveu que el servidor funcioni correctament. Ho podeu fer obrint, des de qualsevol ordinador de la xarxa, l'URL:

http://xxxx:8180

... on "xxxx" és el nom o la IP del servidor on s'acaba d'nstal·lar el Tomcat, i 8180 el port per defecte del Tomcat 4 (es pot canviar).

1.3 Creació de la base de dades del JClic reports

Tot seguit crearem la base de dades d'informes del JClic així com un nou usuari del mySQL que hi tingui accés. També carregarem les dades de prova, que ens permetran comprovar el funcionament del sistema.

Situeu-vos en qualsevol directori on tingueu drets d'escriptura (per exemple, al vostre "home") i feu:

%> mysql -u root -p

El sistema us demanarà la contrasenya de l'usuari root del mySQL. Quan hagueu entrat, creeu la base de dades amb l'ordre:

mysql> CREATE DATABASE JClicReports;

Per comprovar que hagi anat bé, feu:

mysql> SHOW DATABASES;

... i hauria d'aparèixer la base JClicReports a la llista.

Ara crearem un usuari (jclic_user) amb una contrasenya (la que vulgueu: aquí es proposa jclic_pwd) i li donarem plens drets sobre la base de dades que acabem de crear:

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

Tanquem la consola del mySQL amb:

mysql> exit

A continuació descarreguem i descomprimim el paquet de dades de prova:

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

Amb això obtindrem el fitxer jclic_test_mysql.sql

Per carregar les dades, entrem al mySQL amb l'usuari jclic_user:

%> mysql -u jclic_user -p

Ens demanarà la contrasenya de l'usuari jclic_user, que hem creat fa un moment.

Per carregar les dades podem fer servir l'ordre "\.":

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

Atenció a l'espai entre el "\." i el nom del fitxer, i atenció també a l'extensió (".sql") del fitxer.

Per comprovar que les dades s'hagin carregat bé, feu:

mysql> SELECT * FROM JCLIC_USERS;

.. i haurien d'aparèixer els usuaris.

Per acabar, sortiu del MySQL amb:

mysql> exit

2. Configuració del Tomcat

Haurem de realitzar tres operacions amb el Tomcat4 per tal que el servidor d'informes del JClic funcioni correctament:

  1. Desactivar les comprovacions de seguretat de les classes Java
    El Tomcat imposa severes restriccions a les aplicacions que hostatja. Per exemple, els prohibeix llegir fitxers de configuració, o escriure fitxers de seguiment (logs). Per tal de poder funcionar correctament el JClic reports ha de tenir permisos per poder efectuar aquestes operacions.
  2. Instal·lar la biblioteca JDBC per a mySQL
    Això permetrà que les aplicacions Java es puguin comunicar amb la base de dades MySQL que hem creat anteriorment.
  3. Desplegar l'aplicació JClicReports
    Haurem de copiar els fitxers del programa dins de la carpeta d'aplicacions de Tomcat, i ajustar la configuració.

Per fer aquestes operacions haureu de ser root:

%> su

Comencem per desactivar la seguretat. Editeu el fitxer /etc/init.d/tomcat4 i canvieu la línia 33, per tal que digui:

TOMCAT4_SECURITY=no

Per instal·lar la biblioteca JDBC començarem per situar-nos a qualsevol carpeta temporal:

%> cd $TEMP

Hi descarreguem el fitxer que es troba a http://dev.mysql.com/downloads/connector/j. Si no tenim navegador podem descarregar-ho amb wget des de:

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

Tot seguit descomprimim el fitxer:

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

... i copiem el fitxer .jar a la biblioteca del Tomcat:

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

Per fer neteja:

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

Ara ens caldrà col·locar el fitxer reports.war, que conté l'aplicació JClic reports empaquetada per a J2EE, dins de la carpeta d'aplicacions del Tomcat, per tal que aquest la desplegui i prepari. Ho podem fer també amb un wget:

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

Descarreguem el fitxer de configuració a la carpeta d'usuari del tomcat:

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

Editem el fitxer /usr/share/tomcat4/jclicReports.properties canviant el que calgui per tal que hi apareguin els següents valors:

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

... on xxxx és la contrasenya assignada anteriorment a l'usuari jclic_user del mySQL (per defecte, jclic_pwd).

Pareu atenció al valor de dbLogFile: el prefixe "logs/" no apareix a la versió per defecte, i en el nostre cas serà necessari degut a que l'usuari tomcat4, que és qui fa córrer el Tomcat, no té drets d'escriptura al seu home (/usr/share/tomcat4) i en canvi si que en té a logs.

Ja gairebé ho tenim tot a punt. Només ens caldrà reiniciar el Tomcat i provar si funciona:

%> /etc/init.d/tomcat4 restart

Per provar-lo aneu a qualsevol ordinador de la xarxa i obriu en un navegador web l'URL:

http://xxxx:8180/reports

... on xxxx és el nom o la IP del servidor on hem fet la instal·lació.

Si tot va bé apareixerà una primera pàgina on es demana una contrasenya, que inicialment es pot deixar en blanc. Si heu carregat les dades de demostració podreu entrar als informes de grup i als informes d'usuari, i visualitzar els diversos tipus de taules i gràfiques que ofereix el programa.

En aquest moment pot ser convenient navegar cap a la secció Administració de la base de dades i realitzar dues operacions:

  • Establir una contrasenya, que impedirà que persones no autoritzades tinguin accés a les pàgiens d'informació.
  • Decidir la política d'altes dels nous usuaris. Hi ha tres opcions:
    1. Deixar que qualsevol usuari pugui crear grups i donar-se d'alta amb el nom que vulgui.
    2. Entrar manualment els grups i deixar que els alumnes en seleccionin un i es donin d'alta ells mateixos la primera vegada que facin servir el JClic.
    3. Entrar manualment tots els grups i usuaris, o importar-los d'alguna altra base de dades. Per efectuar importacions us resultarà útil consultar l'esquema de taules del JClic reports.
    En la majoria de casos el més recomanable és començar per la segona opció, impedint més endavant la creació de nous usuaris, quan tots els alumnes s'hagin donat d'alta.

3. Configuració dels clients JClic

Cal configurar els clients JClic per tal que connectin amb el servidor JClic reports i li enviïn informació sobre les activitats realitzades pels alumnes.

Els passos a seguir són:

  1. Poseu en marxa el JClic des de qualsevol ordinador de la xarxa. Podeu fer-ho fent clic al botó que apareix a la pàgina de descàrrega del JClic, o des de les icones que es crearan a l'escriptori i al menú inici quan l'hagueu engegat un parell de vegades. A la secció de preguntes freqüents hi trobareu més informació sobre la creació de dreceres per engegar el JClic.
  2. En el JClic, aneu al menú Eines - Configuració i seleccioneu la pestanya Informes.
  3. Marqueu la casella Enregistra els resultats de les activitats en una base de dades.
  4. Seleccioneu l'opció Connecta't a un servidor d'informes JClic, i escriviu al camp Servidor l'expressió:

    xxxx:8180/reports

    ... on xxxx serà el nom o la IP del servidor on hem instal·lat el Tomcat.
  5. Confirmeu els canvis, sortiu del JClic i torneu-lo a engegar. Si tot va bé hauria d'aparèixer la pantalla d'identificació, i el JClic reports hauria d'enregistrar els resultats de totes les activitats que s'hi facin.

Repetiu aquests passos en tots els ordinadors on vulgueu activar el sistema d'informes del JClic. Recordeu que l'URL per accedir a l'aplicació JClic reports sempre serà:

http://xxxx:8180/reports

(on, no cal dir-ho, xxxx és el nom o la IP del servidor)

Consells

  • Recordeu fer regularment còpies de seguretat de la base de dades. A http://dev.mysql.com hi trobareu explicades diverses maneres de realitzar les còpies de seguretat, com ara mysqldump o mysqlhotcopy. També podeu optar per realitzar periòdicament còpies del directori /var/lib/mysql/JClicReports.

  • La contrasenya d'accés a la base de dades permet efectuar tot tipus d'operacions, des de consultar resultats fins a esborrar usuaris i grups. En futures versions millorarem aquest sistema creant diversos perfils d'administració i accés, però ara per ara hi ha una única clau. Mantingueu-la en lloc segur i canvieu-la de tant en tant.
  • Convindria crear un usuari d'administració del Tomcat. Ho podeu fer editant el fitxer /usr/share/tomcat4/conf/tomcat-users.xml, afegint-hi una línia amb els atributs admin i manager.

Tant el Tomcat com el MySQL són aplicacions professionals que requereixen un cert manteniment. A internet trobareu molta documentació sobre com administrar aquests serveis.


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