Ricerca nel sito web

Come installare Apache Tomcat 10 su Debian 10


Su questa pagina

  1. Prerequisiti
  2. Per iniziare
  3. Installa Java
  4. Installa Apache Tomcat
  5. Crea utente Tomcat Web Admin
  6. Consenti l'accesso remoto di Tomcat
  7. Crea un file di unità Systemd per Tomcat
  8. Configura Nginx per Tomcat
  9. Accedi all'applicazione Tomcat
  10. Conclusione

Apache Tomcat è open source e il server di applicazioni Web più popolare utilizzato per ospitare applicazioni basate su Java. Viene fornito con Java Servlet, JavaServer Pages (JSP), Java EL e fornisce un ambiente per eseguire codici Java. Tomcat offre un ricco set di funzionalità tra cui, leggero, altamente flessibile, ben documentato, offre un livello extra di sicurezza, maturo e altro ancora.

In questo tutorial, spiegheremo come installare Apache Tomcat 10 su un server Debian 10.

Prerequisiti

  • Un server che esegue Debian 10.
  • Un nome di dominio valido indicato con l'IP del tuo server.
  • Sul server è configurata una password di root.

Iniziare

Prima di iniziare, aggiorna i tuoi pacchetti di sistema all'ultima versione con il seguente comando:

apt-get update -y

Una volta aggiornati tutti i pacchetti, puoi procedere al passaggio successivo.

Installa Java

Apache Tomcat è un'applicazione basata su Java. Quindi dovrai installare Java sul tuo server. Puoi installare Java con il seguente comando:

apt-get install default-jdk -y

Dopo l'installazione, verificare la versione di Java utilizzando il comando seguente:

java --version

Il seguente output ti mostrerà la versione di Java installata sul tuo server.

openjdk 11.0.11 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.11+9-post-Debian-1deb10u1, mixed mode, sharing)

Una volta terminato, puoi procedere al passaggio successivo.

Installa ApacheTomcat

Al momento della stesura di questo tutorial, l'ultima versione disponibile di Apache Tomcat è la 10.0.7.

Innanzitutto, aggiungi l'utente per eseguire Apache Tomcat utilizzando il seguente comando:

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

Successivamente, scarica Apache Tomcat 10 utilizzando il seguente comando:

wget https://mirrors.estointernet.in/apache/tomcat/tomcat-10/v10.0.7/bin/apache-tomcat-10.0.7.tar.gz

Una volta completato il download, estrai il file scaricato nella directory /opt/tomcat utilizzando il seguente comando:

tar -xzvf apache-tomcat-10.0.7.tar.gz -C /opt/tomcat --strip-components=1

Successivamente, imposta la proprietà corretta sulla directory /opt/tomcat utilizzando il seguente comando:

chown -R tomcat:tomcat /opt/tomcat/

Una volta terminato, puoi procedere al passaggio successivo.

Crea un utente amministratore Web Tomcat

Successivamente, dovrai creare un utente amministratore per accedere all'interfaccia di amministrazione di Tomcat. Puoi crearlo modificando il file tomcat-users.xml:

nano /opt/tomcat/conf/tomcat-users.xml

Aggiungere le seguenti righe prima dell'ultima riga:

<role rolename="manager-gui" />
<user username="manager" password="pasword" roles="manager-gui" />

<role rolename="admin-gui" />
<user username="admin" password="password" roles="manager-gui,admin-gui" />

Salva e chiudi il file dopo aver finito. Ora puoi procedere al passaggio successivo.

Consenti l'accesso remoto di Tomcat

Per impostazione predefinita, Tomcat è configurato per accedere solo dal sistema locale. Quindi dovrai configurare Tomcat in modo che sia possibile accedervi dal sistema remoto.

Innanzitutto, modifica il file context.xml per consentire l'accesso remoto all'applicazione Tomcat manager:

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

Rimuovi o commenta le seguenti righe:

  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

Salva e chiudi il file, quindi modifica il file context.xml per consentire l'accesso remoto all'applicazione gestore host Tomcat:

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

Rimuovi le seguenti righe:

  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

Salva e chiudi il file quando hai finito. Ora puoi procedere al passaggio successivo.

Crea un file di unità Systemd per Tomcat

Successivamente, dovrai creare un file di unità systemd per gestire il servizio Tomcat. Puoi crearlo con il seguente comando:

nano /etc/systemd/system/tomcat.service

Aggiungi le seguenti righe:

[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

Salva e chiudi il file, quindi ricarica il demone systemd per applicare le modifiche:

systemctl daemon-reload

Successivamente, avvia il servizio Tomcat e abilitalo per l'avvio al riavvio del sistema con il seguente comando:

systemctl start tomcat
systemctl enable tomcat

Ora puoi controllare lo stato del servizio Tomcat usando il seguente comando:

systemctl status tomcat

Dovresti ottenere il seguente output:

? tomcat.service - Tomcat
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
   Active: active (running) since Thu 2021-07-01 04:58:39 UTC; 15s ago
  Process: 5706 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 5713 (java)
    Tasks: 29 (limit: 2359)
   Memory: 154.7M
   CGroup: /system.slice/tomcat.service
           ??5713 /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.ut

Jul 01 04:58:39 tomcat systemd[1]: Starting Tomcat...
Jul 01 04:58:39 tomcat startup.sh[5706]: Tomcat started.
Jul 01 04:58:39 tomcat systemd[1]: Started Tomcat.

A questo punto, Tomcat è avviato e in ascolto sulla porta 8080. Puoi verificarlo con il seguente comando:

ss -antpl | grep 8080

Dovresti ottenere il seguente output:

LISTEN   0        100                          *:8080                  *:*       users:(("java",pid=5713,fd=43))

Al termine, puoi procedere al passaggio successivo.

Configura Nginx per Tomcat

Successivamente, si consiglia di utilizzare Nginx come proxy inverso per accedere all'applicazione Tomcat.

Innanzitutto, installa il server Web Nginx utilizzando il seguente comando:

apt-get install nginx -y

Una volta installato Nginx, crea un nuovo file di configurazione dell'host virtuale Nginx:

nano /etc/nginx/conf.d/tomcat.conf

Aggiungi le seguenti righe:

server {
  listen 80;

  server_name    tomcat.example.com;
  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

  location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8080/;
  }
}

Salva e chiudi il file quando hai finito, quindi verifica Nginx per eventuali errori di sintassi con il seguente comando:

nginx -t

Dovresti ottenere il seguente output:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Successivamente, riavvia Nginx per applicare le modifiche:

systemctl restart nginx

Puoi anche controllare lo stato del servizio Nginx usando il seguente comando:

systemctl status nginx

Se tutto va bene, dovresti vedere il seguente output:

? nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2021-07-01 05:00:32 UTC; 6s ago
     Docs: man:nginx(8)
  Process: 6322 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 6323 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 6324 (nginx)
    Tasks: 2 (limit: 2359)
   Memory: 2.7M
   CGroup: /system.slice/nginx.service
           ??6324 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ??6325 nginx: worker process

Jul 01 05:00:32 tomcat systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 01 05:00:32 tomcat systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Jul 01 05:00:32 tomcat systemd[1]: Started A high performance web server and a reverse proxy server.

Una volta terminato, puoi procedere al passaggio successivo.

Accedi all'applicazione Tomcat

Ora apri il tuo browser web e accedi all'applicazione Tomcat utilizzando l'URL http://tomcat.example.com. Verrai reindirizzato alla seguente pagina:

Fare clic sull'app Gestisci. Dovresti vedere la pagina di accesso dell'app Manager:

Fornisci il nome utente e la password dell'amministratore e fai clic sul pulsante Accedi. Dovresti vedere la dashboard dell'app Manager nella pagina seguente:

Per accedere a Host Manager, fai clic su Host Manager dalla home page di Tomcat. Dovresti vedere la pagina di accesso di Tomcat Host Manager:

Fornisci il nome utente e la password dell'amministratore e fai clic sul pulsante Accedi. Dovresti vedere la dashboard di Tomcat Host Manager nella pagina seguente:

Conclusione

Congratulazioni! hai installato correttamente Apache Tomcat 10 sul server Debian 10. È ora possibile creare un'applicazione Java e ospitarla utilizzando Apache Tomcat. Non esitate a chiedermi se avete domande.