Ricerca nel sito web

Come installare Apache Tomcat su Ubuntu


Se desideri eseguire pagine Web che includono la codifica delle pagine del server Java o servlet Java, puoi utilizzare Apache Tomcat. È un server Web open source e un contenitore servlet, 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

Nella nuova versione sono stati apportati i seguenti miglioramenti:

  • Aggiunto il 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.

Passaggio 1: installazione di Java

Per eseguire applicazioni Web Java, Tomcat richiede che Java sia installato sul server. Per soddisfare tale requisito, installeremo OpenJDK come mostrato.

sudo apt update
sudo apt install default-jdk

Passaggio 2: creazione di un utente Tomcat

Per motivi di sicurezza, Tomcat deve essere eseguito con un utente non privilegiato, ovvero non root. Questo è il motivo per cui creeremo l'utente e il gruppo Tomcat che eseguiranno il servizio. Inizia creando il gruppo Tomcat:

sudo groupadd tomcat

Successivamente creeremo un utente tomcat, che sarà membro del gruppo Tomcat. La posizione domestica di questo utente sarà /opt/tomcat poiché è qui che installeremo Tomcat. La shell deve essere 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 l'ultimo pacchetto disponibile, vai alla pagina di download di Tomcat e prendi la versione più recente.

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 utilizzare /tmp:

cd /tmp

E poi usando il comando wget per scaricare l'archivio 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 vuoi verificare la somma 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 accennato in precedenza, 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 vai a /opt/tomcat da dove aggiorneremo la proprietà e le autorizzazioni della cartella:

cd /opt/tomcat

E imposta il proprietario del gruppo /opt/tomcat su tomcat:

sudo chgrp -R tomcat /opt/tomcat

Successivamente aggiorneremo l'accesso in lettura del gruppo Tomcat sulla directory conf e imposteremo le autorizzazioni di esecuzione per la directory:

sudo chmod -R g+r conf
sudo chmod g+x conf

Successivamente renderemo l'utente Tomcat proprietario delle directory webapps, work, temp e logs:

sudo chown -R tomcat webapps/ work/ temp/ logs/

Ora sono state impostate le autorizzazioni e le proprietà corrette e siamo pronti per creare un file di avvio systemd, che ci aiuterà a gestire il processo Tomcat.

Passaggio 4: creazione di un file di servizio SystemD per Tomcat

Poiché desideriamo eseguire Tomcat come servizio, avremo bisogno di un file che ci aiuti 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 utilizzare 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 per il tuo sistema. Quando sei pronto, salva il file e chiudilo. Ora, utilizzando il comando seguente, ricarica il demone 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:

Nel caso in cui non visualizzi l'output precedente, potrebbe essere necessario consentire la porta 8080 nel firewall come mostrato.

sudo ufw allow 8080

Se desideri che Tomcat venga avviato all'avvio del sistema, esegui:

systemctl enable tomcat

Passaggio 5: configurazione di Apache Tomcat

Tomcat dispone di un'app di gestione web preinstallata. Per poterlo utilizzare, dovremo impostare l'autenticazione nel nostro file tomcat-users.xml. Apri e modifica il file con il tuo editor di testo preferito:

sudo vim /opt/tomcat/conf/tomcat-users.xml

Aggiungeremo un utente che potrà accedere alle interfacce gestore e amministratore. Per configurare tale utente, tra i tag , aggiungere la seguente riga:

<user username="Username" password="Password" roles="manager-gui,admin-gui"/>

Assicurati di modificare:

  • Nome utente: con l'utente che desideri autenticare.
  • Password: con la password che desideri utilizzare per l'autenticazione.

Poiché per impostazione predefinita l'accesso a Host Manager e Manager è limitato, vorremo rimuovere o modificare queste restrizioni. Per apportare tali modifiche è possibile caricare i seguenti file:

Per l'app Gestione:

sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml

Per l'app Gestione host:

sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml

All'interno di questi file puoi commentare la restrizione IP o consentire l'inserimento del tuo indirizzo IP pubblico. Ai fini 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'
app manager accedendo a http://ipaddress:8080/manager/. Quando vengono richiesti nome utente e password, utilizzare quelli configurati in precedenza. L'interfaccia che dovresti vedere dopo è simile alla seguente:

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: testare Apache Tomcat creando un file di prova

Puoi verificare se tutto funziona correttamente, creando un file di prova all'interno della directory /opt/tomcat/webapps/ROOT/.

Creiamo questo 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>

Salvare il file e impostare la proprietà come mostrato.

sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/tecmint.jsp

Ora carica il file nel tuo browser utilizzando http://indirizzo-ip:8080/tecmint.jsp.

Questo è tutto! Hai completato la configurazione del tuo server Apache Tomcat e hai eseguito il tuo primo codice Java. Ci auguriamo che il processo sia stato facile e diretto per te. In caso di problemi, condividi i tuoi problemi tramite il modulo di commento qui sotto.