Ako nainštalovať Apache Tomcat s Nginx Reverse Proxy na Ubuntu 24.04


Tento návod existuje pre tieto verzie OS

  • Ubuntu 24.04 (Noble Numbat)
  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 20.04 (Focal Fossa)
  • Ubuntu 18.04 (Bionic Beaver)
  • Ubuntu 16.04 (Xenial Xerus)
  • Ubuntu 14.04 LTS (Trusty Tahr)

Na tejto stránke

  1. Predpoklady
  2. Inštalácia Java OpenJDK
  3. Inštalácia Apache Tomcat 10
  4. Nastavenie autentifikácie Apache Tomcat
  5. Nastavenie Nginx ako reverzného proxy
  6. Záver

Apache Tomcat alebo "Tomcat" je bezplatný kontajner Java Servlet s otvoreným zdrojom pre kód a aplikácie Java. Poskytuje „čisté Java“ prostredie HTTP servera, kde sa môže spúšťať Java kód. Tomcat tiež implementuje technológie JavaServer Pages, Java Expression Language a WebSocket. Podporuje SSL na zabezpečenie citlivých údajov, ako je autentifikácia.

Táto príručka vás naučí, ako nainštalovať Apache Tomcat na server Ubuntu 24.04. Nainštalujete Apache Tomcat 10 s Java OpenJDK 21 a potom nainštalujete a nakonfigurujete Nginx ako reverzný proxy.

Predpoklady

Predtým, ako pôjdete ďalej, uistite sa, že máte:

  • Server Ubuntu 24.04.
  • Používateľ bez oprávnenia root s oprávneniami správcu.

Inštalácia Java OpenJDK

Pred inštaláciou Apache Tomcat sa musíte uistiť, že je nainštalovaná Java. Najnovší Apache Tomcat 10 vyžadoval aspoň Java 11 alebo novší. V tejto časti nainštalujete Java OpenJDK 21 z oficiálneho úložiska Ubuntu.

Ak chcete začať, aktualizujte svoj index balíkov Ubuntu pomocou príkazu nižšie.

sudo apt update

Teraz nainštalujte Java OpenJDK pomocou nasledujúceho príkazu. Na Ubuntu 24.04 sa „default-jdk“ vzťahuje na OpenJDK 21, čo je LTS verzia Java.

sudo apt install default-jdk

Ak chcete pokračovať v inštalácii, zadajte Y.

Po dokončení inštalácie skontrolujte verziu Java pomocou nasledujúceho príkazu. Mali by ste vidieť, že Java OpenJDK 21 je nainštalovaná na vašom serveri Ubuntu.

java --version

Inštalácia Apache Tomcat 10

Apache Tomcat 10 je štandardne k dispozícii v úložisku Ubuntu v najnovšej verzii Ubuntu. To vám umožní jednoducho nainštalovať Tomcat pomocou správcu balíkov APT.

Najprv skontrolujte informácie o balíku 'tomcat10' pomocou nasledujúceho príkazu.

sudo apt info tomcat10

Nasledujúce ukazuje, že Apache Tomcat 10.1.16 je k dispozícii v úložisku Ubuntu 'universe/java'.

Teraz nainštalujte Apache Tomcat do svojho systému Ubuntu pomocou príkazu nižšie. Pomocou tohto príkazu nainštalujete aj webové aplikácie Tomcat admin, nástroje na vytváranie používateľov a príklady webových aplikácií Tomcat.

sudo apt install tomcat10 tomcat10-common tomcat10-admin tomcat10-user tomcat10-examples

Zadajte Y na potvrdenie inštalácie.

Po dokončení inštalácie sa vytvorí služba 'tomcat10'.

Skontrolujte stav služby 'tomcat10' pomocou nasledujúceho príkazu:

sudo systemctl is-enabled tomcat10
sudo systemctl status tomcat10

Nižšie môžete vidieť, že služba 'tomcat10' je povolená a aktívna (spustená). Služba 'tomcat10' sa spustí automaticky pri zavádzaní systému.

Teraz spustite príkaz uvedený nižšie a skontrolujte port Apache Tomcat 8080. Ak je spustený Tomcat, uvidíte, že aplikácia Java používa port 8080.

ss -tulpn

Nakoniec navštívte http://192.168.5.30:8080/ pomocou webového prehliadača a uvidíte predvolenú indexovú stránku Apache Tomcat, ako je táto:

Nastavenie autentifikácie Apache Tomcat

V tejto časti nastavíte základné overenie a povolíte prístup správcovi a správcovi hostiteľov Tomcat. Základnú autentifikáciu Tomcat povolíte úpravou súboru 'tomcat-users.xml' a potom povolíte prístup k správcovi hostiteľov Tomcat a správcovi prostredníctvom balíka 'tomcat10-admin'.

Otvorte konfiguráciu používateľa Tomcat '/etc/tomcat10/tomcat-users.xml' pomocou nano editora.

sudo nano /etc/tomcat10/tomcat-users.xml

Vložte nasledujúcu konfiguráciu medzi ' .... '. V tomto príklade vytvoríte používateľa Apache Tomcat „admin“ s heslom „tomcatadmin“ a viacerými rolami vrátane „admin-gui“ a „manager-gui“.

<tomcat-users>
<!--
user: admin pass: tomcatadmin
-->
<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="tomcatadmin" roles="manager-gui, manager-script, manager-jmx, manager-status, admin-gui, admin-script"/>
</tomcat-users>
When finished, save and exit the file.

Teraz otvorte konfiguráciu pre Tomcat 'host-manager' a 'manager' pomocou príkazu nano editor nižšie.

sudo nano /usr/share/tomcat10-admin/host-manager/META-INF/context.xml
sudo nano /usr/share/tomcat10-admin/manager/META-INF/context.xml

Okomentujte nasledujúcu konfiguráciu pridaním „. Týmto povolíte vzdialený prístup k „host-manager“ a „manager“ Apache Tomcat.

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

Uložte a ukončite súbor.

Po úprave spustite nasledujúci príkaz, aby ste reštartovali službu „tomcat10“ a použili nové zmeny vo svojej inštalácii Apache Tomcat.

sudo systemctl restart tomcat10

Nakoniec navštívte http://192.168.5.30:8080/host-manager/ a získajte prístup k správcovi virtuálneho hostiteľa Apache Tomcat a http://192.168.5.30:8080/manager/ k správcovi Tomcat.

Po zobrazení výzvy zadajte používateľa „admin“ a heslo „tomcatadmin“.

Ak je overenie úspešné, mali by ste získať stránku správcu hostiteľa a správcu Apache Tomcat, ako je táto:

Správca Apache Tomcat.

Hostiteľský manažér Apache Tomcat.

Nastavenie Nginx ako reverzného proxy

V tejto príručke nainštalujete webový server Nginx a nakonfigurujete ho ako reverzný proxy pre vašu inštaláciu Apache Tomcat. Pomocou reverzného proxy môžete jednoducho pristupovať k svojej aplikácii Tomcat prostredníctvom názvu miestnej domény.

Ak chcete nainštalovať webový server Nginx na váš Ubuntu, spustite nasledovné:

sudo apt install nginx -y

Po dokončení inštalácie vytvorte novú konfiguráciu bloku servera '/etc/nginx/sites-available/tomcat10', ktorá sa použije ako reverzná proxy pre Apache Tomcat.

sudo nano /etc/nginx/sites-available/tomcat10

Pridajte konfiguráciu nižšie a zmeňte názov lokálnej domény pomocou možnosti server_name.

server {
 listen 80;
 server_name tomcat10.howtoforge.local;
 access_log /var/log/nginx/tomcat-access.log;
 error_log /var/log/nginx/tomcat-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/;
 }
}

Po dokončení uložte a ukončite súbor.

Teraz spustite príkaz uvedený nižšie, aby ste aktivovali konfiguráciu bloku servera „tomcat10“ a otestovali svoju syntax Nginx.

sudo ln -s /etc/nginx/sites-available/tomcat10 /etc/nginx/sites-enabled/
sudo nginx -t

Ak máte správnu a správnu syntax Nginx, uvidíte výstup „syntax je v poriadku ... test je úspešný“.

Potom spustite nasledujúci príkaz, aby ste reštartovali službu Nginx a použili blok servera „tomcat10“. Potom skontrolujte stav služby Nginx, aby ste sa uistili, že je spustená.

sudo systemctl restart nginx
sudo systemctl status nginx

Výstup nižšie ukazuje, že webový server Nginx je spustený. A k svojej inštalácii Apache Tomcat môžete pristupovať pomocou názvu domény, ako napríklad „tomcat10.howtoforge.local“.

Do súboru 'hosts' na vašom lokálnom počítači môžete pridať nasledujúcu konfiguráciu. Pre používateľov systému Linux alebo Mac pridajte do súboru '/etc/hosts' nasledovné. Pokiaľ ide o používateľov systému Windows, pridajte konfiguráciu nižšie do súboru 'C:\Windows\System32\drivers\etc\hosts'.

192.168.5.30 tomcat10.howtoforge.local

Nakoniec pomocou webového prehliadača navštívte http://tomcat10.howtoforge.local. Ak je inštalácia reverzného proxy servera Nginx úspešná, zobrazí sa stránka indexu Apache Tomcat takto:

Navštívte http://tomcat10.howtoforge.local/host-manager/ pre prístup k správcovi hostiteľov Apache Tomcat a http://tomcat10.howtoforge.local/manager/ pre prístup k správcovi Apache Tomcat. Uvidíte obe aplikácie spustené pod reverzným proxy serverom Nginx.

Záver

Gratulujem! Úspešne ste nainštalovali Apache Tomcat na server Ubuntu 24.04. Nainštalovali ste Tomcat 10 s Java OpenJDK 21 na Ubuntu. Tiež ste nainštalovali a nakonfigurovali Nginx ako reverzný proxy pre Apache Tomcat.