Úvod
Apache Tomcat je bezplatný, odlehčený aplikační server s otevřeným zdrojovým kódem používaný pro webové aplikace založené na Javě. Vývojáři jej používají k implementaci technologií Java Servlet a JavaServer Pages (včetně jazyka Java Expression Language a Java WebSocket).
Přečtěte si tuto příručku, kde se dozvíte, jak nainstalovat a nakonfigurovat Apache Tomcat na Ubuntu 18.04.
Předpoklady
- Distribuce založená na Ubuntu (jako je Ubuntu 18.04)
- Uživatelský účet s sudo privilegia
- Okno terminálu (Ctrl –Alt –T )
- Správce balíčků apt, který je součástí výchozího nastavení
Kroky pro instalaci Tomcat 9 na Ubuntu
Zkontrolujte, zda je Java nainstalována
Než si budete moci stáhnout a nainstalovat Tomcat , ujistěte se, že máte požadovanou instalaci Java pro Ubuntu (OpenJDK ).
Otevřete terminál (Ctrl +Alt +T ) a použijte následující příkaz zkontrolujte verzi Java:
java -version
Výstup zobrazí verzi Java běžící na vašem systému. V současné době je nejnovější verzí OpenJDK 11.0.3 :
Nainstalujte OpenJDK
Pokud nemáte OpenJDK nebo máte verzi starší než Java 8, nainstalujte nejnovější verzi zadáním následujícího:
sudo apt install default-jdk
Vytvoření uživatele a skupiny Tomcat
Z bezpečnostních důvodů nespouštějte Tomcat pod uživatelem root. Vytvořte novou skupinu a systémového uživatele pro spuštění služby Apache Tomcat z /opt/tomcat
adresář.
sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Stáhněte si Tomcat 9
1. Stáhněte si nejnovější binární verzi Tomcat a přejděte na oficiální stránku stahování Apache Tomcat.
2. Najděte na něm Binární distribuce> Jádro seznam a tar.gz odkaz v něm. Zkopírujte odkaz na soubor.
3. Vraťte se zpět do terminálu a přejděte na /tmp
adresář s příkazem:
cd /tmp
4. Nyní použijte příkaz curl s tar.gz odkaz, který jste zkopírovali v kroku 2 ke stažení balíčku:
curl -O https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
Rozbalit soubor tar.gz
1. Chcete-li extrahovat soubor tar.gz Tomcat, vytvořte nový /opt/tomcat/
adresář s příkazem:
sudo mkdir /opt/tomcat
2. Poté extrahujte soubor do nového adresáře pomocí následujícího příkazu:
sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1
Upravit oprávnění uživatele Tomcat
Nový uživatel Tomcat, kterého jste vytvořili, nemá oprávnění ke spuštění, ale potřebuje přístup k instalačnímu adresáři. Musíte nastavit oprávnění ke spuštění nad adresářem.
1. Přesuňte se do adresáře, kde je umístěna instalace Tomcat:
cd /opt/tomcat
2. Udělte vlastnictví skupiny a uživatele nad instalačním adresářem tomcat
skupiny a uživatele pomocí příkazu:
sudo chown -RH tomcat: /opt/tomcat
3. Nakonec změňte oprávnění skriptu tak, aby udělil přístup ke spuštění v /opt/tomcat/bin/with:
sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'
Vytvořit soubor systémové jednotky
Protože se chystáte používat Tomcat jako službu, musíte vytvořit soubor služby systemd .
1. Chcete-li soubor nakonfigurovat, musíte nejprve najít JAVA_HOME
cesta. Toto je přesné umístění instalačního balíčku Java.
Chcete-li tak učinit, požádejte systém, aby vám poskytl informace o balíčcích Java nainstalovaných v systému. V terminálu zadejte:
sudo update-java-alternatives -l
Jak ukazuje výstup, existují dvě dostupné verze Javy. V souladu s tím také ukazuje dvě cesty zobrazující jejich umístění.
Vyberte verzi, kterou chcete použít, a zkopírujte její umístění. S tím můžete přejít k vytvoření souboru služby.
2. Vytvořte a otevřete nový soubor v /etc/system/system pod názvem tomcat.service :
sudo nano /etc/systemd/system/tomcat.service
3. Jakmile se soubor otevře, zkopírujte a vložte níže uvedený obsah a změňte JAVA_HOME
hodnotu k informacím, které jste našli v předchozím kroku.
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
4. Uložit a Ukončit soubor (Ctrl+X , následované y [es] a Enter ).
5. Aby se změny projevily, znovu načtěte systémového démona příkazem:
sudo systemctl daemon-reload
6. Nyní můžete konečně spustit službu Tomcat:
sudo systemctl start tomcat
7. Ověřte, že služba Apache Tomcat běží pomocí příkazu:
sudo systemctl status tomcat
Zpráva, kterou chcete obdržet, je, že služba je aktivní (běžící) .
Upravte bránu firewall
Pokud k ochraně serveru používáte bránu firewall (jak byste měli), nebudete mít přístup k rozhraní Tomcat. Tomcat používá port 8080, který je mimo vaši místní síť.
1. Otevřete port 8080 a povolte provoz přes něj příkazem:
sudo ufw allow 8080/tcp
2. Pokud je port otevřený, měli byste vidět úvodní stránku Apache Tomcat. Do okna prohlížeče zadejte následující:
http://server_ip:8080
nebo
http://localhost:8080
Váš webový prohlížeč by měl otevřít webovou stránku jako na obrázku níže:
Konfigurace rozhraní webové správy
Jakmile ověříte, že služba funguje správně, musíte vytvořit uživatele, který bude moci používat webové rozhraní pro správu.
Chcete-li to provést, otevřete a upravte soubor users.
1. Otevřete soubor uživatele pomocí příkazu:
sudo nano /opt/tomcat/conf/tomcat-users.xml
Soubor by měl vypadat jako na obrázku níže:
2. Odstraňte vše ze souboru a přidejte následující:
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users>
<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="Your_Password" roles="manager-gui, manager-script, manager-jmx, manager-status, admin-gui, admin-script"/>
</tomcat-users>
Nezapomeňte nahradit Your_Password
hodnotu se silným heslem dle vašich preferencí.
3. Uložit a Ukončit soubor.
Konfigurace vzdáleného přístupu
Nakonec musíte nakonfigurovat vzdálený přístup. Toto je vyžadováno. Ve výchozím nastavení je Tomcat přístupný pouze z místního počítače.
1. Nejprve otevřete správce soubor:
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
2. Dále se rozhodněte, zda udělit přístup od a. kdekoli nebo b. z konkrétní IP adresy .
A. Chcete-li jej zpřístupnit veřejnosti, přidejte do souboru následující řádky:
<Context antiResourceLocking="false" privileged="true">
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+.d+|::1|0000:1" />
-->
</Context>
b. Chcete-li povolit přístup z konkrétní adresy IP, přidejte IP k předchozímu příkazu následovně:
<Context antiResourceLocking="false" privileged="true">
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0000:1|THE.IP.ADDRESS." />
-->
</Context>
3. Opakujte stejný postup pro host-manager soubor.
Začněte otevřením souboru příkazem:
sudo nano /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
4. Následuje udělení přístupu od a. kdekoli nebo b. z konkrétní IP adresy (jako v předchozím kroku).