Apache Tomcat (aka Tomcat Server) è un servlet container Java open source sviluppato da Apache Software Foundation.
Tomcat implementa Java Servlet, JavaServer Pages (JSP), Java EL e WebSocket e fornisce un ambiente server Web HTTP "puro Java" per l'esecuzione di codici Java.
Ecco il post su come installare Apache Tomcat su Ubuntu 20.04 / Ubuntu 18.04.
Prerequisiti
Aggiorna l'indice del repository.
sudo apt update
Installa Java
Tomcat richiede che Java JDK sia installato sulla macchina. Puoi installare Oracle JDK o OpenJDK.
Per questa demo, utilizzerò OpenJDK.
sudo apt install -y openjdk-11-jdk
Una volta installato Java, è possibile verificare la versione Java utilizzando il comando seguente.
java -version
Risultato:
openjdk version "11.0.7" 2020-04-14 OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1) OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode)
Account di servizio Tomcat
Per la migliore pratica, Tomcat non dovrebbe mai essere eseguito come utente privilegiato (root). Quindi, crea un utente con privilegi bassi per l'esecuzione del servizio Tomcat.
sudo groupadd tomcat sudo mkdir /opt/tomcat sudo useradd -g tomcat -d /opt/tomcat -s /usr/sbin/nologin tomcat
Scarica Tomcat
Puoi scaricare il pacchetto Apache Tomcat dal sito ufficiale.
O
Nel terminale usa il curl
comando per scaricare Apache Tomcat.
### Apache Tomcat 10.x curl https://downloads.apache.org/tomcat/tomcat-10/v10.0.4/bin/apache-tomcat-10.0.4.tar.gz -o apache-tomcat-10.0.4.tar.gz ### Apache Tomcat 9.x curl https://downloads.apache.org/tomcat/tomcat-9/v9.0.44/bin/apache-tomcat-9.0.44.tar.gz -o apache-tomcat-9.0.44.tar.gz
Estrai il tomcat nella directory (/opt/tomcat) desiderata.
sudo tar -zxvf apache-tomcat-*.tar.gz sudo mv apache-tomcat-*/* /opt/tomcat/
Modifica la proprietà della directory per consentire all'utente Tomcat di scrivervi file.
sudo chown -R tomcat:tomcat /opt/tomcat/
Imposta Tomcat
Qui, utilizziamo systemd per avviare il servizio Tomcat. Il file di servizio systemd di Tomcat richiede la posizione java. Quindi, esegui il comando seguente per elencare le versioni java disponibili sul tuo sistema.
sudo update-java-alternatives -l
Risultato:
java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd6
In questo momento, ho Java 11 sul mio sistema.
Crea un file di servizio systemd Tomcat. Quelli verdi dipendono dall'ambiente, quindi cambiali di conseguenza.
sudo nano /etc/systemd/system/tomcat.service
Aggiungi le seguenti informazioni al file del servizio systemd Tomcat.
[Unit] Description=Apache Tomcat 9.x Web Application Container Wants=network.target 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_OPTS=-Xms512M -Xmx1G -Djava.net.preferIPv4Stack=true' Environment='JAVA_OPTS=-Djava.awt.headless=true' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh SuccessExitStatus=143 User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
Ricarica il demone di sistema.
sudo systemctl daemon-reload
Avvia Tomcat
Per avviare il servizio Tomcat; corri:
sudo systemctl start tomcat
Controlla lo stato di Tomcat, esegui:
sudo systemctl status tomcat
Abilita l'avvio automatico del servizio Tomcat all'avvio del sistema:
sudo systemctl enable tomcat
Per impostazione predefinita, Apache Tomcat viene eseguito sulla porta 8080. Utilizza il comando netstat per controllare lo stato di ascolto del servizio Tomcat.
sudo netstat -antup | grep 8080
Risultato:
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1611/java
LEGGI: comando netstat non trovato su Ubuntu – Quick Fix
Configura l'interfaccia utente Web di Apache Tomcat
Tomcat viene fornito con il web-manager e Host Manager per la gestione di Tomcat. Sia Host Manager che Web Manager sono protetti da password e per accedere sono necessari un nome utente e una password.
Crea un utente con i ruoli manager-gui e admin-gui per avere accesso rispettivamente al gestore dell'applicazione Web e al gestore host. Questi due ruoli sono definiti nel file tomcat-users.xml.
sudo nano /opt/tomcat/conf/tomcat-users.xml
Posiziona le due righe seguenti (ruolo e definizione utente) appena sopra l'ultima riga.
rolename="admin-gui,manager-gui"/> <user username="admin" password="password" roles="manager-gui,admin-gui"/>
Per motivi di sicurezza, Web Manager e Host Manager sono accessibili solo dal localhost, ovvero dal server stesso.
Per accedere ai gestori Web e host dal sistema remoto, è necessario aggiungere la rete di origine nell'elenco Consenti. Per farlo, modifica i due file sottostanti.
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml
Aggiorna la riga seguente sui file sopra con l'IP di origine da cui stai accedendo al Web e host Manager.
.* consentirà a tutte le reti di accedere a entrambi i gestori.
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|.*" />
O
Puoi anche consentire solo parte della tua rete. Ad esempio:per consentire solo la rete 192.168.0.0/24, puoi utilizzare i valori seguenti.
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.0.*" />
Riavvia il servizio Tomcat.
sudo systemctl restart tomcat
Accedi a Tomcat
Apri un browser e vai all'URL sottostante.
http://ip.add.re.ss:8080Otterresti la pagina predefinita di Tomcat e questo conferma che Apache Tomcat è stato installato correttamente.
Fai clic su App Manager per accedere a Web Manager (Accesso richiesto):Nome utente :amministratore , Password :password.
Utilizzando Web Manager, puoi distribuire una nuova applicazione, distribuire un'applicazione in un contesto specifico, avviare, arrestare, ricaricare e annullare la distribuzione di un'applicazione.
Inoltre, puoi controllare lo stato del server.
Fai clic su Gestione host per accedere al gestore host Tomcat (accesso richiesto):Nome utente :amministratore , Password :password.
Qui puoi gestire gli host virtuali di Tomcat.
Conclusione
È tutto. Spero che tu abbia imparato come installare Apache Tomcat su Ubuntu 20.04 / Ubuntu 18.04. Ora sei pronto per la tua prima applicazione web. Come consiglio di sicurezza, considera l'implementazione di SSL/TLS per Tomcat