Apache Tomcat (precedentemente noto come Apache Jakarta Tomcat) è un'implementazione open source delle tecnologie Java Servlet e JavaServer Pages.
Qui vedremo come installare Apache Tomcat su Debian 11.
Installa Java
Tomcat richiede Java JRE sul sistema. Puoi installare Oracle JDK o OpenJDK.
Per questa demo, utilizzeremo OpenJDK.
sudo apt install -y openjdk-11-jdk-jre
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)
Crea un account di servizio Tomcat
Per la migliore pratica, Tomcat non dovrebbe mai essere eseguito come utente privilegiato (root). Quindi, crea un utente normale 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 Apache Tomcat
Puoi scaricare il pacchetto Apache Tomcat dal sito ufficiale.
O
Nel terminale, usa il wget
comando per scaricare Apache Tomcat.
### Apache Tomcat 10.x wget https://downloads.apache.org/tomcat/tomcat-10/v10.0.10/bin/apache-tomcat-10.0.10.tar.gz ### Apache Tomcat 9.x wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.52/bin/apache-tomcat-9.0.52.tar.gz ### Apache Tomcat 8.5.x wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.70/bin/apache-tomcat-8.5.70.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/
Configura Apache 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-amd64
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
Gestisci il servizio Apache 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.
Per accedere al gestore dell'applicazione web e al gestore dell'host, creeremo un utente con i ruoli manager-gui e admin-gui.
Modifica il file tomcat-users.xml per aggiungere i ruoli.
sudo nano /opt/tomcat/conf/tomcat-users.xml
Aggiungi le righe seguenti (ruolo e definizione utente) appena prima dell'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 da sistemi esterni, è necessario aggiungere la rete di origine all'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 sottostante su entrambi i file con l'IP/rete di origine da cui accedi al Web e Host Manager.
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|.*" />
.* consentirà a tutte le reti di accedere a entrambi i gestori.
O
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.0.*" />
Puoi anche consentire solo parte della tua rete. Ad esempio:per consentire solo la rete 192.168.0.0/24, puoi utilizzare quella sopra.
Riavvia il servizio Tomcat.
sudo systemctl restart tomcat
Accedi ad Apache Tomcat
Apri un browser e vai all'URL sottostante.
http://ip.add.re.ss:8080Otterresti la pagina predefinita di Apache Tomcat e questo conferma che Apache Tomcat è stato installato correttamente.
Gestione applicazioni Web
Fai clic sull' 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.
Stato del server
Inoltre, puoi controllare lo stato del server Tomcat.
Gestione host virtuale
Fai clic su Gestione host per accedere al gestore host Tomcat (accesso richiesto):Nome utente :amministratore , Password :password.
Qui puoi gestire host virtuali.
Conclusione
È tutto. Spero che tu abbia imparato come installare Apache Tomcat su Debian 11. Il sistema è ora pronto per la distribuzione della tua prima applicazione web. Come consiglio di sicurezza, considera l'implementazione di SSL/TLS per Tomcat