GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Tomcat 9 na Ubuntu 20.04

Tento tutoriál popisuje, jak nainstalovat a nakonfigurovat Tomcat 9 na Ubuntu 20.04.

Apache Tomcat je webový server s otevřeným zdrojovým kódem a kontejner servletů Java. Je to jedna z nejoblíbenějších možností pro vytváření webových stránek a aplikací založených na Javě. Tomcat je lehký, snadno se používá a má robustní ekosystém doplňků.

Instalace Java #

Tomcat 9 vyžaduje, aby byla v systému nainstalována Java SE 8 nebo novější. Nainstalujeme OpenJDK 11, open-source implementaci platformy Java.

Spusťte následující příkazy jako root nebo uživatel s právy sudo nebo root pro aktualizaci indexu balíčků a instalaci balíčku OpenJDK 11 JDK:

sudo apt updatesudo apt install openjdk-11-jdk

Jakmile je instalace dokončena, ověřte ji kontrolou verze Java:

java -version

Výstup by měl vypadat nějak takto:

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)

Vytvoření systémového uživatele #

Spuštění Tomcatu pod uživatelem root představuje bezpečnostní riziko. Vytvoříme novou systémovou skupinu uživatelů a uživatelů s domovským adresářem /opt/tomcat který bude provozovat službu Tomcat. Chcete-li tak učinit, zadejte následující příkaz:

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

Stahování Tomcat #

Binární distribuce Tomcat je k dispozici ke stažení ze stránky pro stahování Tomcat.

V době psaní tohoto článku je nejnovější verze Tomcatu 9.0.35 . Než budete pokračovat dalším krokem, podívejte se na stránku stahování Tomcat 9, abyste zjistili, zda není k dispozici novější verze.

Použijte wget ke stažení souboru zip Tomcat do /tmp adresář:

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

Po dokončení stahování rozbalte soubor tar do /opt/tomcat adresář::

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

Tomcat je pravidelně aktualizován pomocí bezpečnostních záplat a nových funkcí. Abychom měli větší kontrolu nad verzemi a aktualizacemi, vytvoříme symbolický odkaz s názvem latest , který ukazuje na instalační adresář Tomcat:

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

Později, při upgradu Tomcatu, rozbalte novější verzi a změňte symbolický odkaz tak, aby na něj ukazoval.

Systémový uživatel, který byl dříve vytvořen, musí mít přístup k instalačnímu adresáři tomcat. Změňte vlastnictví adresáře na kocour uživatele a skupiny:

sudo chown -R tomcat: /opt/tomcat

Shell skripty uvnitř bin Tomcatu adresář musí být spustitelný:

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

Tyto skripty se používají ke spuštění, zastavení a jinak ke správě instance Tomcat.

Vytváření souboru jednotky SystemD #

Namísto použití skriptů prostředí ke spouštění a zastavování serveru Tomcat jej nastavíme tak, aby se spouštěl jako služba.

Otevřete textový editor a vytvořte tomcat.service soubor jednotky v /etc/systemd/system/ adresář:

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

Vložte následující konfiguraci:

/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
Upravte JAVA_HOME proměnná, pokud je cesta k vaší instalaci Java odlišná.

Uložte a zavřete soubor a upozorněte systemd, že existuje nový soubor jednotky:

sudo systemctl daemon-reload

Povolte a spusťte službu Tomcat:

sudo systemctl enable --now tomcat

Zkontrolujte stav služby:

sudo systemctl status tomcat

Výstup by měl ukazovat, že server Tomcat je povolen a spuštěn:

● 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)
...

Tomcat můžete spustit, zastavit a restartovat stejně jako jakoukoli jinou systémovou službu:

sudo systemctl start tomcatsudo systemctl stop tomcatsudo systemctl restart tomcat

Konfigurace brány firewall #

Pokud je váš server chráněn bránou firewall a chcete k Tomcatu přistupovat zvenčí místní sítě, musíte otevřít port 8080 .

Pomocí následujícího příkazu otevřete potřebný port:

sudo ufw allow 8080/tcp
Obecně platí, že když spouštíte Tomcat v produkčním prostředí, měli byste použít nástroj pro vyrovnávání zatížení nebo reverzní proxy. Nejlepším postupem je povolit přístup k portu 8080 pouze z vaší vnitřní sítě.

Konfigurace webového rozhraní správy Tomcat #

V tuto chvíli byste měli mít přístup k Tomcatu pomocí webového prohlížeče na portu 8080 . Webové rozhraní pro správu není přístupné, protože jsme ještě nevytvořili uživatele.

Uživatelé a role Tomcat jsou definovány v tomcat-users.xml soubor. Tento soubor je šablona s komentáři a příklady, které ukazují, jak vytvořit uživatele nebo roli.

V tomto příkladu vytvoříme uživatele s rolemi „admin-gui“ a „manager-gui“. Role „admin-gui“ umožňuje uživateli přístup k /host-manager/html URL a vytvářet, mazat a jinak spravovat virtuální hostitele. Role „manager-gui“ umožňuje uživateli nasadit a zrušit nasazení webové aplikace, aniž by musel restartovat celý kontejner prostřednictvím /host-manager/html rozhraní.

Otevřete tomcat-users.xml soubor a vytvořte nového uživatele, jak je uvedeno níže:

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>

Ujistěte se, že jste změnili uživatelské jméno a heslo na něco bezpečnějšího.

Ve výchozím nastavení je webové rozhraní správy Tomcat nakonfigurováno tak, aby umožňovalo přístup k aplikacím Správce a Správce hostitelů pouze z místního hostitele. Chcete-li přistupovat k webovému rozhraní ze vzdálené IP adresy, budete muset tato omezení odstranit. To může mít různé bezpečnostní důsledky a nedoporučuje se to pro produkční systémy.

Chcete-li povolit přístup k webovému rozhraní odkudkoli, otevřete následující dva soubory a okomentujte nebo odstraňte žlutě zvýrazněné řádky.

Pro aplikaci Správce:

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

Pro aplikaci 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>

Pokud chcete k webovému rozhraní přistupovat pouze z konkrétní IP adresy, místo komentování bloků přidejte do seznamu svou veřejnou IP.

Řekněme, že vaše veřejná IP je 41.41.41.41 a chcete povolit přístup pouze z této 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>

Seznam povolených IP adres je seznam oddělený svislou čárou | . Můžete přidat jednu IP adresu nebo použít regulární výrazy.

Po dokončení restartujte službu Tomcat, aby se změny projevily:

sudo systemctl restart tomcat

Otestujte instalaci Tomcat #

Otevřete prohlížeč a zadejte:http://<your_domain_or_IP_address>:8080

Za předpokladu úspěšné instalace by se měla objevit obrazovka podobná následující:

Správce webových aplikací Tomcat je k dispozici na adrese:http://<your_domain_or_IP_address>:8080/manager/html .

Správce virtuálních hostitelů Tomcat je k dispozici na adrese:http://<your_domain_or_IP_address>:8080/host-manager/html .


Ubuntu
  1. Jak nainstalovat Tomcat na Ubuntu 18.04

  2. Jak nainstalovat Tomcat 8 na ubuntu 14.04

  3. Jak nainstalovat Tomcat na Ubuntu 18.04

  1. Jak nainstalovat Tomcat 9 na CentOS 7

  2. Jak nainstalovat Docker na Ubuntu 18.04

  3. Jak nainstalovat Apache na Ubuntu 18.04

  1. Jak nainstalovat MariaDB 10.4 na Ubuntu 18.04

  2. Jak nainstalovat MongoDB na Ubuntu 18.04

  3. Jak nainstalovat Jenkins na Ubuntu 18.04