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 instal·lar i configurar el mySQL caldrà obrir una consola (Ctrl+Alt+T) i executar les comandes que s'indiquen tot seguit. Cal que l'usuari que els executa tingui permisos d'administració (que sigui "sudoer") i introdueixi la seva contrasenya quan el sistema li ho demani.

Instal·lem el mySQL escrivint:

%> sudo apt-get install mysql-server mysql-client libmysql-java

Si tot funciona correctament es descarregaran els fitxers i apareixerà una pantalla on us demanaran quina contrasenya voleu establir per a l'usuari "root" del mySQL. Introduïu la contrasenya que considereu més convenient (no té perquè coïncidir amb la vostra contrasenya d'usuari) i repetiu-la quan us demani confirmació.

Tot seguit crearem la base de dades d'informes del JClic així com un nou usuari del mySQL que hi tindrà ple 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:

%> sudo mysql -u root -p

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

mysql> CREATE DATABASE JClicReports;

Per comprovar que hagi anat bé feu:

mysql> SHOW DATABASES;

... i la base JClicReports hauria d'aparèixer 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> CREATE USER 'jclic_user'@'localhost' IDENTIFIED BY 'jclic_pwd'

mysql> GRANT ALL PRIVILEGES ON JClicReports.*
-> TO 'jclic_user'@'localhost'
-> WITH GRANT OPTION;

Tanqueu 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:

%> sudo mysql -u jclic_user -p

Ens demanarà la contrasenya de l'usuari jclic_user que hem creat fa un moment. Si heu seguit el suggeriment que es donava, és jclic_pwd.

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

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