Introduzione
Apache Tomcat è un server di applicazioni gratuito, open source e leggero utilizzato per applicazioni Web basate su Java. Gli sviluppatori lo utilizzano per implementare le tecnologie Java Servlet e JavaServer Pages (incluso Java Expression Language e Java WebSocket).
Leggi questa guida per sapere come installare e configurare Apache Tomcat su Ubuntu 18.04.
Prerequisiti
- Una distribuzione basata su Ubuntu (come Ubuntu 18.04)
- Un account utente con sudo privilegi
- Una finestra di terminale (Ctrl –Alt –T )
- Il gestore di pacchetti apt, incluso per impostazione predefinita
Passaggi per l'installazione di Tomcat 9 su Ubuntu
Verifica se Java è installato
Prima di poter scaricare e installare Tomcat , assicurati di avere l'installazione Java richiesta per Ubuntu (OpenJDK ).
Apri il terminale (Ctrl +Alt +T ) e utilizzare il comando seguente per verificare la versione Java:
java -version
L'output mostrerà la versione Java in esecuzione sul tuo sistema. Attualmente, l'ultima versione è OpenJDK 11.0.3 :
Installa OpenJDK
Se non hai OpenJDK o hai una versione precedente a Java 8, installa la versione più recente digitando quanto segue:
sudo apt install default-jdk
Crea un utente e un gruppo Tomcat
Per motivi di sicurezza, non eseguire Tomcat con l'utente root. Crea un nuovo gruppo e un utente di sistema per eseguire il servizio Apache Tomcat da /opt/tomcat
directory.
sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Scarica Tomcat 9
1. Scarica l'ultima versione binaria di Tomcat, vai alla pagina ufficiale di download di Apache Tomcat.
2. Su di esso, trova le Distribuzioni binarie> Nucleo list e tar.gz collegamento in esso. Copia il link del file.
3. Torna al terminale e cambia in /tmp
directory con il comando:
cd /tmp
4. Ora usa il comando curl con tar.gz link copiato nel passaggio 2 per scaricare il pacchetto:
curl -O https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
Estrai il file tar.gz
1. Per estrarre il file tar.gz Tomcat, crea un nuovo /opt/tomcat/
directory con il comando:
sudo mkdir /opt/tomcat
2. Quindi, estrai il file nella nuova directory con il seguente comando:
sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1
Modifica autorizzazione utente Tomcat
Il nuovo utente Tomcat che hai creato non dispone di privilegi eseguibili, ma deve accedere alla directory di installazione. Devi configurare i privilegi di esecuzione sulla directory.
1. Spostarsi nella directory in cui si trova l'installazione di Tomcat:
cd /opt/tomcat
2. Concedi a tomcat
la proprietà del gruppo e dell'utente sulla directory di installazione gruppo e utente con il comando:
sudo chown -RH tomcat: /opt/tomcat
3. Infine, modifica le autorizzazioni dello script per concedere l'accesso all'esecuzione in /opt/tomcat/bin/with:
sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'
Crea file dell'unità di sistema
Poiché utilizzerai Tomcat come servizio, devi creare un file di servizio systemd .
1. Per configurare il file, devi prima trovare il JAVA_HOME
il percorso. Questa è la posizione esatta del pacchetto di installazione di Java.
A tale scopo, richiedere al sistema di fornire informazioni sui pacchetti Java installati sul sistema. Nel terminale, digita:
sudo update-java-alternatives -l
Come mostra l'output, sono disponibili due versioni di Java. Di conseguenza, mostra anche due percorsi che mostrano la loro posizione.
Scegli la versione che desideri utilizzare e copia la sua posizione. Con ciò, puoi passare alla creazione del file di servizio.
2. Crea e apri un nuovo file in /etc/system/system sotto il nome tomcat.service :
sudo nano /etc/systemd/system/tomcat.service
3. Una volta aperto il file, copia e incolla il contenuto di seguito, modificando il JAVA_HOME
valore alle informazioni che hai trovato nel passaggio precedente.
[Unit]
Description=Apache Tomcat Web Application Container
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 -Djava.awt.headless=true"
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
4. Salva e Esci il file (Ctrl+X , seguito da y [es] e Invio ).
5. Affinché le modifiche avvengano, ricaricare il demone di sistema con il comando:
sudo systemctl daemon-reload
6. Ora puoi finalmente avviare il servizio Tomcat:
sudo systemctl start tomcat
7. Verifica che il servizio Apache Tomcat sia in esecuzione con il comando:
sudo systemctl status tomcat
Il messaggio che desideri ricevere è che il servizio è attivo (in esecuzione) .
Regola Firewall
Se stai utilizzando un firewall per proteggere il tuo server (come dovresti), non sarai in grado di accedere all'interfaccia di Tomcat. Tomcat utilizza la porta 8080, che è al di fuori della tua rete locale.
1. Apri la porta 8080 per consentire il traffico attraverso di essa con il comando:
sudo ufw allow 8080/tcp
2. Se la porta è aperta, dovresti essere in grado di vedere la splash page di Apache Tomcat. Digita quanto segue nella finestra del browser:
http://server_ip:8080
o
http://localhost:8080
Il tuo browser web dovrebbe aprire la pagina web come nell'immagine qui sotto:
Configura l'interfaccia di gestione Web
Dopo aver verificato che il servizio funzioni correttamente, devi creare un utente che possa utilizzare l'interfaccia di gestione web.
Per fare ciò, apri e modifica il file degli utenti.
1. Apri il file degli utenti con il comando:
sudo nano /opt/tomcat/conf/tomcat-users.xml
Il file dovrebbe apparire come quello nell'immagine qui sotto:
2. Elimina tutto dal file e aggiungi quanto segue:
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="admin" password="Your_Password" roles="manager-gui, manager-script, manager-jmx, manager-status, admin-gui, admin-script"/>
</tomcat-users>
Assicurati di sostituire il Your_Password
valore con una password complessa di tua preferenza.
3. Salva e Esci il file.
Configura accesso remoto
Infine, è necessario configurare l'accesso remoto. Questo è richiesto. Per impostazione predefinita, Tomcat è accessibile solo dalla macchina locale.
1. Innanzitutto, apri il gestore file:
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
2. Successivamente, decidere se concedere l'accesso da a. ovunque oppure b. da un indirizzo IP specifico .
un. Per renderlo pubblicamente accessibile, aggiungi le seguenti righe al file:
<Context antiResourceLocking="false" privileged="true">
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+.d+|::1|0000:1" />
-->
</Context>
b. Per consentire l'accesso da un indirizzo IP specifico, aggiungi l'IP al comando precedente, come segue:
<Context antiResourceLocking="false" privileged="true">
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0000:1|THE.IP.ADDRESS." />
-->
</Context>
3. Ripeti la stessa procedura per il gestore host file.
Inizia aprendo il file con il comando:
sudo nano /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
4. A seguire concedendo l'accesso da a. ovunque oppure b. da un indirizzo IP specifico (come nel passaggio precedente).