Apache Tomcat è un server Web e un servlet container sviluppato da Apache Software Foundation. Implementa diverse tecnologie Java EE tra cui Java Servlet, JavaServer Pages, Java WebSocket e Java Expression language.
Nel tutorial di oggi, ti mostreremo come installare e configurare Apache Tomcat 9 con Oracle Java 8.
Passaggio 1) Installa Oracle Java
Immettere i seguenti comandi uno alla volta nel Terminale per aggiungere il repository Java, aggiornare il sistema e installare Java.
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-set-default
Seleziona "sì" per il contratto e l'installazione continuerà. Al termine dell'installazione, puoi controllare la versione Java e Java Home dopo l'installazione come segue:
sudo java -version
sudo echo $JAVA_HOME
Fase 2) Crea un utente per Tomcat
In genere, non ti consigliamo di eseguire Tomcat con l'utente root per motivi di sicurezza. Ti consigliamo piuttosto di creare un nuovo utente e gruppo. Inoltre, installeremo Tomcat nella cartella "/opt/tomcat" da utilizzare come home directory dell'utente Tomcat.
Inizia con la creazione di un gruppo e di un utente.
sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Passaggio 3) Scarica e installa Tomcat
La versione binaria di Tomcat 9 può essere scaricata dalla pagina di download ufficiale. Puoi scaricare il file "zip" o "tar.gz" dalla distribuzione binaria nella sezione "core".
Installeremo Tomcat nella directory "/opt". Quindi scaricheremo il pacchetto in quella posizione.
Cambia directory in /opt
cd /opt
Copia l'URL di download e incollalo nel wget sottostante comando per scaricare il pacchetto Tomcat:
sudo wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz
Estrai il tar pacchetto.
sudo tar -xvzf apache-tomcat-9.0.14.tar.gz
Rinomina il file estratto come tomcat .
sudo mv apache-tomcat-9.0.14 tomcat
Modifica la proprietà e le autorizzazioni della cartella Tomcat.
sudo chown -R tomcat: tomcat
Concedi l'autorizzazione eseguita alla directory "bin".
sudo chmod o+x /opt/tomcat/bin/
Fase 4) Crea un file "systemd" per la gestione del servizio Tomcat
Per avviare e interrompere il servizio Tomcat creeremo un file chiamato "tomcat.service" in "/etc/systemd/system".
sudo vim /etc/systemd/system/tomcat.service
Aggiungi il seguente contenuto al file.
[Unit] Description=Tomcat 9 Server After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/java-8-oracle" Environment="JAVA_OPTS=-Xms512m -Xmx512m" 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 UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
Quindi salva ed esci dal file.
Riavvia "systemctl deamon".
sudo systemctl daemon-reload
Avvia il servizio Tomcat.
sudo systemctl start tomcat
Monitora il file di registro Tomcat.
tail -f /opt/tomcat/logs/catalina.out
Se non ci sono errori, otterrai un output simile al seguente:
Controlla lo stato del servizio Tomcat.
sudo systemctl status tomcat
Abilita il servizio Tomcat all'avvio del sistema:
sudo systemctl enable tomcat
La porta predefinita di Tomcat è "8080", quindi è necessario consentire quella porta sul firewall di Ubuntu.
sudo ufw allow 8080/tcp
Verifica lo stato del firewall:
sudo ufw status
Passaggio 5) Configura l'interfaccia di gestione Web Tomcat
Modifica gli utenti-tomcat file come segue per aggiungere la riga seguente prima di "". Ovviamente dovrai sostituire il nome del ruolo, username e password a piacere nel seguente comando:
sudo vim /opt/tomcat/conf/tomcat-users.xml
<role rolename="admin-gui"/> <role rolename="manager-gui"/> <user username="tomcatadmin" password="abc123" roles="admin-gui,manager-gui"/>
Riavvia Tomcat per rendere effettiva la nuova configurazione.
sudo systemctl restart tomcat
Fase 6) Prova Tomcat
Se sei arrivato così lontano con successo, dovresti essere in grado di navigare nel server Tomcat. Avvia il seguente URL nel browser.
http://serverIp:8080
Dovresti vedere la pagina come segue:
Fare clic sull'app del gestore o sull'host Manager. Dovresti vedere una richiesta per il nome utente e la password. Inserisci il nome utente e la password tomcat che sono stati creati nel file "tomcat-users.xml" nel passaggio 5.
Se tutto è andato bene, dovresti ricevere un errore "Accesso negato". Questo è del tutto normale.
Il ragionamento alla base di questo errore è che l'interfaccia di gestione web di Tomcat è configurata per limitare l'accesso alle app Manager e Host Manager solo dall'host locale. Pertanto l'accesso IP remoto dovrebbe essere abilitato. Questo non è consigliato per gli ambienti di produzione.
Tuttavia, ecco come rimuovere tali restrizioni e abilitare il nostro IP pubblico.
Apri il seguente file per Gestisci impostazioni app:
sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml
Per le configurazioni di Host Manager:
sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml
Modificare la sezione seguente in entrambi i file. Sostituisci il tuo IP pubblico con "yourIP" nel comando seguente.
<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|yourIP" /> <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/> </Context>
Riavvia Tomcat e quindi sfoglia nuovamente Tomcat, facendo clic su Manager App o Host Manager. Non dovresti vedere problemi ora.
sudo systemctl restart tomcat
Gestore app Gestore host
Stato del server
Congratulazioni! Ora hai installato e configurato correttamente Tomcat 9. Come hanno funzionato le istruzioni per te? Facci sapere il tuo feedback nei commenti qui sotto e non dimenticare di condividere il tutorial con i tuoi amici!