GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat Tomcat 9 na CentOS 8

Apache Tomcat je open-source implementace technologií Java Servlet, JavaServer Pages, Java Expression Language a Java WebSocket. Je to dnes jeden z nejrozšířenějších aplikačních a webových serverů na světě. Tomcat se snadno používá a má robustní ekosystém doplňků.

Tento tutoriál vysvětluje, jak nainstalovat Tomcat 9.0 na CentOS 8.

Instalace Java #

Tomcat 9 vyžaduje Java SE 8 nebo novější. Nainstalujeme OpenJDK 11, open-source implementaci platformy Java.

Spusťte následující příkaz jako root nebo uživatel s právy sudo k instalaci Java:

sudo dnf install java-11-openjdk-devel

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.5" 2019-10-15 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.5+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, 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.30 . 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.

Stáhněte si soubor zip Tomcat pomocí wget do /tmp adresář:

VERSION=9.0.30wget 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. 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

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

Vytvořte skripty shellu uvnitř bin spustitelný adresář:

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

Tyto skripty se používají ke spuštění a zastavení Tomcat.

Vytvoření souboru systémové jednotky #

Místo ručního spouštění a zastavování serveru Tomcat jej nastavíme tak, aby běžel 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í obsah:

/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/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

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

Uložte a zavřete soubor.

Informujte systemd, že existuje nový soubor služby, zadáním:

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: disabled)
   Active: active (running) since Wed 2020-01-15 20:38:07 UTC; 30s ago
  Process: 3957 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
  ...

Konfigurace brány firewall #

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

Pomocí následujících příkazů otevřete potřebný port:

sudo firewall-cmd --permanent --zone=public --add-port=8080/tcpsudo firewall-cmd --reload
Při spuštění Tomcatu v produkčním prostředí byste obvykle měli 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.

Pokud soubor otevřete, všimnete si, že je plný komentářů a příkladů popisujících, jak soubor nakonfigurovat.

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

Chcete-li vytvořit nového uživatele, který má přístup k webovému rozhraní tomcat (manager-gui a admin-gui), upravte soubor, jak je uvedeno níže. Ujistěte se, že jste změnili uživatelské jméno a heslo na něco bezpečnějšího:

/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>

Ve výchozím nastavení je webové rozhraní správy Tomcat nakonfigurováno tak, aby umožňovalo přístup pouze z místního hostitele.

Pokud potřebujete přistupovat k webovému rozhraní odkudkoli, otevřete následující soubory a okomentujte nebo odstraňte žlutě zvýrazněné řádky:

/opt/tomcat/latest/webapps/manager/META-INF/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>
/opt/tomcat/latest/webapps/host-manager/META-INF/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>

Upozorňujeme, že povolení přístupu odkudkoli se nedoporučuje, protože se jedná o bezpečnostní riziko.

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

Řekněme, že vaše veřejná IP je 41.41.41.41 a chcete povolit přístup pouze z této IP:

/opt/tomcat/latest/webapps/manager/META-INF/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>
/opt/tomcat/latest/webapps/host-manager/META-INF/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

Testovací instalace #

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

Po úspěšné instalaci by se měla objevit obrazovka podobná následující:

Řídicí panel správce webových aplikací Tomcat vám umožňuje nasadit, zrušit nasazení, spustit, zastavit a znovu načíst vaše aplikace. Je k dispozici na adrese:http://<your_domain_or_IP_address>:8080/manager/html .

Řídicí panel správce virtuálních hostitelů Tomcat umožňuje vytvářet, odstraňovat a spravovat virtuální hostitele Tomcat. Je k dispozici na:http://<your_domain_or_IP_address>:8080/host-manager/html .


Cent OS
  1. Jak nainstalovat Java na CentOS 8

  2. Jak nainstalovat Apache Tomcat 8 na CentOS

  3. Jak nainstalovat Apache Tomcat na CentOS 7

  1. Jak nainstalovat Java 11 &12 na CentOS 7

  2. Jak nainstalovat GlassFish na CentOS 7

  3. Jak nainstalovat Tomcat 7 na Centos?

  1. Jak nainstalovat Java 8 &11 na Centos 8

  2. Jak nainstalovat Java na CentOS 7

  3. Jak nainstalovat Tomcat 8.5 na CentOS 7