GNU/Linux >> Znalost Linux >  >> Linux

Apache s Tomcat, Průvodce instalací a konfigurací krok za krokem

V tomto článku vám ukážeme, jak nainstalovat a nakonfigurovat Tomcat 10 na Ubuntu a jak jej můžeme integrovat s Apache HTTP Server pomocí konektoru mod_jk.

Apache Tomcat je webový server s otevřeným zdrojovým kódem a kontejner servletů používaný k nasazení a obsluze webových aplikací Java. Většina moderních webových frameworků Java je založena na servletech, např. JavaServer Faces, Struts, Spring atd.

Apache Tomcat také poskytuje ve výchozím nastavení HTTP konektor na portu 8080, tj. Tomcat lze také použít jako HTTP server. Ale výkon Tomcatu není tak dobrý jako výkon určeného webového serveru, jako je Apache HTTP server.

Ve většině produkce se Tomcat používá ve spojení se serverem Apache HTTP Server. Apache HTTP Server se stará o statický obsah, jako je HTML, obrázky atd., a předává požadavky na dynamický obsah Tomcatu.

Tento průvodce instalací a konfigurací platí na Apache s Tomcat 10 na Ubuntu.

1. Nainstalujte Java

Nejprve jako vždy aktualizujte své balíčky:

sudo apt update

Ke spuštění serveru Tomcat musíte mít v systému nainstalovanou Javu. Tomcat 10 vyžaduje na vašem systému nainstalovanou verzi Java SE 8 nebo vyšší. Spusťte následující příkaz a nainstalujte balíček OpenJDK 11 JDK:

sudo apt install openjdk-11-jdk

Zkontrolujte aktuální aktivní verzi Java:

java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)

2. Vytvořit systémového uživatele Tomcat

Spuštění serveru Tomcat pod rootem uživatel představuje bezpečnostní riziko. Proto doporučujeme vytvořit samostatný uživatelský účet pro provoz serveru Tomcat.

Následující příkaz vytvoří uživatele a skupinu s názvem tomcat ve vašem systému:

sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat

3. Nainstalujte a nakonfigurujte Apache Tomcat 10

Tomcat je platformově nezávislý nástroj, a pokud je nainstalovaná Java, instalace je přímočarý proces. Nejprve si musíte stáhnout požadovanou verzi z oficiálních webových stránek a poté ji rozbalit v systému souborů.

Nyní si stáhněte nejnovější binární verzi Tomcatu z oficiální stránky pro stahování Tomcat.

wget https://apache.mirrors.nublue.co.uk/tomcat/tomcat-10/v10.0.8/bin/apache-tomcat-10.0.8.tar.gz

Po dokončení stahování rozbalte soubor tar do /opt/tomcat adresář:

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

Dále nastavte správná oprávnění souboru:

sudo chown -R tomcat:tomcat /opt/tomcat/
sudo chmod -R u+x /opt/tomcat/bin

Měli byste vytvořit uživatele pro Web Application Manager na serveru Tomcat. Chcete-li používat Apache Tomcat Web Application Manager, musí být nastaven nový uživatelský účet.

Chcete-li to provést, upravte tomcat-users.xml soubor ve vašem editoru:

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

Vložte následující kód do <tomcat-users> </tomcat-users> značky. Nezapomeňte změnit PASSWORD pro přístup správce a správce.

<!-- user manager can access only manager section -->
<role rolename="manager-gui" />
<user username="manager" password="PASSWORD" roles="manager-gui" />

<!-- user admin can access manager and admin section both -->
<role rolename="admin-gui" />
<user username="admin" password="PASSWORD" roles="manager-gui,admin-gui" />

Tomcat poskytuje webovou konzolu pro správu. Výchozí server Tomcat neumožňuje vzdálený přístup aplikacím Manager a Host Manager. Můžete k nim však přistupovat pouze z localhost.

Chcete-li povolit vzdálená připojení, postupujte podle pokynů níže.

Vytvořte soubor conf/Catalina/localhost/manager.xml :

sudo vim /opt/tomcat/conf/Catalina/localhost/manager.xml

Přidejte následující obsah:

<Context privileged="true" antiResourceLocking="false" docBase="{catalina.home}/webapps/manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

Musíte také vytvořit soubor xml pro webovou aplikaci host-manager, abyste umožnili přístup vzdáleným hostitelům.

sudo vim /opt/tomcat/conf/Catalina/localhost/host-manager.xml

Přidejte následující obsah:

<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/host-manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

4. Vytvořte službu Tomcat Systemd

Potřebujeme vytvořit spouštěcí skript pro správu Tomcatu jako služby systemd. Vytvořme tomcat.service soubor.

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

Do souboru vložte následující:

[Unit]
Description=Tomcat
After=network.target

[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-11-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

Chcete-li použít změny, znovu načtěte démona systemd:

sudo systemctl daemon-reload

Nastavte Tomcat tak, aby se automaticky spouštěl při spuštění:

sudo systemctl enable tomcat

5. Nainstalujte Apache HTTP Server

Apache je k dispozici ve výchozích softwarových úložištích Ubuntu. Chcete-li jej nainstalovat, zadejte následující příkaz:

sudo apt install apache2

6. Nakonfigurujte Tomcat pro práci s Apache

K integraci procesů serveru Apache Tomcat se serverem Apache HTTP potřebujeme modul mod_jk , která implementuje rozhraní mezi Tomcat a Apache, v kombinaci s několika malými kroky ke konfiguraci Apache a Tomcatu podle našich potřeb.

6.1 Instalace modulu mod_jk

Instalace a konfigurace mod_jk je klíčem k tomu, aby webový server a aplikační server spolupracovaly. Pojďme to tedy nainstalovat:

sudo apt install libapache2-mod-jk

6.2 Konfigurace mod_jk pomocí Apache a Tomcat.

Budete muset povolit AJP Connector v Tomcat, aby server Apache mohl přesměrovat požadavky na Tomcat. Udělali jste to úpravou server.xml Tomcatu soubor.

sudo vim /opt/tomcat/conf/server.xml

Ujistěte se, že níže uvedený konektor AJP je aktivní a není zakomentován.

<Connector protocol="AJP/1.3" port="8009" secretRequired="false" redirectPort="8443" />

Potřebujeme nakonfigurovat Apache HTTP Server pro načtení a inicializaci modulu JK.

Musíme vytvořit /etc/apache2/workers.properties soubor. Tento soubor definuje seznam „pracovníků“ Tomcat, kterým může Apache předávat požadavky.

sudo vim /etc/apache2/workers.properties

a do souboru vložte následující:

# Define 1 real worker using ajp13
worker.list=worker1

# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

Dále na tento soubor odkazujte v primárním konfiguračním souboru Apache apache2.conf :

sudo vim /etc/apache2/apache2.conf

Na konec přidáme tyto řádky:

JkWorkersFile /etc/apache2/workers.properties

# Where to put jk shared memory
JkShmFile /var/log/apache2/mod_jk.shm

# Where to put jk logs
JkLogFile /var/log/apache2/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the timestamp log format
JkLogStampFormat "[ %a %b %d %H:%M:%S %Y ] "

6.3 Konfigurace, které adresy URL se mají spravovat pomocí Apache

V tomto okamžiku budete muset nakonfigurovat Apache, abyste mu řekli, které adresy URL zpracovat a předat Tomcatu a které adresy URL chcete, aby zpracovával samotný Apache.

sudo vim /etc/apache2/sites-enabled/000-default.conf

Přidejte následující řádek pod DocumentRoot vstup. To umožňuje požádat o JRS prostřednictvím webového serveru Apache.

JkMount /examples worker1
JkMount /examples/* worker1

7. Jak ověřit, že to funguje

Restartujte služby Apache a Tomcat:

sudo systemctl restart apache2
sudo systemctl restart tomcat

Po spuštění serveru otevřete internetový prohlížeč a přejděte na adresu URL http://server_ip_address:8080 . Tomcat byl nainstalován správně, pokud vidíte podobnou stránku jako na obrázku níže.

Jednoduchým způsobem, jak ověřit, že integrace mezi Apache HTTP Server a Tomcat funguje, je požádat o jeden z ukázkových souborů, které by měl Tomcat poskytovat.

Nasměrujte svůj prohlížeč na http://server_ip_address/examples/ a spusťte některé z ukázkových aplikací.

Gratulujeme! Úspěšně jste integrovali Tomcat se serverem Apache HTTP Server.


Linux
  1. Jak nakonfigurovat webový server Apache

  2. Kali Linux na VirtualBoxu:Průvodce instalací krok za krokem

  3. Průvodce Sambou pro začátečníky (instalace a konfigurace)

  1. Instalace WordPressu na Ubuntu Linux s Apache a MySQL

  2. Průvodce instalací serveru Fedora 27 se snímky obrazovky

  3. Instalační příručka VMware ESXi krok za krokem se snímky obrazovky

  1. Kali Linux Review and Installation Guide se snímky obrazovky

  2. Instalační příručka SUSE Linux Enterprise Server (SLES) 12 SP2 se snímky obrazovky

  3. Průvodce instalací základního OS 5.0 (Juno) se snímky obrazovky