Diferència entre revisions de la pàgina «Tomcat»

De Cacauet Wiki
Salta a la navegació Salta a la cerca
Línia 61: Línia 61:
 
* CATALINA_HOME = /usr/share/tomcat7
 
* CATALINA_HOME = /usr/share/tomcat7
 
* CATALINA_BASE = /var/lib/tomcat7: aquí teniu la carpeta <code>webapps</code> amb les aplicacions per desplegar
 
* CATALINA_BASE = /var/lib/tomcat7: aquí teniu la carpeta <code>webapps</code> amb les aplicacions per desplegar
 +
* /etc/default/tomcat7 : conf inicial JAVA_OPTS (memòria)
 +
* /etc/tomcat7 : conf, users, etc.
 
* LOGS = /var/log/tomcat7
 
* LOGS = /var/log/tomcat7
  

Revisió del 21:28, 28 feb 2016

Intro

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ó

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

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:

$ ssh -L 8080:localhost:8080 elmeuserver.xyz

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 8080. Podem, doncs, accedir al Tomcat remot amb:

http://localhost:8080


Configuració del manager

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 Apache per mostrar una app en concret

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

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


Desenvolupaments varis