Software Apache Tomcat è un server HTTP basato su Java in grado di eseguire tecnologie Java come Java Servlet, JavaServer Pages (JSP) e Java Expression Language. Le opzioni avanzate di personalizzazione integrate, l'elevata flessibilità e l'impressionante stabilità rendono questo software molto richiesto e una scelta popolare tra gli sviluppatori a livello globale. Vediamo cosa rende Apache Tomcat unico rispetto ai concorrenti:
-
Open-Source
Apache Tomcat è un'applicazione open-source. Ciò significa che chiunque può scaricare, installare e utilizzare l'app gratuitamente.
-
Leggero
La leggerezza rappresenta un ulteriore vantaggio durante il caricamento e la ridistribuzione rispetto ai concorrenti.
-
Flessibilità
L'opzione di personalizzazione integrata consente all'utente di personalizzare l'app a proprio piacimento in base alle proprie esigenze e ai requisiti del progetto.
-
Sicurezza avanzata
Le applicazioni Tomcat offrono anche un livello avanzato di sicurezza.
Fin dal suo primo rilascio nel 1998, la Apache Software Foundation ha apportato modifiche incredibili. Di conseguenza, la versione recente è più stabile che mai. In questo tutorial, imparerai come installare Apache Tomcat 9 su Ubuntu 20.04.
Prerequisiti
Prima di procedere con l'installazione di Apache Tomcat sul tuo sistema Ubuntu, assicurati di avere quanto segue:
- Un server Ubuntu: puoi seguire i passaggi per configurare il tuo server dal nostro tutorial.
- Un utente non root con sudo privilegi configurati sul tuo server.
Ora sei pronto. Successivamente, continua a seguire i passaggi seguenti per installare Apache Tomcat su Ubuntu 20.04
Passaggio 1 — Installare Java
Innanzitutto, verifica se Java è già installato nel tuo sistema utilizzando il comando:
|
1 |
java -version |
Se Java non è installato nel tuo sistema, devi installarlo per poter eseguire applicazioni basate su Java. Puoi installare il Java Development Kit utilizzando il seguente comando:
|
1 |
sudo apt install default-jre |
Una volta completata l'installazione, verifica utilizzando il comando:
|
1 |
java -version |
Una volta completata l’installazione, è il momento di creare un tomcat account utente. Per motivi di sicurezza, è consigliabile eseguire Tomcat con privilegi non root. Ricorda, se uno qualsiasi degli script di pagina ha privilegi di root, puoi facilmente modificare completamente il file del disco rigido con gli script di pagina. Successivamente, creeremo un nuovo utente e gruppo che eseguiranno i servizi Tomcat.
Passaggio 2 – Creare & configurare l’utente Tomcat
Creeremo un nuovo utente e gruppo che utilizzeranno tutti i servizi Tomcat. Daremo al nuovo gruppo il nome tomcat utilizzando il seguente comando:
|
1 |
sudo groupadd tomcat |
Dopo aver creato un nome di gruppo, creeremo un nuovo tomcat utente e poi aggiungeremo l’utente al gruppo tomcat:
- Crea un nuovo tomcat utente.
- Aggiungi l’appartenenza dell’utente al tomcat gruppo.
Quando aggiungi l’utente al tomcat gruppo, assicurati di mantenerlo riservato, in modo che nessuno possa accedere al tuo tomcat account. Per motivi di sicurezza, mantieni l’utente nella directory home in cui installeremo tomcat ( /opt/tomcat) e aggiungi una shell /bin/false:
|
1 |
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat |
Una volta completata la configurazione del nostro account, andiamo avanti e installiamo Tomcat:
Step 3 – Install Tomcat
Installeremo Tomcat dal sito ufficiale di Tomcat. Per sfruttare appieno il suo potenziale, scarica l'ultima versione. Per aggiornare alla versione più stabile disponibile, vai alla sezione Binary Distributions, scorri fino alla lista Core e poi copia il link al file “tar.gz”. Una volta fatto, cambia la directory in /tmp:
|
1 |
cd /tmp |
Successivamente, utilizzando il comando curl , scarica Tomcat dal sito ufficiale come indicato sopra:
|
1 |
sudo curl -O https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.60/bin/apache-tomcat-9.0.60.tar.gz |
Installiamo Tomcat nella directory /opt/tomcat . Dopo aver creato la directory, estrai l’archivio utilizzando il seguente comando:
|
1 2 |
sudo mkdir /opt/tomcat sudo tar xzvf apache-tomcat-9.0.60.tar.gz -C /opt/tomcat --strip-components=1 |
Passo 4 – Aggiornamento dei permessi
Dopo aver installato Tomcat nel sistema, è necessario impostare i permessi per l'utente tomcat appena creato. Usa il seguente comando per passare alla directory in cui abbiamo decompresso l'installazione di Tomcat:
|
1 |
cd /opt/tomcat |
Successivamente, consenti al gruppo tomcat la proprietà dell'intera directory di installazione:
|
1 2 3 |
sudo chgrp -R tomcat /opt/tomcat sudo chmod -R g+r conf sudo chmod g+x conf |
Una volta fatto, rendi l'utente tomcat il proprietario delle directory webapps, work, temp, e logs :
|
1 |
sudo chown -R tomcat webapps/ work/ temp/ logs |
Dopo aver impostato tutti i permessi richiesti, il passo successivo consiste nel creare un file di servizio systemd per gestire il processo Tomcat e per eseguire Tomcat come servizio.
Passo 5 – Creazione di un file unit systemd
Sebbene l'installazione di Java sia completata, Tomcat deve sapere dove è installato Java. Per conoscere la posizione di installazione di Java, esegui il seguente comando:
|
1 |
sudo update-java-alternatives -l |
L'output dovrebbe apparire così:
La parte evidenziata è JAVA_Home come mostrato di seguito:
|
1 |
/usr/lib/jvm/java-1.11.0-openjdk-amd64 |
Successivamente, creeremo un file di servizio systemd. Apri un file denominato tomcat.service dalla directory /etc/systemd/system utilizzando il seguente comando:
|
1 |
sudo nano /etc/systemd/system/tomcat.service |
Usa l'editor VI per modificare il file e sostituisci JAVA_Home con la tua posizione di JAVA_Home :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd6 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 |
Dopo aver aggiunto JAVA_Home, salva e chiudi il file. Successivamente, ricarica il demone systemd in modo che riconosca il nostro file di servizio:
|
1 |
sudo systemctl daemon-reload |
Successivamente, avvia il servizio Tomcat utilizzando il seguente comando:
|
1 |
sudo systemctl start tomcat |
Passo 6 – Configurazione del firewall
Dopo aver creato il file unit systemd, è il momento di configurare i firewall. Le configurazioni del firewall sono essenziali per abilitare le nostre richieste e l'accesso al servizio Tomcat. Se hai seguito correttamente la guida, allora è certo che hai già un firewall ufw abilitato.
Tomcat utilizza la porta 8080 per accettare le richieste convenzionali. Consenti il traffico verso quella porta utilizzando il comando:
|
1 |
sudo ufw allow 8080 |
Il firewall modificato ti consente di accedere alla pagina iniziale predefinita all'indirizzo IP seguito da :8080. Puoi aprirla in un browser web andando all'IP come mostrato di seguito:
|
1 |
http://server_domain_or_IP:8080 |
|
1 |
sudo ufw allow 8080 |
Step 7 — Tomcat Web Management Interface Configuration
To use the manager web app that comes with Tomcat, we have to add a login to our Tomcat server. We can do that by editing the tomcat-users.xml file as shown below:
|
1 |
sudo nano /opt/tomcat/conf/tomcat-users.xml |
Tomcat comes up with web apps that enable the user to access the manager-gui and admin-gui. You can define a user between the tomcat-users tags as shown below:
|
1 2 3 |
<tomcat-users . . .> <user username="admin" password="password" roles="manager-gui,admin-gui"/> </tomcat-users> |
Save and close the file once done.
All the recent versions of Tomcat restrict access to the Manager and Host Manager apps to connections coming from the server itself. To change the IP address restrictions on these, open the appropriate context.xml files. To access the Manager app, use the command:
|
1 |
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml |
Next, to access the Host Manager app, use the command:
|
1 |
sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml |
Based on your needs, you can choose to accept or deny connections. You can comment on the IP address restrictions to allow connections from anywhere. Otherwise, you can add the public IP address to the list to access connections coming from your IP address:
|
1 2 3 4 |
<Context antiResourceLocking="false" privileged="true" > <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />--> </Context> |
Save and close the files when you are finished. To reflect the changes you have made, restart the Tomcat service using the following command:
|
1 |
sudo systemctl restart tomcat |
Step 8—Web Interface Access
After creating the Tomcat user, we can now access the web management interface. Once again, you can access the interface by going to the server’s domain name or IP address followed by port 8080:
|
1 |
http://server_domain_or_IP:8080 |
When you click on this url, you will see a page as shown below:
You can access the Tomcat web apps by adding the account credentials that you added to the tomcat-users.xml. To access the Manager app, use the link:
|
1 |
http://server_domain_or_IP:8080/manager/html |
When you click on this URL, you will see a page as shown below:
To access the Host Manager app, use the link:
|
1 |
http://server_domain_or_IP:8080/host-manager/html |
When you click on this URL, you will see a page as shown below:
Conclusion
Your installation of Tomcat is now complete. You can freely deploy your own Java web applications and enhance your digital experience. You will find out that working on Apache Tomcat is much faster while loading and redeploying when compared to its alternatives. However, it is unsuitable when working with static pages.
For more resources on applying Apache-based servers check out our blog:
- A Guide on the mod_proxy Extension: Using Apache as a Reverse Proxy
- Il mondo dei server web: Apache vs. Nginx
- Configurazione di Virtual Host Apache su Ubuntu 20.04
- Installazione del server web Apache su CentOS 7
Buon computing!














Commenti
Ancora nessun commento. Scrivi il primo.