GNU/Linux >> Linux Esercitazione >  >> Linux

Apache con Tomcat, una guida passo passo all'installazione e alla configurazione

In questo articolo, ti mostreremo come installare e configurare Tomcat 10 su Ubuntu e come integrarlo con Apache HTTP Server utilizzando il connettore mod_jk.

Apache Tomcat è un server Web open source e un servlet container utilizzato per distribuire e servire applicazioni Web Java. La maggior parte dei moderni framework Web Java si basa su servlet, ad esempio JavaServer Faces, Struts, Spring, ecc.

Apache Tomcat fornisce anche per impostazione predefinita un connettore HTTP sulla porta 8080, ovvero Tomcat può essere utilizzato anche come server HTTP. Ma le prestazioni di Tomcat non sono buone come le prestazioni di un server Web designato, come il server HTTP Apache.

Nella maggior parte della produzione, Tomcat viene utilizzato insieme ad Apache HTTP Server. Apache HTTP Server si occupa di contenuti statici come HTML, immagini e così via e inoltra le richieste di contenuti dinamici a Tomcat.

Questa guida all'installazione e alla configurazione si applica ad Apache con Tomcat 10 su Ubuntu.

1. Installa Java

Per prima cosa, come sempre, aggiorna i tuoi pacchetti:

sudo apt update

Devi avere Java installato sul tuo sistema per eseguire il server Tomcat. Tomcat 10 richiede Java SE 8 o versione successiva installata sul tuo sistema. Esegui il comando seguente e installa il pacchetto JDK OpenJDK 11:

sudo apt install openjdk-11-jdk

Controlla la versione Java attiva corrente:

java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)

2. Crea utente del sistema Tomcat

Esecuzione di un server Tomcat nella root utente è un rischio per la sicurezza. Pertanto, consigliamo di creare un account utente separato per eseguire il server Tomcat.

Il comando seguente creerà un utente e un gruppo con il nome tomcat sul tuo sistema:

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

3. Installa e configura Apache Tomcat 10

Tomcat è uno strumento indipendente dalla piattaforma e, finché è installato Java, l'installazione è un processo semplice. Innanzitutto, devi scaricare la versione desiderata dal sito Web ufficiale e quindi decomprimerla sul tuo file system.

Ora scarica l'ultima versione binaria di Tomcat dalla pagina ufficiale dei download di Tomcat.

wget https://apache.mirrors.nublue.co.uk/tomcat/tomcat-10/v10.0.8/bin/apache-tomcat-10.0.8.tar.gz

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

sudo tar xzvf apache-tomcat-10*tar.gz -C /opt/tomcat --strip-components=1

Quindi, imposta le autorizzazioni file corrette:

sudo chown -R tomcat:tomcat /opt/tomcat/
sudo chmod -R u+x /opt/tomcat/bin

È necessario creare un utente per Web Application Manager nel Tomcat Server. È necessario configurare un nuovo account utente per utilizzare Apache Tomcat Web Application Manager.

Per fare ciò, modifica il tomcat-users.xml file nel tuo editor:

sudo vim /opt/tomcat/conf/tomcat-users.xml

Incolla il codice seguente all'interno di <tomcat-users> </tomcat-users> tag. Assicurati di cambiare PASSWORD per l'accesso come amministratore e gestore.

<!-- user manager can access only manager section -->
<role rolename="manager-gui" />
<user username="manager" password="PASSWORD" roles="manager-gui" />

<!-- user admin can access manager and admin section both -->
<role rolename="admin-gui" />
<user username="admin" password="PASSWORD" roles="manager-gui,admin-gui" />

Tomcat fornisce una console di amministrazione basata sul Web. Il server Tomcat predefinito non consente l'accesso remoto per le applicazioni Manager e Host Manager. Tuttavia, puoi accedervi solo da localhost.

Per abilitare le connessioni remote, segui le istruzioni seguenti.

Crea un file conf/Catalina/localhost/manager.xml :

sudo vim /opt/tomcat/conf/Catalina/localhost/manager.xml

Aggiungi il seguente contenuto:

<Context privileged="true" antiResourceLocking="false" docBase="{catalina.home}/webapps/manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

È inoltre necessario creare un file xml per l'app Web del gestore host per consentire l'accesso agli host remoti.

sudo vim /opt/tomcat/conf/Catalina/localhost/host-manager.xml

Aggiungi il seguente contenuto:

<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/host-manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

4. Crea un servizio Tomcat Systemd

Dobbiamo creare uno script di avvio per gestire Tomcat come servizio systemd. Creiamo un tomcat.service file.

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

Incolla quanto segue nel file:

[Unit]
Description=Tomcat
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"
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 demone systemd per applicare le modifiche:

sudo systemctl daemon-reload

Imposta Tomcat per l'avvio automatico all'avvio:

sudo systemctl enable tomcat

5. Installa il server HTTP Apache

Apache è disponibile all'interno dei repository software predefiniti di Ubuntu. Per installarlo, digita il seguente comando:

sudo apt install apache2

6. Configura Tomcat per funzionare con Apache

Per integrare i processi del server Apache Tomcat con il server HTTP Apache, abbiamo bisogno del modulo mod_jk , che implementa l'interfaccia tra Tomcat e Apache, unita ad alcuni piccoli passaggi per configurare Apache e Tomcat secondo le nostre esigenze.

6.1 Installare il modulo mod_jk

Installazione e configurazione di mod_jk è la chiave per far funzionare insieme il server Web e il server delle applicazioni. Quindi installiamolo:

sudo apt install libapache2-mod-jk

6.2 Configurazione di mod_jk con Apache e Tomcat.

Dovrai abilitare il connettore AJP in Tomcat in modo che il server Apache possa reindirizzare le richieste a Tomcat. L'hai fatto modificando il server.xml di Tomcat file.

sudo vim /opt/tomcat/conf/server.xml

Assicurati che il connettore AJP qui sotto sia attivo e non commentato.

<Connector protocol="AJP/1.3" port="8009" secretRequired="false" redirectPort="8443" />

Abbiamo bisogno di configurare il server HTTP Apache per caricare e inizializzare il modulo JK.

Dobbiamo creare il /etc/apache2/workers.properties file. Questo file definisce un elenco di "lavoratori" Tomcat a cui Apache può passare le richieste.

sudo vim /etc/apache2/workers.properties

e incolla quanto segue nel file:

# Define 1 real worker using ajp13
worker.list=worker1

# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

Quindi, fai riferimento a questo file nel file di configurazione di Apache principale apache2.conf :

sudo vim /etc/apache2/apache2.conf

Aggiungiamo queste righe alla fine:

JkWorkersFile /etc/apache2/workers.properties

# Where to put jk shared memory
JkShmFile /var/log/apache2/mod_jk.shm

# Where to put jk logs
JkLogFile /var/log/apache2/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the timestamp log format
JkLogStampFormat "[ %a %b %d %H:%M:%S %Y ] "

6.3 Configura quali URL gestire con Apache

A questo punto, dovrai configurare Apache per dirgli quali URL elaborare e trasferire a Tomcat e quali URL desideri che lo stesso Apache elabori.

sudo vim /etc/apache2/sites-enabled/000-default.conf

Aggiungi la seguente riga sotto DocumentRoot iscrizione. Ciò rende possibile richiedere il JRS tramite il server web Apache.

JkMount /examples worker1
JkMount /examples/* worker1

7. Come verificare che funzioni

Riavvia i servizi Apache e Tomcat:

sudo systemctl restart apache2
sudo systemctl restart tomcat

Una volta avviato il server, apri il browser Internet e vai all'URL http://server_ip_address:8080 . Tomcat è stato installato correttamente se vedi una pagina simile a quella dell'immagine qui sotto.

Un modo semplice per verificare che l'integrazione tra Apache HTTP Server e Tomcat funzioni è richiedere uno dei file di esempio che Tomcat dovrebbe fornire.

Punta il tuo browser su http://server_ip_address/examples/ ed esegui alcune delle applicazioni di esempio.

Congratulazioni! Hai integrato con successo Tomcat con Apache HTTP Server.


Linux
  1. Come configurare un server web Apache

  2. Installazione WordPress su Ubuntu Linux con Apache e MySQL

  3. Kali Linux su VirtualBox:una guida all'installazione passo passo

  4. Guida all'installazione dettagliata di VMware ESXi con schermate

  5. Guida per principianti a Samba (Installazione e configurazione)

Installazione e configurazione di Univention Corporate Server

Apache Cassandra:funzionalità e installazione

Come installare e configurare ModEvasive con Apache su Ubuntu 18.04

Installazione e primi passi con Git

Configurazione e guida del bootloader Linux LILO

Guida per principianti ad Apache HTTP Server – Installazione e configurazione