Ogni utente può gestire un’istanza personalizzata del server, in modo da poter editare la configurazione come desidera, con il non trascurabile vantaggio di poterlo far partire e fermare quando vuole.

Ogni versione di Tomcat supporta versioni di Java e specifiche di JSP e Servlet diverse, come illustrato in questa pagina:

http://tomcat.apache.org/whichversion.html

Scaricare la versione desiderata dal sito di Tomcat. Io l’ho salvata in Downloads.

Scompattarla. Nel mio caso:

cd
tar -xvf ~/Downloads/apache-tomcat-10.0.8.tar.gz 

Le applicazioni andranno inserite nella cartella webapps, all’interno della cartella appena creata nella vostra area utente.

Utente manager

Per poter gestire il server da interfaccia web occorre esplicitamente definire e abilitare un utente del server con ruolo manager-gui e admin-gui; questo si fa nel file conf/tomcat-users.xml.

Nella sezione del file relativa agli utenti (<tomcat-users>), occorre aggiungere queste definizioni (ad esempio al fondo del file, prima della linea di chiusura):

  <role rolename="manager-gui"/>
  <role rolename="admin-gui"/>
  <user username="manager" password="changemenow321" roles="manager-gui,admin-gui"/>

Dopo aver avviato Tomcat (vedi punto successivo), l’interfaccia di gestione è raggiungibile tramite l’indirizzo:

http://localhost:8080/manager/html.

L’interfaccia di gestione è utilizzabile solo da localhost; se si prova ad accedere dall’esterno, si otterrà un messaggio che suggerisce di configurare il file context.xml. Questa configurazione non verrà spiegata in queste istruzioni; fare riferimento alla guida ufficiale di Tomcat qualora interessati.

Avvio e arresto del servizio

Esiste uno script per gestire l’esecuzione del server, bin/catalina.sh.

Per lanciare il server, spostarsi nella directory in cui si è scompattato Tomcat, e poi lanciare:

./bin/catalina.sh start

Per lanciare il server in modalità debug:

./bin/catalina.sh jpda start

Per fermare il server:

./bin/catalina.sh stop

La modalità debug è configurabile attraverso variabili d’ambiente (porta, protocollo, sospensione dell’esecuzione senza un debugger connesso). Ad esempio:

export JPDA_ADDRESS=8000
export JPDA_TRANSPORT=dt_socket
export JPDA_SUSPEND=n

Si veda il sorgente del file catalina.sh per l’elenco di tutte le variabili d’ambiente impostabili e i loro valori di default.

Una volta lanciato il server, il servizio è accessibile all’indirizzo:

http://localhost:8080/

Si possono fare numerosi affinamenti e modifiche alla configurazione di Tomcat, a seconda delle esigenze; per tutte le informazioni si consiglia di consultare la ricca documentazione disponibile sul sito:

http://tomcat.apache.org

Eventuali problemi

JAVA_HOME

In caso di problemi, controllate la variabile JAVA_HOME:

echo $JAVA_HOME

Se punta a una directory sotto /usr, questo è il motivo per cui Tomcat non funziona.

L’impostazione corretta si ottiene con un comando tipo:

export JAVA_HOME="/opt/java"

che può essere inserito nei propri file di avvio per rendere permanente la situazione.

Vedi anche la pagina relativa a Java per maggiori informazioni sulle versioni disponibili in lab.

Errore 403 Access Denied

Se si riceve l’errore indicato quando si cerca di accedere a Server Status, Manager App, o Host Manager, controllare di aver inserito correttamente un utente con il ruolo manager-gui, come spiegato sopra.