Tomcat
Contingut
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
Desenvolupant un Servlet
Pots començar a desenvolupar per Tomcat amb Servlets i JSP.