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 ulteriore livello 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 puntato all'IP del tuo server.
- Sul server è configurata una password di root.
Per 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, verifica la versione Java utilizzando il comando seguente:
java --version
Il seguente output ti mostrerà la versione 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 Apache Tomcat
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
Quindi, scarica Apache Tomcat 10 usando 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
Quindi, imposta la proprietà corretta sulla directory /opt/tomcat utilizzando il comando seguente:
chown -R tomcat:tomcat /opt/tomcat/
Una volta terminato, puoi procedere al passaggio successivo.
Crea utente Tomcat Web Admin
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
Aggiungi 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 al termine. Ora puoi procedere al passaggio successivo.
Consenti 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 context.xml file 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 context.xml file per consentire l'accesso remoto all'applicazione di gestione host Tomcat:
nano /opt/tomcat/webapps/host-manager/META-INF/context.xml
Rimuovere 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
Quindi, avvia il servizio Tomcat e abilitalo all'avvio al riavvio del sistema con il seguente comando:
systemctl start tomcat
systemctl enable tomcat
Ora puoi controllare lo stato del servizio Tomcat utilizzando 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 ed è 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))
Una volta terminato, 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 usando 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 al termine, 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
Quindi, 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:
Fai clic su Gestisci app . Dovresti vedere la pagina di accesso dell'app Manager:
Fornisci il nome utente e la password dell'amministratore e fai clic su Accedi pulsante. 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 su Accedi pulsante. Dovresti vedere la dashboard di Tomcat Host Manager nella pagina seguente:
Conclusione
Congratulazioni! hai installato con successo Apache Tomcat 10 sul server Debian 10. Ora puoi creare un'applicazione Java e ospitarla utilizzando Apache Tomcat. Sentiti libero di chiedermi se hai domande.