Come installare Apache Tomcat in Ubuntu

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.

Find 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
Verify Apache Tomcat Status

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:

Apache Tomcat Web Page

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.
Configure Apache Tomcat

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:

Allow Apache Tomcat Access

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:

Access Apache Tomcat Manager

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

Access Apache Tomcat Virtual 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.

Test Apache Tomcat

È 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/