Kako instalirati Apache Tomcat u Ubuntu


Ako želite pokrenuti web stranice koje uključuju kodiranje stranica Java servera ili Java servlete, možete koristiti Apache Tomcat. To je open source web server i servlet kontejner, koji je izdala Apache Software Foundation.

Tomcat se može koristiti kao samostalan proizvod, sa vlastitim web serverom ili se može kombinirati sa drugim web serverima kao što su Apache ili IIS. Najnovija verzija Tomcata je 9.0.14 i nadograđuje se na Tomcat 8 i 8.5 i implementira Servlet 4.0, JSP 2.2.

Pročitajte također: Kako instalirati Apache Tomcat 9 u CentOS/RHEL

U novoj verziji napravljena su sljedeća poboljšanja:

  • Dodata podrška za HTTP/2.
  • Dodata podrška za korištenje OpenSSL za TLS podršku sa JSSE konektorima.
  • Dodata podrška za TLS virtuelne hostove (SNI).

U ovom vodiču ćemo vam pokazati kako da instalirate Apache Tomcat 9 u Ubuntu 18.10 i starijoj verziji Ubuntua.

Korak 1: Instaliranje Jave

Za pokretanje Java web aplikacija, Tomcat zahtijeva da Java bude instalirana na serveru. Da bismo ispunili taj zahtjev, instalirat ćemo OpenJDK kao što je prikazano.

sudo apt update
sudo apt install default-jdk

Korak 2: Kreiranje Tomcat korisnika

Iz sigurnosnih razloga, Tomcat bi trebao biti pokrenut s neprivilegiranim korisnikom, tj. bez root-a. Zbog toga ćemo kreirati korisnički i grupni tomcat koji će pokretati servis. Započnite kreiranjem grupe tomcat:

sudo groupadd tomcat

Zatim ćemo kreirati tomcat korisnika, koji će biti član tomcat grupe. Početna lokacija ovog korisnika bit će /opt/tomcat jer ćemo ovdje instalirati Tomcat. Shell je postavljen na /bin/false:

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

Sada smo spremni da nastavimo sa sledećim korakom i preuzmemo Tomcat.

Korak 3: Instaliranje Apache Tomcat-a

Da preuzmete najnoviji dostupni paket, idite na Tomcat stranicu za preuzimanje i uzmite najnoviju verziju.

U vrijeme pisanja ovog vodiča, najnovija verzija Tomcata je 9.0.14. Da preuzmete tu verziju, promijenite svoj trenutni direktorij u nešto drugo. Na primjer, možete koristiti /tmp:

cd /tmp

A zatim pomoću naredbe wget za preuzimanje Tomcat arhive:

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

Ako želite provjeriti sha512 sumu datoteke možete pokrenuti:


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

Rezultirajuća vrijednost (hash) za obje datoteke treba biti ista.

Kao što je ranije spomenuto, instalirat ćemo Tomcat u /opt/tomcat. Morat ćemo kreirati taj direktorij:

sudo mkdir /opt/tomcat

I sada možemo izdvojiti preuzeti paket u taj novi direktorij:

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

Sada idite na /opt/tomcat odakle ćemo ažurirati vlasništvo foldera i dozvole:

cd /opt/tomcat

I postavite vlasnika grupe /opt/tomcat na tomcat:

sudo chgrp -R tomcat /opt/tomcat

Zatim ćemo ažurirati pristup za čitanje tomcat grupe preko conf direktorija i postaviti dozvole za izvršavanje direktorija:

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

Zatim ćemo tomcat korisnika učiniti vlasnikom direktorija webapps, work, temp i logs:

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

Sada su odgovarajuće dozvole i vlasništvo postavljene i spremni smo za kreiranje systemd početne datoteke, koja će nam pomoći da upravljamo Tomcat procesom.

Korak 4: Kreiranje SystemD servisne datoteke za Tomcat

Budući da želimo pokrenuti Tomcat kao uslugu, morat ćemo imati datoteku koja će nam pomoći da lakše upravljamo procesom. U tu svrhu ćemo kreirati systemd servisni fajl. Tomcat će morati znati gdje se Java nalazi na vašem sistemu.

Da biste pronašli tu lokaciju koristite sljedeću naredbu:

sudo update-java-alternatives -l

Izlaz te naredbe će vam pokazati lokaciju JAVA_HOME.

Sada, koristeći te informacije, spremni smo za kreiranje našeg Tomcat servisnog fajla.

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

Zalijepite donji kod u datoteku:

[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

Obavezno postavite JAVA_HOME sa onim za vaš sistem. Kada budete spremni, sačuvajte datoteku i zatvorite je. Sada, koristeći naredbu ispod, ponovo učitajte systemd demona tako da može pronaći naš novi servisni fajl:

sudo systemctl daemon-reload

Zatim pokrenite Tomcat uslugu:

sudo systemctl start tomcat

Status usluge možete provjeriti sa:

sudo systemctl status tomcat

Sada možete testirati Tomcat u svom pretraživaču koristeći IP adresu vašeg sistema praćenu zadanim portom usluge 8080.

http://ip-address:8080

Rezultat koji biste trebali vidjeti biti sličan onom prikazanom na slici ispod:

U slučaju da ne vidite gornji izlaz, možda ćete morati dozvoliti port 8080 u vašem zaštitnom zidu kao što je prikazano.

sudo ufw allow 8080

Ako želite da se Tomcat pokrene pri pokretanju sistema, pokrenite:

systemctl enable tomcat

Korak 5: Konfiguriranje Apache Tomcata

Tomcat ima aplikaciju za web menadžer koja je unaprijed instalirana. Da bismo ga koristili, morat ćemo podesiti autentifikaciju unutar naše datoteke tomcat-users.xml. Otvorite i uredite tu datoteku sa svojim omiljenim uređivačem teksta:

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

Dodaćemo korisnika koji će moći pristupiti interfejsima menadžera i admina. Da biste konfigurirali takvog korisnika, između oznaka dodajte sljedeći red:

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

Obavezno promijenite:

  • Korisničko ime – sa korisnikom kojeg želite autentifikovati.
  • Lozinka – sa lozinkom koju želite koristiti za autentifikaciju.

Budući da je prema zadanim postavkama pristup Host Manageru i Manageru ograničen, željet ćemo ili ukloniti ili izmijeniti ova ograničenja. Da izvršite takve promjene možete učitati sljedeće fajlove:

Za aplikaciju Manager:

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

Za aplikaciju Host Manager:

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

Unutar tih datoteka možete komentirati IP ograničenje ili dozvoliti svoju javnu IP adresu tamo. Za potrebe ovog tutorijala, komentirao sam red:

Da bi naše promjene bile aktivne, ponovo učitajte uslugu tomcat sa:

sudo systemctl restart tomcat 


Sada možete testirati
aplikaciju menadžera tako što ćete pristupiti http://ipaddress:8080/manager/. Kada se od vas zatraži korisničko ime i lozinka, koristite one koje ste prethodno konfigurirali. Interfejs koji biste trebali vidjeti nakon toga izgleda ovako:

Za pristup Host manageru, možete koristiti http://ip-address:8080/host-manager/.

Koristeći virtualni host manager, možete kreirati virtualne hostove za vaše Tomcat aplikacije.

Korak 6: Testiranje Apache Tomcat-a kreiranjem probne datoteke

Možete provjeriti da li sve radi glatko, kreiranjem probne datoteke unutar direktorija /opt/tomcat/webapps/ROOT/.

Kreirajmo takav fajl:

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

Unutar te datoteke zalijepite sljedeći kod:

<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>

Sačuvajte datoteku i postavite vlasništvo kao što je prikazano.

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

Sada učitajte tu datoteku u svoj pretraživač koristeći http://ip-address:8080/tecmint.jsp.

To je to! Završili ste podešavanje vašeg Apache Tomcat servera i pokrenuli svoj prvi Java kod. Nadamo se da je proces za vas bio lak i jasan. Ako naiđete na bilo kakve probleme, podijelite svoje probleme putem obrasca za komentare ispod.