Se vuoi eseguire pagine web che includono codice Java server page o servlet Java, puoi utilizzare Apache Tomcat. È un server web e contenitore servlet open source, rilasciato da Apache Software Foundation.
Tomcat può essere utilizzato come prodotto autonomo, con il proprio server web oppure può essere combinato con altri server web come Apache o IIS. La versione più recente di Tomcat è 9.0.14 e si basa su Tomcat 8 e 8.5 e implementa Servlet 4.0, JSP 2.2.
Leggi anche: Come Installare Apache Tomcat 9 in CentOS/RHEL
Le seguenti migliorie sono state apportate nella nuova versione:
- Aggiunto supporto per HTTP/2.
- Aggiunto supporto per l’utilizzo di OpenSSL per il supporto TLS con i connettori JSSE.
- Aggiunto supporto per host virtuali TLS (SNI).
In questo tutorial ti mostreremo come installare Apache Tomcat 9 in Ubuntu 18.10 e versioni precedenti di Ubuntu.
Passo 1: Installazione di Java
Per eseguire le applicazioni web Java, Tomcat richiede che Java sia installato sul server. Per soddisfare questo requisito, installeremo OpenJDK come mostrato.
$ sudo apt update $ sudo apt install default-jdk
Passo 2: Creazione di un Utente Tomcat
Per motivi di sicurezza, Tomcat dovrebbe essere eseguito con un utente non privilegiato, cioè non root. Ecco perché creeremo l’utente e il gruppo tomcat che eseguirà il servizio. Iniziamo creando il gruppo tomcat:
$ sudo groupadd tomcat
Successivamente creeremo un utente tomcat, che sarà membro del gruppo tomcat. La posizione home di questo utente sarà /opt/tomcat poiché è lì che installeremo Tomcat. La shell sarà impostata su /bin/false:
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Ora siamo pronti per procedere al passaggio successivo e scaricare Tomcat.
Passaggio 3: Installazione di Apache Tomcat
Per scaricare il pacchetto più recente disponibile, vai alla pagina di download di Tomcat e scarica l’ultima versione.
Al momento della stesura di questo tutorial, l’ultima versione di Tomcat è 9.0.14. Per scaricare quella versione, cambia la tua directory corrente in qualcos’altro. Ad esempio, puoi usare /tmp:
# cd /tmp
E quindi utilizzare il comando wget per scaricare l’archivio di Tomcat:
$ wget http://apache.cbox.biz/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz $ wget https://www.apache.org/dist/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz.sha512
Se desideri verificare il sommario sha512 del file, puoi eseguire:
$ sha512sum apache-tomcat-9.0.14.tar.gz $ cat apache-tomcat-9.0.14.tar.gz.sha512
Il valore risultante (hash) per entrambi i file dovrebbe essere lo stesso.
Come già accennato, installeremo Tomcat in /opt/tomcat. Dovremo creare quella directory:
$ sudo mkdir /opt/tomcat
E ora possiamo estrarre il pacchetto scaricato in quella nuova directory:
$ sudo tar xzvf apache-tomcat-9.0.14.tar.gz -C /opt/tomcat --strip-components=1
Ora passa a /opt/tomcat da dove aggiorneremo la proprietà della cartella e i permessi:
# cd /opt/tomcat
E impostare il proprietario del gruppo di /opt/tomcat a tomcat:
$ sudo chgrp -R tomcat /opt/tomcat
Successivamente aggiorneremo l’accesso in lettura del gruppo tomcat sulla directory conf e impostare i permessi di esecuzione della directory:
$ sudo chmod -R g+r conf $ sudo chmod g+x conf
Successivamente faremo diventare l’utente tomcat proprietario delle directory webapps, work, temp e logs:
$ sudo chown -R tomcat webapps/ work/ temp/ logs/
Ora i permessi e le proprietà corrette sono stati impostati e siamo pronti per creare un file di avvio di systemd, che ci aiuterà a gestire il processo di Tomcat.
Passaggio 4: Creazione di un file di servizio SystemD per Tomcat
Poiché vogliamo eseguire Tomcat come servizio, avremo bisogno di un file che ci aiuterà a gestire facilmente il processo. A tale scopo creeremo un file di servizio systemd. Tomcat dovrà sapere dove si trova Java sul tuo sistema.
Per trovare quella posizione utilizza il seguente comando:
$ sudo update-java-alternatives -l
L’output di quel comando ti mostrerà la posizione di JAVA_HOME.

Ora, utilizzando queste informazioni, siamo pronti per creare il nostro file di servizio Tomcat.
$ sudo vim /etc/systemd/system/tomcat.service
Incolla il codice qui sotto nel file:
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64 Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
Assicurati di impostare JAVA_HOME con quello del tuo sistema. Quando sei pronto, salva il file e chiudilo. Ora, utilizzando il comando qui sotto, ricarica il demone di systemd in modo che possa trovare il nostro nuovo file di servizio:
$ sudo systemctl daemon-reload
Quindi avvia il servizio Tomcat:
$ sudo systemctl start tomcat
Puoi verificare lo stato del servizio con:
$ sudo systemctl status tomcat

Ora puoi testare Tomcat nel tuo browser utilizzando l’indirizzo IP del tuo sistema seguito dalla porta predefinita del servizio 8080.
http://ip-address:8080
Il risultato che dovresti vedere sarà simile a quello mostrato nell’immagine qui sotto:

Se non visualizzi l’output sopra, potresti dover consentire la porta 8080 nel tuo firewall come mostrato.
$ sudo ufw allow 8080
Se desideri che Tomcat si avvii all’avvio del sistema, esegui:
$ systemctl enable tomcat
Passaggio 5: Configurazione di Apache Tomcat
Tomcat ha un’applicazione di gestione web preinstallata. Per utilizzarla, dovremo configurare l’autenticazione all’interno del file tomcat-users.xml. Apri e modifica quel file con il tuo editor di testo preferito:
$ sudo vim /opt/tomcat/conf/tomcat-users.xml
Aggiungeremo un utente che potrà accedere alle interfacce manager e admin. Per configurare tale utente, tra i tag <tomcat-users> </tomcat-users>
, aggiungi la seguente riga:
<user username="Username" password="Password" roles="manager-gui,admin-gui"/>
Assicurati di cambiare:
- Nome utente – con l’utente che desideri autenticare.
- Password – con la password che desideri utilizzare per l’autenticazione.

Dato che per impostazione predefinita l’accesso a Host Manager e Manager è limitato, vorremo rimuovere o modificare tali restrizioni. Per apportare tali modifiche, puoi caricare i seguenti file:
Per l’app Manager:
$ sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml
Per l’app Host Manager:
$ sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml
All’interno di quei file puoi sia commentare la restrizione dell’IP che consentire il tuo indirizzo IP pubblico. Scopo di questo tutorial, ho commentato la riga:

Per rendere attive le nostre modifiche, ricarica il servizio tomcat con:
$ sudo systemctl restart tomcat
Ora puoi testare l’applicazione manager accedendo a http://indirizzoip:8080/manager/. Quando ti viene richiesto nome utente e password, utilizza quelli che hai configurato in precedenza. L’interfaccia che dovresti vedere dopo è simile a questa:

Per accedere al gestore Host, puoi utilizzare http://indirizzo-ip:8080/host-manager/.

Utilizzando il gestore host virtuale, puoi creare host virtuali per le tue applicazioni Tomcat.
Passaggio 6: Test di Apache Tomcat Creando un file di test
Puoi verificare se tutto funziona correttamente, creando un file di test all’interno della directory /opt/tomcat/webapps/ROOT/.
Creiamo un tale file:
$ sudo vim /opt/tomcat/webapps/ROOT/tecmint.jsp
All’interno di quel file incolla il seguente codice:
<html> <head> <title>Tecmint post:TomcatServer</title> </head> <body> <START OF JAVA CODES> <% out.println("Hello World! I am running my first JSP Application"); out.println("<BR>Tecmint is an Awesome online Linux Resource."); %> <END OF JAVA CODES> </body> </html>
Salva il file e imposta la proprietà come indicato.
$ sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/tecmint.jsp
Ora carica quel file nel tuo browser utilizzando http://indirizzo-ip:8080/tecmint.jsp.

È tutto! Hai completato la configurazione del tuo server Apache Tomcat ed eseguito il tuo primo codice Java. Speriamo che il processo sia stato facile e diretto per te. Se incontri problemi, condividi i tuoi problemi tramite il modulo di commento qui sotto.
Source:
https://www.tecmint.com/install-apache-tomcat-in-ubuntu/