GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Tomcat 9 su Ubuntu 20.04

Questo tutorial descrive come installare e configurare Tomcat 9 su Ubuntu 20.04.

Apache Tomcat è un server Web open source e un contenitore di servlet Java. È una delle scelte più popolari per la creazione di siti Web e applicazioni basati su Java. Tomcat è leggero, facile da usare e dispone di un solido ecosistema di componenti aggiuntivi.

Installazione di Java #

Tomcat 9 richiede l'installazione di Java SE 8 o successivo sul sistema. Installeremo OpenJDK 11, l'implementazione open source della piattaforma Java.

Esegui i seguenti comandi come root o utente con privilegi sudo o root per aggiornare l'indice dei pacchetti e installare il pacchetto JDK OpenJDK 11:

sudo apt updatesudo apt install openjdk-11-jdk

Una volta completata l'installazione, verificala controllando la versione Java:

java -version

L'output dovrebbe essere simile a questo:

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, sharing)

Creazione di un utente di sistema #

L'esecuzione di Tomcat sotto l'utente root è un rischio per la sicurezza. Creeremo un nuovo utente e gruppo di sistema con la directory home /opt/tomcat che eseguirà il servizio Tomcat. Per farlo, inserisci il seguente comando:

sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

Download di Tomcat #

La distribuzione binaria di Tomcat è disponibile per il download dalla pagina dei download di Tomcat.

Al momento della scrittura, l'ultima versione di Tomcat è 9.0.35 . Prima di continuare con il passaggio successivo, controlla la pagina di download di Tomcat 9 per vedere se è disponibile una versione più recente.

Usa wget per scaricare il file zip Tomcat in /tmp directory:

VERSION=9.0.35wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz -P /tmp

Una volta completato il download, estrai il file tar nel /opt/tomcat directory::

sudo tar -xf /tmp/apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat/

Tomcat viene aggiornato regolarmente con patch di sicurezza e nuove funzionalità. Per avere un maggiore controllo su versioni e aggiornamenti, creeremo un collegamento simbolico chiamato latest , che punta alla directory di installazione di Tomcat:

sudo ln -s /opt/tomcat/apache-tomcat-${VERSION} /opt/tomcat/latest

Successivamente, durante l'aggiornamento di Tomcat, decomprimi la versione più recente e modifica il collegamento simbolico in modo che punti ad essa.

L'utente di sistema creato in precedenza deve avere accesso alla directory di installazione di Tomcat. Modifica la proprietà della directory in utente e gruppo Tomcat:

sudo chown -R tomcat: /opt/tomcat

Gli script della shell all'interno del bin di Tomcat la directory deve essere eseguibile:

sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'

Questi script vengono utilizzati per avviare, arrestare e, in altro modo, gestire l'istanza Tomcat.

Creazione del file di unità SystemD #

Invece di utilizzare gli script della shell per avviare e arrestare il server Tomcat, lo imposteremo per l'esecuzione come servizio.

Apri il tuo editor di testo e crea un tomcat.service file unit nel /etc/systemd/system/ directory:

sudo nano /etc/systemd/system/tomcat.service

Incolla la seguente configurazione:

/etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat 9 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"

Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh

[Install]
WantedBy=multi-user.target
Modifica il JAVA_HOME variabile se il percorso dell'installazione Java è diverso.

Salva e chiudi il file e notifica a systemd che esiste un nuovo file unit:

sudo systemctl daemon-reload

Abilita e avvia il servizio Tomcat:

sudo systemctl enable --now tomcat

Controlla lo stato del servizio:

sudo systemctl status tomcat

L'output dovrebbe mostrare che il server Tomcat è abilitato e in esecuzione:

● tomcat.service - Tomcat 9 servlet container
     Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2020-05-25 17:58:37 UTC; 4s ago
    Process: 5342 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
   Main PID: 5362 (java)
...

Puoi avviare, interrompere e riavviare Tomcat come qualsiasi altro servizio systemd:

sudo systemctl start tomcatsudo systemctl stop tomcatsudo systemctl restart tomcat

Configurazione del firewall #

Se il tuo server è protetto da un firewall e vuoi accedere a Tomcat dall'esterno della tua rete locale, devi aprire la porta 8080 .

Utilizzare il comando seguente per aprire la porta necessaria:

sudo ufw allow 8080/tcp
In genere, quando si esegue Tomcat in un ambiente di produzione, è necessario utilizzare un servizio di bilanciamento del carico o un proxy inverso. È consigliabile consentire l'accesso alla porta 8080 solo dalla tua rete interna.

Configurazione dell'interfaccia di gestione Web Tomcat #

A questo punto dovresti essere in grado di accedere a Tomcat con un browser web sulla porta 8080 . L'interfaccia di gestione web non è accessibile perché non abbiamo ancora creato un utente.

Gli utenti ei ruoli Tomcat sono definiti in tomcat-users.xml file. Questo file è un modello con commenti ed esempi che mostrano come creare un utente o un ruolo.

In questo esempio creeremo un utente con i ruoli "admin-gui" e "manager-gui". Il ruolo "admin-gui" consente all'utente di accedere a /host-manager/html URL e creare, eliminare e gestire in altro modo host virtuali. Il ruolo "manager-gui" consente all'utente di distribuire e annullare la distribuzione dell'applicazione Web senza dover riavviare l'intero container tramite /host-manager/html interfaccia.

Apri il tomcat-users.xml file e crea un nuovo utente, come mostrato di seguito:

sudo nano /opt/tomcat/latest/conf/tomcat-users.xml
/opt/tomcat/latest/conf/tomcat-users.xml
<tomcat-users>
<!--
    Comments
-->
   <role rolename="admin-gui"/>
   <role rolename="manager-gui"/>
   <user username="admin" password="admin_password" roles="admin-gui,manager-gui"/>
</tomcat-users>

Assicurati di modificare il nome utente e la password con qualcosa di più sicuro.

Per impostazione predefinita, l'interfaccia di gestione web di Tomcat è configurata per consentire l'accesso alle app Manager e Host Manager solo dall'host locale. Per accedere all'interfaccia web da un IP remoto, dovrai rimuovere queste restrizioni. Ciò può avere varie implicazioni sulla sicurezza e non è consigliato per i sistemi di produzione.

Per consentire l'accesso all'interfaccia web da qualsiasi luogo, apri i due file seguenti e commenta o rimuovi le righe evidenziate in giallo.

Per l'app Gestore:

sudo nano /opt/tomcat/latest/webapps/manager/META-INF/context.xml

Per l'app Host Manager:

sudo nano /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
context.xml
<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" />
-->
</Context>

Se vuoi accedere all'interfaccia web solo da un IP specifico, invece di commentare i blocchi aggiungi il tuo IP pubblico all'elenco.

Supponiamo che il tuo IP pubblico sia 41.41.41.41 e vuoi consentire l'accesso solo da quell'IP:

context.xml
<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|41.41.41.41" />
</Context>

L'elenco degli indirizzi IP consentiti è un elenco separato da una barra verticale | . Puoi aggiungere singoli indirizzi IP o utilizzare espressioni regolari.

Al termine, riavvia il servizio Tomcat per rendere effettive le modifiche:

sudo systemctl restart tomcat

Verifica l'installazione di Tomcat #

Apri il browser e digita:http://<your_domain_or_IP_address>:8080

Supponendo che l'installazione abbia esito positivo, dovrebbe apparire una schermata simile alla seguente:

Tomcat Web Application Manager è disponibile all'indirizzo:http://<your_domain_or_IP_address>:8080/manager/html .

Tomcat Virtual Host Manager è disponibile all'indirizzo:http://<your_domain_or_IP_address>:8080/host-manager/html .


Ubuntu
  1. Come installare Tomcat 9 su CentOS 7

  2. Come installare Docker su Ubuntu 18.04

  3. Come installare Tomcat su Ubuntu 18.04

  4. Come installare Tomcat 8 su Ubuntu 14.04

  5. Come installare Tomcat su Ubuntu 18.04

Come installare Apache su Ubuntu 20.04

Come installare Tomcat 8.5 su Ubuntu 18.04

Come installare Tomcat 9 su Ubuntu 18.04

Come installare Apache Tomcat 9 su Ubuntu 18.04 LTS

Come installare Apache Tomcat su Ubuntu 20.04 LTS

Come installare Tomcat su Ubuntu 20.04