Apache Tomcat je open source a nejoblíbenější webový aplikační server používaný k hostování aplikací založených na Javě. Dodává se s Java Servlet, JavaServer Pages (JSP), Java EL a poskytuje prostředí pro spouštění kódů Java. Tomcat nabízí bohatou sadu funkcí včetně lehkého, vysoce flexibilního, dobře zdokumentovaného, nabízí extra úroveň zabezpečení, vyspělý a další.
V tomto tutoriálu vysvětlíme, jak nainstalovat Apache Tomcat 10 na server Debian 10.
Předpoklady
- Server se systémem Debian 10.
- Platný název domény s adresou IP vašeho serveru.
- Na serveru je nakonfigurováno heslo uživatele root.
Začínáme
Než začnete, aktualizujte systémové balíčky na nejnovější verzi pomocí následujícího příkazu:
apt-get update -y
Jakmile jsou všechny balíčky aktualizovány, můžete přejít k dalšímu kroku.
Instalovat Javu
Apache Tomcat je aplikace založená na Javě. Takže budete muset nainstalovat Javu na váš server. Java můžete nainstalovat pomocí následujícího příkazu:
apt-get install default-jdk -y
Po instalaci ověřte verzi Java pomocí příkazu níže:
java --version
Následující výstup vám ukáže verzi Java nainstalovanou na vašem serveru.
openjdk 11.0.11 2021-04-20 OpenJDK Runtime Environment (build 11.0.11+9-post-Debian-1deb10u1) OpenJDK 64-Bit Server VM (build 11.0.11+9-post-Debian-1deb10u1, mixed mode, sharing)
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalovat Apache Tomcat
V době psaní tohoto tutoriálu je nejnovější dostupná verze Apache Tomcat 10.0.7.
Nejprve přidejte uživatele pro spuštění Apache Tomcat pomocí následujícího příkazu:
useradd -m -d /opt/tomcat -U -s /bin/false tomcat
Dále si stáhněte Apache Tomcat 10 pomocí následujícího příkazu:
wget https://mirrors.estointernet.in/apache/tomcat/tomcat-10/v10.0.7/bin/apache-tomcat-10.0.7.tar.gz
Po dokončení stahování rozbalte stažený soubor do adresáře /opt/tomcat pomocí následujícího příkazu:
tar -xzvf apache-tomcat-10.0.7.tar.gz -C /opt/tomcat --strip-components=1
Dále nastavte správné vlastnictví adresáře /opt/tomcat pomocí následujícího příkazu:
chown -R tomcat:tomcat /opt/tomcat/
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Vytvořit uživatele webového správce Tomcat
Dále budete muset vytvořit administrátora pro přístup k administrátorskému rozhraní Tomcat. Můžete jej vytvořit úpravou souboru tomcat-users.xml:
nano /opt/tomcat/conf/tomcat-users.xml
Před poslední řádek přidejte následující řádky:
<role rolename="manager-gui" /> <user username="manager" password="pasword" roles="manager-gui" /> <role rolename="admin-gui" /> <user username="admin" password="password" roles="manager-gui,admin-gui" />
Po dokončení uložte a zavřete soubor. Nyní můžete přejít k dalšímu kroku.
Povolit vzdálený přístup Tomcatu
Ve výchozím nastavení je Tomcat nakonfigurován pro přístup pouze z místního systému. Budete tedy muset nakonfigurovat Tomcat tak, aby byl přístupný ze vzdáleného systému.
Nejprve upravte context.xml soubor umožňující vzdálený přístup k aplikaci Tomcat manager:
nano /opt/tomcat/webapps/manager/META-INF/context.xml
Odeberte nebo okomentujte následující řádky:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
Uložte a zavřete soubor a poté upravte context.xml soubor umožňující vzdálený přístup k aplikaci správce hostitele Tomcat:
nano /opt/tomcat/webapps/host-manager/META-INF/context.xml
Odeberte následující řádky:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
Po dokončení uložte a zavřete soubor. Nyní můžete přejít k dalšímu kroku.
Vytvoření souboru Systemd Unit pro Tomcat
Dále budete muset vytvořit soubor systemd unit pro správu služby Tomcat. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/systemd/system/tomcat.service
Přidejte následující řádky:
[Unit] Description=Tomcat 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" 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
Uložte a zavřete soubor a poté znovu načtěte démona systemd, aby se změny aplikovaly:
systemctl daemon-reload
Dále spusťte službu Tomcat a povolte její spuštění při restartu systému pomocí následujícího příkazu:
systemctl start tomcat
systemctl enable tomcat
Nyní můžete zkontrolovat stav služby Tomcat pomocí následujícího příkazu:
systemctl status tomcat
Měli byste získat následující výstup:
? tomcat.service - Tomcat Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled) Active: active (running) since Thu 2021-07-01 04:58:39 UTC; 15s ago Process: 5706 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID: 5713 (java) Tasks: 29 (limit: 2359) Memory: 154.7M CGroup: /system.slice/tomcat.service ??5713 /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.ut Jul 01 04:58:39 tomcat systemd[1]: Starting Tomcat... Jul 01 04:58:39 tomcat startup.sh[5706]: Tomcat started. Jul 01 04:58:39 tomcat systemd[1]: Started Tomcat.
V tomto okamžiku je Tomcat spuštěn a naslouchá na portu 8080. Můžete to zkontrolovat pomocí následujícího příkazu:
ss -antpl | grep 8080
Měli byste získat následující výstup:
LISTEN 0 100 *:8080 *:* users:(("java",pid=5713,fd=43))
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Konfigurace Nginx pro Tomcat
Dále se doporučuje používat Nginx jako reverzní proxy pro přístup k aplikaci Tomcat.
Nejprve nainstalujte webový server Nginx pomocí následujícího příkazu:
apt-get install nginx -y
Jakmile je Nginx nainstalován, vytvořte nový konfigurační soubor virtuálního hostitele Nginx:
nano /etc/nginx/conf.d/tomcat.conf
Přidejte následující řádky:
server { listen 80; server_name tomcat.example.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8080/; } }
Po dokončení uložte a zavřete soubor a poté ověřte, zda Nginx neobsahuje nějakou chybu syntaxe pomocí následujícího příkazu:
nginx -t
Měli byste získat následující výstup:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Poté restartujte Nginx, abyste použili změny:
systemctl restart nginx
Stav služby Nginx můžete také zkontrolovat pomocí následujícího příkazu:
systemctl status nginx
Pokud je vše v pořádku, měli byste vidět následující výstup:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2021-07-01 05:00:32 UTC; 6s ago Docs: man:nginx(8) Process: 6322 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 6323 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 6324 (nginx) Tasks: 2 (limit: 2359) Memory: 2.7M CGroup: /system.slice/nginx.service ??6324 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ??6325 nginx: worker process Jul 01 05:00:32 tomcat systemd[1]: Starting A high performance web server and a reverse proxy server... Jul 01 05:00:32 tomcat systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument Jul 01 05:00:32 tomcat systemd[1]: Started A high performance web server and a reverse proxy server.
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Přístup k aplikaci Tomcat
Nyní otevřete webový prohlížeč a otevřete aplikaci Tomcat pomocí adresy URL http://tomcat.example.com . Budete přesměrováni na následující stránku:
Klikněte na Spravovat aplikaci . Měli byste vidět přihlašovací stránku aplikace Manager:
Zadejte své administrátorské uživatelské jméno, heslo a klikněte na Přihlásit se knoflík. Na následující stránce byste měli vidět řídicí panel aplikace Manager:
Chcete-li se dostat do Správce hostitelů, klikněte na Správce hostitelů z domovské stránky Tomcat. Měla by se zobrazit přihlašovací stránka Tomcat Host Manager:
Zadejte své administrátorské uživatelské jméno, heslo a klikněte na Přihlásit se knoflík. Na následující stránce byste měli vidět řídicí panel Tomcat Host Manager:
Závěr
Gratulujeme! úspěšně jste nainstalovali Apache Tomcat 10 na server Debian 10. Nyní můžete vytvořit Java aplikaci a hostit ji pomocí Apache Tomcat. Neváhejte se mě zeptat, pokud máte nějaké otázky.