Vyhledávání na webu

Jak nainstalovat Apache Tomcat v Ubuntu


Pokud chcete spouštět webové stránky, které obsahují kódování stránek serveru Java nebo servlety Java, můžete použít Apache Tomcat. Jedná se o open source webový server a kontejner servletů, vydaný Apache Software Foundation.

Tomcat lze používat jako samostatný produkt s vlastním webovým serverem nebo jej lze kombinovat s jinými webovými servery, jako jsou Apache nebo IIS. Nejnovější verze Tomcatu je 9.0.14 a staví na Tomcat 8 a 8.5 a implementuje Servlet 4.0, JSP 2.2.

Přečtěte si také: Jak nainstalovat Apache Tomcat 9 v CentOS/RHEL

V nové verzi byla provedena následující vylepšení:

  • Přidána podpora pro HTTP/2.
  • Přidána podpora pro použití OpenSSL pro podporu TLS s konektory JSSE.
  • Přidána podpora pro virtuální hostitele TLS (SNI).

V tomto tutoriálu vám ukážeme, jak nainstalovat Apache Tomcat 9 v Ubuntu 18.10 a starší verzi Ubuntu.

Krok 1: Instalace Java

Ke spuštění webových aplikací Java vyžaduje Tomcat, aby byla na serveru nainstalována Java. Abychom tento požadavek splnili, nainstalujeme OpenJDK, jak je znázorněno.

sudo apt update
sudo apt install default-jdk

Krok 2: Vytvoření uživatele Tomcat

Z bezpečnostních důvodů by Tomcat měl být spuštěn s neprivilegovaným uživatelem, tj. bez root. Proto vytvoříme uživatelského a skupinového kocoura, který bude službu provozovat. Začněte vytvořením skupiny kocourů:

sudo groupadd tomcat

Dále vytvoříme uživatele kocoura, který bude členem skupiny kocourků. Domovské umístění tohoto uživatele bude /opt/tomcat, protože zde budeme instalovat Tomcat. Shell musí být nastaven na /bin/false:

sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Nyní jsme připraveni přistoupit k dalšímu kroku a stáhnout Tomcat.

Krok 3: Instalace Apache Tomcat

Chcete-li si stáhnout nejnovější dostupný balíček, přejděte na stránku stahování Tomcat a stáhněte si nejnovější verzi.

V době psaní tohoto návodu je nejnovější verze Tomcat 9.0.14. Chcete-li stáhnout tuto verzi, změňte aktuální adresář na něco jiného. Můžete například použít /tmp:

cd /tmp

A poté pomocí příkazu wget stáhněte archiv Tomcat:

wget http://apache.cbox.biz/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz
wget https://www.apache.org/dist/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz.sha512

Pokud chcete ověřit součet sha512 souboru, můžete spustit:


sha512sum apache-tomcat-9.0.14.tar.gz
cat apache-tomcat-9.0.14.tar.gz.sha512

Výsledná hodnota (hash) pro oba soubory by měla být stejná.

Jak již bylo zmíněno, Tomcat nainstalujeme do /opt/tomcat. Budeme muset vytvořit tento adresář:

sudo mkdir /opt/tomcat

A nyní můžeme stáhnout stažený balíček do tohoto nového adresáře:

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

Nyní přejděte do /opt/tomcat, kde aktualizujeme vlastnictví složky a oprávnění:

cd /opt/tomcat

A nastavte vlastníka skupiny /opt/tomcat na tomcat:

sudo chgrp -R tomcat /opt/tomcat

Dále aktualizujeme přístup ke čtení skupiny tomcat přes adresář conf a nastavíme oprávnění ke spouštění pro adresář:

sudo chmod -R g+r conf
sudo chmod g+x conf

Dále uděláme z uživatele Tomcat vlastníka adresářů webapps, work, temp a logs:

sudo chown -R tomcat webapps/ work/ temp/ logs/

Nyní jsou nastavena správná oprávnění a vlastnictví a jsme připraveni vytvořit startovací soubor systemd, který nám pomůže řídit proces Tomcat.

Krok 4: Vytvoření souboru služby SystemD pro Tomcat

Protože chceme provozovat Tomcat jako službu, budeme potřebovat soubor, který nám pomůže proces snadno spravovat. Za tímto účelem vytvoříme servisní soubor systemd. Tomcat bude muset vědět, kde se Java ve vašem systému nachází.

Chcete-li najít toto umístění, použijte následující příkaz:

sudo update-java-alternatives -l

Výstup tohoto příkazu vám ukáže umístění JAVA_HOME.

Nyní jsme pomocí těchto informací připraveni vytvořit soubor služby Tomcat.

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

Vložte níže uvedený kód do souboru:

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Ujistěte se, že jste nastavili JAVA_HOME na hodnotu pro váš systém. Až budete připraveni, uložte soubor a zavřete jej. Nyní pomocí níže uvedeného příkazu znovu načtěte démona systemd, aby mohl najít náš nový servisní soubor:

sudo systemctl daemon-reload

Poté spusťte službu Tomcat:

sudo systemctl start tomcat

Stav služby můžete ověřit pomocí:

sudo systemctl status tomcat

Nyní můžete otestovat Tomcat ve svém prohlížeči pomocí adresy IP vašeho systému následované výchozím portem služby 8080.

http://ip-address:8080

Výsledek, který byste měli vidět, by měl být podobný tomu, který je znázorněn na obrázku níže:

V případě, že nevidíte výše uvedený výstup, možná budete muset povolit port 8080 ve vaší bráně firewall, jak je znázorněno.

sudo ufw allow 8080

Pokud chcete, aby se Tomcat spustil při spouštění systému, spusťte:

systemctl enable tomcat

Krok 5: Konfigurace Apache Tomcat

Tomcat má předinstalovanou aplikaci pro webový správce. Abychom jej mohli používat, budeme muset nastavit ověřování v našem souboru tomcat-users.xml. Otevřete a upravte tento soubor pomocí svého oblíbeného textového editoru:

sudo vim /opt/tomcat/conf/tomcat-users.xml

Chystáme se přidat uživatele, který bude mít přístup k rozhraní správce a administrátor. Chcete-li takového uživatele nakonfigurovat, přidejte mezi značky následující řádek:

<user username="Username" password="Password" roles="manager-gui,admin-gui"/>

Nezapomeňte změnit:

  • Uživatelské jméno – s uživatelem, kterého chcete ověřit.
  • Heslo – s heslem, které chcete použít pro ověření.

Protože je ve výchozím nastavení přístup k Správci hostitelů a Správci omezen, budeme chtít tato omezení buď odstranit, nebo změnit. Chcete-li provést takové změny, můžete načíst následující soubory:

Pro aplikaci Správce:

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

Pro aplikaci Host manager:

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

Uvnitř těchto souborů můžete buď komentovat omezení IP, nebo tam povolit svou veřejnou IP adresu. Pro účely tohoto tutoriálu jsem okomentoval řádek:

Chcete-li, aby se naše změny projevily, znovu načtěte službu tomcat pomocí:

sudo systemctl restart tomcat 


Nyní můžete otestovat aplikaci
manager na adrese http://ipaddress:8080/manager/. Až budete vyzváni k zadání uživatelského jména a hesla, použijte ta, která jste nakonfigurovali dříve. Rozhraní, které byste poté měli vidět, vypadá takto:

Pro přístup ke Správci hostitelů můžete použít http://ip-address:8080/host-manager/.

Pomocí správce virtuálních hostitelů můžete vytvořit virtuální hostitele pro své aplikace Tomcat.

Krok 6: Testování Apache Tomcat vytvořením testovacího souboru

Můžete zkontrolovat, zda vše funguje hladce, vytvořením testovacího souboru v adresáři /opt/tomcat/webapps/ROOT/.

Vytvořme takový soubor:

sudo vim /opt/tomcat/webapps/ROOT/tecmint.jsp

Do tohoto souboru vložte následující kód:

<html>
<head>
<title>Tecmint post:TomcatServer</title>
</head>
<body>

<START OF JAVA CODES>
<%
    out.println("Hello World! I am running my first JSP Application");
    out.println("<BR>Tecmint is an Awesome online Linux Resource.");
%>
<END OF JAVA CODES>

</body>
</html>

Uložte soubor a nastavte vlastnictví podle obrázku.

sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/tecmint.jsp

Nyní načtěte tento soubor do prohlížeče pomocí http://ip-address:8080/tecmint.jsp.

A je to! Dokončili jste nastavení serveru Apache Tomcat a spustili svůj první kód Java. Doufáme, že tento proces byl pro vás snadný a přímočarý. Pokud narazíte na nějaké problémy, podělte se o své problémy prostřednictvím formuláře níže.