Una delle operazioni che mi ha levato più tempo ultimamente: impostare l'accesso remoto alle pagine amministrative di Tomcat 8.

In verità era una scemenza, ma dato che Tomcat sparpaglia i file ovunque, e che ognuno dice la sua, ci ho messo parecchio.

In verità bastano una semplice operazione.

Dovete modificare due file:

  • DIRECTORY_INSTALL/webapps/manager/META-INF/context.xml
  • DIRECTORY_INSTALL/webapps/host-manager/META-INF/context.xml

Oggi ho preso una decisione, e voglio condividerla con voi.

Ho definitavmente abbandonato Tomcat in favore di GlassFish.

Nella vita non si può mai sapere, ma per ora Tomcat l'ho proprio rimosso da ovunque.

Con questo non intendo che Tomcat non sia un buon prodotto, anzi; ma mi ha dato parecchi problemi che con GlassFish non ho avuto.

Ogni volta che ho provato ad installare Tomcat su Debian usando il package manager, sono andato incontro a un sacco di problemi.

Tutto ok, invece, eseguendo l'installazione manuale.

Ed oggi vediamo proprio questo: come installare Tomcat 8 su Debian 8.

Dando per scontato che abbiate già Java 8 installato, seguite questi passi:

# cd /opt
# wget http://mirror.tcpdiag.net/apache/tomcat/tomcat-8/v8.5.0/bin/apache-tomcat-8.5.0.tar.gz
# tar -zxf apache-tomcat-8.5.0.tar.gz

Ho deciso di affiancare Glassfish al classico Apache Tomcat per diversi motivi.

Una volta installato, provando ad accedere come amministratore, mi sono imbattuto in questo errore:

Secure Admin Must Be Enabled To Access The DAS Remotely

Pare che sia un classico errore.

Più o meno tutti conosciamo Apache e Tomcat e il ruolo che hanno.

Apache è uno dei web server più usati ed in genere viene usato come web server per applicazioni scritte in PHP.

Tomcat è invece è un contenitore Servlet e viene usato per le applicazioni web scritte in Java (JSP e Servlet appunto).

In genere Apache gira sulla porta 80 e Tomcat sulla 8080.

Può rendersi necessario però fare in modo che anche i servizi di Tomcat siano raggiungibili senza indicare la porta, in quanto è una cosa scomoda.

E' possibile infatti integrare le due applicazioni per evitare ciò.

Prima di tutto installate e configurate Apache.

Poi installate e configurate Tomcat.

Una volta accertati che tutto funziona dobbiame riprendere in mano la configurazione di Apache.

Per integrare i due abbiamo principalmente due opzioni:

  • usare un ReverseProxy -> più lento ma più semplice da mettere su
  • usare il connettore jk -> più veloce ma richiede un pò più di configurazione

Cominciamo dal ReverseProxy.

Supponiamo di voler accedere alla pagina http://localhost:8080/book/index.jsp.