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.