Installiamo Tomcat 9 su Linux

In questo articolo vedremo come installare la versione 9 di Tomcat, il servlet container open source più diffuso nel mondo Java.

Per il nostro esempio partiamo da una macchina virtuale, un VPS o un server fisico con una installazione pulita di Debian 10.

Scarichiamo il file (oppure creiamolo da zero copiandone il contenuto) e rendiamolo eseguibile con

chmod +x tomcat-install.sh

Quindi avviamolo

./tomcat-install.sh

N.B. Sulla base della configurazione del proprio server è possibile modificare lo script in modo da non installare la JVM se già presente o se si desidera utilizzare una diversa versione. Ulteriori modifiche possono riguardare la cartella di installazione e/o l’utente “proprietario” di Tomcat.

Vediamo in breve quali operazioni vengono eseguite:

  • verifica dell’esecuzione dello script con i privilegi di root
  • aggiornamento dei pacchetti del sistema
  • installazione di wget
  • aggiunta di un gruppo tomcat e di un utente tomcat privo di shell (che quindi non può effettuare il login)
  • installazione della versione di default di Java (al momento OpenJdk 11)
  • recupero dell’ultima versione stabile di Tomcat (9.0.33) in formato compresso
  • scompattamento il package
  • impostazioni dei privilegi per le varie cartelle richieste
  • creazione del file tomcat.service per systemd
  • start del servizio e abilitazione all’avvio del server

Al termine dell’installazione apriamo il browser all’indirizzo http://server-ip:8080

tomcat1

Accedendo al pannello di controllo si ottiene il seguente errore

tomcat3

dovuto al fatto che di default non c’è alcun utente abilitato per la GUI.

Quindi andiamo a modificare il file /usr/local/tomcat/conf/tomcat-users.xml per aggiungere i ruoli (admin-gui e manager-gui) e un utente con relativa password (nel nostro caso admin/admin).

Il file di esempio è disponibile a questo link.

Un’altra limitazione riguarda gli accessi dall’esterno che risultano disabilitati per default.

Dal momento che ci colleghiamo da remoto occorre fare delle modifiche ad hoc ai file  /usr/local/tomcat/webapps/manager/META-INF/context.xml e /usr/local/tomcat/webapps/host-manager/META-INF/context.xml.

In entrambi i casi occorre aggiungere l’indirizzo ip del server remoto nel seguente blocco

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|X.X.X.X" />

In particolare la modifica effettuata è  “|X.X.X.X” dove X.X.X.X è appunto l’ip del server.

In alternativa si può disattivare il controllo, abilitando l’accesso da ogni macchina, commentando il precedente blocco con <!–  –>.

N.B. Un’operazione del genere non andrebbe assolutamente effettuata in produzione per motivi di sicurezza.

Al termine delle modifiche dobbiamo riavviare il servizio con

systemctl restart tomcat

Ricaricando la pagina ci verrà chiesto di autenticarci con le credenziali impostate in precedenza.

tomcat-auth

Ora tutti i link sono attivi e possiamo fare un giro tra i diversi menu che mostrano le configurazioni, le applicazioni pubblicate, lo stato del servizio.

tomcat-web-application

tomcat-virtual-host

tomcat-server-status

Per ora è tutto. In seguito vedremo come fare il deploy di una applicazione.

P.S. Altri post su Java e Spring Boot sono disponibili a questo link

Lascia una risposta

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

Utilizzando il sito, accetti l'invio dei cookies da parte nostra. Maggiori informazioni

Questo sito utilizza i cookies per fornire la migliore esperienza di navigazione possibile. Continuando ad utilizzarlo senza modificare le impostazioni o cliccando su "Accetta" acconsenti al loro utilizzo.

Chiudi