Introduzione
Apache Tomcat è un server Web open source con contenitore servlet per la pubblicazione di applicazioni Web basate su Java. Tomcat è sviluppato e gestito da una comunità aperta di sviluppatori sotto gli auspici della Apache Software Foundation. Ad oggi, Tomcat 10 è l'ultima versione stabile disponibile per l'installazione su ambienti di sviluppo e produzione. Per saperne di più su Apache Tomcat, visitare il sito ufficiale di apache http://tomcat.apache.org/.
Questo tutorial ti aiuterà a installare Apache Tomcat 10 sul sistema Debian 10 Buster Linux.
Prerequisiti
Un sistema Debian 10 in esecuzione con accesso privilegiato alla shell dell'account sudo.
Se desideri installare Tomcat 10 su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.
Connessione al Server
Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:
ssh root@IP_DEL_SERVER
Successivamente sarà necessario inserire la password dell'utente root.
Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:
ssh nome_utente@IP_DEL_SERVER
Successivamente vi verrà chiesto di inserire la password del vostro utente.
La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Installare Java
Tomcat 10 richiedeva JRE 8 o versione successiva installata sul sistema. Se sul sistema non è installato JRE, utilizzare i seguenti comandi per installare OpenJDK e soddisfare i requisiti.
sudo apt update
sudo apt install default-jdk -y
Controlla la versione Java attiva corrente:
java -version
openjdk 11.0.9.1 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode, sharing)
Creare un utente Tomcat
È utile disporre di un account utente dedicato per l'esecuzione di un server Tomcat. Quindi creare un nuovo utente con il nome "tomcat", che è consigliato per motivi di sicurezza principalmente per le distribuzioni di produzione.
Per creare un nuovo account, digita:
sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat
Il comando precedente creerà un utente e un gruppo con il nome "tomcat
" nel sistema.
Installare Tomcat su Debian 10
Il team di sviluppo di Apache Tomcat rilascia periodicamente l'ultima versione di Tomcat. Quindi sarà bene controllare il download dell'ultima versione di Tomcat dal server di download ufficiale. Usa il comando seguente wget per scaricare Tomcat 10.
wget https://www-us.apache.org/dist/tomcat/tomcat-10/v10.0.4/bin/apache-tomcat-10.0.4.tar.gz
Dopo aver scaricato il file di archivio, estrai il file nella directory home di tomcat/opt/tomcat saltando la cartella principale.
sudo tar xzvf apache-tomcat-10*tar.gz -C /opt/tomcat --strip-components=1
Quindi, imposta le autorizzazioni appropriate per i file con i comandi chown e chmod.
sudo chown -R tomcat:tomcat /opt/tomcat/
sudo chmod -R u+x /opt/tomcat/bin
Ora hai l'ultima applicazione Tomcat sul tuo sistema.
Creare un utente Tomcat
Ora, configura il tuo Tomcat con gli account utente per proteggere l'accesso alle pagine di amministrazione/gestore. Per fare ciò, modifica il file conf/tomcat-users.xml nel tuo editor e incolla il seguente codice all'interno dei tag <tomcat-users> </tomcat-users>. Si consiglia di modificare la password nella configurazione seguente con una password ad alta protezione.
sudo nano /opt/tomcat/conf/tomcat-users.xml
Aggiungi i seguenti valori. Assicurati di cambiare la password per l'accesso come amministratore e gestore.
<!-- user manager can access only manager section -->
<role rolename="manager-gui" />
<user username="manager" password="_SECRET_PASSWORD_" roles="manager-gui" />
<!-- user admin can access manager and admin section both -->
<role rolename="admin-gui" />
<user username="admin" password="_SECRET_PASSWORD_" roles="manager-gui,admin-gui" />
Salva il file e chiudi.
Abilitare l'accesso Tomcat remoto
Il gestore Tomcat predefinito e le applicazioni gestore host sono accessibili solo per localhost. Per consentire l'accesso a queste pagine dal sistema remoto, è necessario modificare i seguenti file di configurazione.
È possibile consentire un sistema remoto specifico o consentire tutti. Modifica il file context.xml
per il gestore e l'applicazione gestore host:
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
Commenta la sezione aggiunta per la restrizione dell'indirizzo IP per consentire le connessioni da qualsiasi luogo:
<Context antiResourceLocking="false" privileged="true" >
<CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"
sameSiteCookies="strict" />
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
...
</Context>
Modifica anche il context.xml per l'interfaccia host-manager e commenta la sezione simile come sopra.
sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml
Salva tutti i file e chiudilo.
Creare un file di unità Systemd Tomcat
Tomcat fornisce script bash per avviare e arrestare il servizio. Ma, per semplificare, creare uno script di avvio per gestire Tomcat come servizio systemd. Creiamo un file tomcat.service con il seguente contenuto:
sudo nano /etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
Ricarica il servizio daemon systemd per caricare i file appena creati.
sudo systemctl daemon-reload
Ora avvia l'applicazione Tomcat per la prima volta.
sudo systemctl start tomcat.service
Quindi, abilita l'avvio automatico del servizio Tomcat per i successivi avviamenti del sistema. Questo è più importante per le distribuzioni di produzione.
sudo systemctl enable tomcat.service
A partire da ora, l'applicazione Tomcat è in esecuzione sul tuo sistema. È possibile verificare lo stato del servizio eseguendo il comando come di seguito. Assicurati che lo stato mostri " active (running)
".
sudo systemctl status tomcat.service
Questo è tutto. Hai configurato correttamente Tomcat 10 sul tuo sistema Debian.
Accedere all'interfaccia Web di Tomcat
Il server Tomcat predefinito viene eseguito sulla porta 8080. Dopo aver configurato Tomcat sul sistema, è possibile accedere all'interfaccia Web dal sistema. Puoi accedere alle interfacce di Tomcat inserendo l'indirizzo IP del tuo server o un nome di dominio puntato a quel server, seguito dalla porta 8080 nel tuo browser:
Cambia noviello.local
con il tuo server ip o dominio o localhost:
http://noviello.local:8080/
Vedrai la Dashboard di Tomcat.
Tomcat Manager App è un'applicazione Web fornita con l'applicazione server Tomcat. L'interfaccia Manager ci fornisce le funzionalità di base di cui abbiamo bisogno per gestire le nostre applicazioni web distribuite.
Fare clic sul pulsante Manager App
o digitare direttamente l'URL con l'aggiunta di /manager
nel browser per accedervi:
http://noviello.local:8080/manager/
L'app Tomcat Host Manager è un'altra applicazione Web inclusa nell'applicazione server Tomcat. Utilizzato per creare/rimuovere host virtuali all'interno del servizio Tomcat. Un host virtuale consente di definire più nomi host su un singolo server.
Fare clic sul pulsante Host Manager
o digitare direttamente l'URL con l'aggiunta di /host-manager
per accedervi:
http://noviello.local:8080/host-manager/
Conclusione
Congratulazioni, hai un server Tomcat in esecuzione su un sistema Debian. È possibile distribuire un'applicazione basata su Java utilizzando il server Tomcat.