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

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

El 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

Engegueu el YasT i aneu a Install and remove software. Escriviu al camp search:

mysql

... i seleccioneu els paquets:

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

Feu clic a Accept i completeu el procés.

Per engegar el servidor mySQL heu d'anar des de la finestra principal del YasT al grup System, i d'aquí a System services (runlevel).

Seleccioneu la línia mysql, on segurament hi haurà el valor "no". Feu clic a Enable i després a Finish. Us demanarà permís per desar els canvis. Respongueu afirmativament.

Ara caldrà efectuar dues operacions per millorar la seguretat del mySQL: impedir que els usuaris anònims (sense identificador ni contrasenya) puguin accedir al sistema, i fixar una contrasenya per a l'usuari "root" del mySQL, que inicialment la té en blanc. Per fer-ho obriu una consola i escriviu:

%> 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;

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

1.2 Instal·lació del Tomcat

Torneu al YasT i aneu novament a Install and remove software. Escriviu al camp search:

tomcat

... i seleccioneu els paquets:

tomcat5
tomcat5-webapps
tomcat5-admin-webapps

Feu clic a Accept i completeu el procés.

Per engegar el servidor Tomcat heu d'anar novament des de la finestra principal del YasT al grup System, i d'aquí a System services (runlevel).

Seleccioneu la línia tomcat5, on segurament hi haurà el valor "no". Feu clic a Enable i després a Finish. Us demanarà permís per desar els canvis. Respongueu afirmativament.

Per provar si funciona, engegueu un navegador a qualsevol ordinador de la xarxa i escriviu-hi l'URL:

http://xxxx:8080

... on "xxxx" és el nom o la IP del servidor on acabeu d'nstal·lar el Tomcat5, i 8080 el port per defecte (es pot canviar). Des de la mateixa màquina podeu fer http://localhost:8080.

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

mysql> CREATE DATABASE JClicReports;

Amb això es crarà la base de dades. Per comprovar que hagi anat bé, feu:

mysql> SHOW DATABASES;

... i 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> 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 dues operacions amb el Tomcat per tal que el servidor d'informes del JClic funcioni correctament:

  1. Instal·lar el connector JDBC per al mySQL
    Això permetrà que les aplicacions Java es puguin comunicar amb la base de dades mySQL que hem creat anteriorment.
  2. 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

Per instal·lar la biblioteca JDBC haurem de crear un enllaç simbòlic del connector (que el YasT ha instal·lat abans a /usr/share/java) des de la biblioteca del Tomcat:

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

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

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

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

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

Editem el fitxer /usr/share/tomcat5/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.
Pareu atenció al valor de dbLogFile: el prefix "logs/" no apareix a la versió per defecte.

El JClic reports necessita invocar el servei de gràfics "X" per generar les imatges estadístiques. El Suse Linux 9.3 porta activat per defecte el controlador xhost, que restrigeix l'ús dels serveis "X" als usuaris que hi hagin iniciat una sessió. Com que l'usuari tomcat5 (que és qui fa córrer el Tomcat) no té cap sessió gràfica iniciada caldrà flexibilitzar els permisos de xhost permetent l'ús de les "X" a totes les connexions locals. Per fer-ho, escriviu:

%> xhost local:

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

%> /etc/init.d/tomcat5 restart

Per provar si funciona, aneu a qualsevol ordinador de la xarxa i obriu en un navegador web l'URL:

http://xxxx:8080/reports

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

Si tot va bé es mostrarà 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:8080/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 els passos 2, 3, 4 i 5 en tots els ordinadors on vulgueu activar el sistema d'informes del JClic. Recordeu que l'adreça per consultar les dades sempre serà:

http://xxxx:8080/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 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/tomcat5/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