Tomcat

De Cacauet Wiki
Salta a la navegació Salta a la cerca

Intro[modifica]

Tomcat és un servidor d'aplicacions creat per l'organització Apache. Això no significa que calgui el servidor Apache per fer-lo funcionar, però sol utilitzar-se conjuntament.

Alguns avantatges d'utilitzar un servidor d'aplicacions:

  • Gestió unificada d'usuaris i contrasenyes
  • Mànager: gestió de les apps GUI com si fossin serveis (start, stop, etc.)
  • Facilitació del deployment pels desenvolupadors


Instal·lació[modifica]

Disposes d'aquest tutorial instal·lació Tomcat a Ubuntu 14.04. Instal·la't en el teu servidor AWS o raspberry.


Accés per túnel al manager[modifica]

Una manera d'accedir al nostre Tomcat seria obrint el port 8080 a l'exterior. Però això té força desavantages:

  • Accés amb una URL http://elmeudomini.xyz:8080 fa lleig
  • Alguns proxies (com el de l'insti) bloquegen l'accés de sortida a ports no estàndard com el 8080.
  • Exposem la interfície de management a l'exterior

Per tant, una manera segura de començar a administrar el nostre Tomcat serà a través d'un túnel SSH al nostre servidor. Per als que tenen Linux instal·lat és tan fàcil com fer (afegint el -i de la clau i l'usuari si cal):

$ ssh -L 9001:localhost:8080 [email protected]

En Windows ho podeu fer mitjançant Putty. A la secció SSH -> tunnels podreu configurar-lo.

i això farà que veiem el localhost:8080 vist des de elmeuserver.xyz al meu port local 9001. Podem, doncs, accedir al Tomcat remot amb:

http://localhost:9001


Configuració del manager[modifica]

El mànager ens permetrà engegar i parar les apps (servlets) que tinguem instal·lades al Tomcat. D'entrada ve deshabilitat.

Habilita-ho creant un usuari, tal com indica la pàgina que pots llegir fent:

http://localhost:8080/manager/html


Configurant proxy invers d'Apache per mostrar una app en concret[modifica]

Hi ha algunes apps d'exemple ja disponibles. Mira a la pàgina principal del Tomcat i explora-les per veure exemples de funcionament, en particular el de JSP.

Ara es tractarà que redirigeixis el trànsit de la web principal, per exemple

http://elmeudomini.xyz/app1

cap a una d'aquestes aplicacions de Tomcat.

Per fer-ho cal que exploris l'ús del mòdul proxy invers d'Apache.

Si proveu de redirigir una app amb cookies veureu que funciona però les cookies no van. Per exemple, en la app "Number Guess", cada cop que fem un intent ens compta com si fos el primer, i canvia de número, pel que no podem jugar.

Per solucionar el tema de les cookies en aquest article es proposa la següent solució (imaginem que la tenim a /app1 ):

ProxyPassReverseCookiePath / /app1


Tomcat Quick Reference[modifica]

En Ubuntu 14.04:

  • URL = http://myhost:8080
  • CATALINA_HOME = /usr/share/tomcat7
  • CATALINA_BASE = /var/lib/tomcat7: aquí teniu la carpeta webapps amb les aplicacions per desplegar
  • /etc/default/tomcat7 : conf inicial JAVA_OPTS (memòria)
  • /etc/tomcat7 : conf, users, etc.
  • LOGS = /var/log/tomcat7


Desenvolupant un Servlet[modifica]

Pots començar a desenvolupar per Tomcat amb Servlets i JSP.