Kako instalirati Apache Tomcat u Ubuntu


Ako želite pokretati web stranice koje uključuju kodiranje stranica Java poslužitelja ili Java servlete, možete koristiti Apache Tomcat. Riječ je o web poslužitelju otvorenog koda i spremniku servleta, koji je izdala Apache Software Foundation.

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

U novu verziju uvedena su sljedeća poboljšanja:

  • Dodana podrška za HTTP/2.
  • Dodana podrška za upotrebu OpenSSL-a za TLS podršku s JSSE konektorima.
  • Dodana podrška za TLS virtualne hostove (SNI).

U ovom uputstvu pokazat ćemo vam kako instalirati Apache Tomcat 9 u Ubuntu 18.10 i stariju verziju Ubuntua.

Korak 1: Instaliranje Jave

Za pokretanje Java web aplikacija, Tomcat zahtijeva da Java bude instalirana na poslužitelju. Da bismo udovoljili tom zahtjevu, instalirat ćemo OpenJDK kako je prikazano.

$ sudo apt update
$ sudo apt install default-jdk

Korak 2: Stvaranje Tomcat korisnika

Iz sigurnosnih razloga, Tomcat bi se trebao pokretati s neprivilegiranim korisnikom, tj. Bez root-a. Zbog toga ćemo stvoriti korisničku i grupnu mačku koja će pokretati uslugu. Započnite s izradom grupe tomcat:

$ sudo groupadd tomcat

Dalje ćemo stvoriti tomcat korisnika, koji će biti član tomcat grupe. Domaće mjesto ovog korisnika bit će/opt/tomcat jer ćemo ovdje instalirati Tomcat. Ljuska se postavi na/bin/false:

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

Sada smo spremni za sljedeći korak i preuzimanje Tomcata.

Korak 3: Instaliranje Apache Tomcat

Da biste preuzeli najnoviji dostupni paket, idite na Tomcatovu stranicu za preuzimanje i preuzmite najnoviju verziju.

U vrijeme pisanja ovog vodiča, najnovija verzija Tomcata je 9.0.14. Da biste preuzeli 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 zbroj datoteke, možete pokrenuti:

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

Dobivena vrijednost (hash) za obje datoteke trebala bi biti ista.

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

$ sudo mkdir /opt/tomcat

I sada možemo izvući 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 nad mapom i dozvole:

# cd /opt/tomcat

I postavite vlasnika grupe/opt/tomcat na tomcat:

$ sudo chgrp -R tomcat /opt/tomcat

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

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

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

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

Sada su postavljena odgovarajuća dopuštenja i vlasništva i spremni smo stvoriti systemd početnu datoteku koja će nam pomoći u upravljanju Tomcat procesom.

Korak 4: Stvaranje datoteke SystemD usluge za Tomcat

Budući da Tomcat želimo pokretati kao uslugu, morat ćemo imati datoteku koja će nam pomoći da lako upravljamo postupkom. U tu svrhu stvorit ćemo datoteku usluge systemd. Tomcat će morati znati gdje se Java nalazi na vašem sustavu.

Da biste pronašli to mjesto, upotrijebite sljedeću naredbu:

$ sudo update-java-alternatives -l

Izlaz te naredbe pokazat će vam mjesto JAVA_HOME.

Sada smo, koristeći te podatke, spremni stvoriti našu datoteku usluge Tomcat.

$ 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 s onim za vaš sustav. Kad budete spremni, spremite datoteku i zatvorite je. Sada, pomoću naredbe u nastavku, ponovo učitajte demon sistema da bi mogao pronaći našu novu datoteku usluge:

$ sudo systemctl daemon-reload

Zatim pokrenite Tomcat uslugu:

$ sudo systemctl start tomcat

Status usluge možete provjeriti pomoću:

$ sudo systemctl status tomcat

Sada možete testirati Tomcat u svom pregledniku koristeći IP adresu vašeg sustava praćenu zadanim vratom usluge 8080.

http://ip-address:8080

Rezultat koji biste trebali vidjeti sličan je onom prikazanom na donjoj slici:

U slučaju da ne vidite gornji izlaz, možda ćete trebati dopustiti priključak 8080 u svom vatrozidu kao što je prikazano.

$ sudo ufw allow 8080

Ako želite da se Tomcat pokrene prilikom pokretanja sustava, pokrenite:

$ systemctl enable tomcat

Korak 5: Konfiguriranje Apache Tomcat

Tomcat ima unaprijed instaliranu aplikaciju web menadžera. Da bismo je mogli koristiti, morat ćemo postaviti autentifikaciju unutar naše datoteke tomcat-users.xml. Otvorite i uredite tu datoteku svojim omiljenim uređivačem teksta:

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

Dodati ćemo korisnika koji će moći pristupiti sučelju upravitelja i administratora. Da biste konfigurirali takvog korisnika, između oznaka dodajte sljedeći redak:

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

Svakako promijenite:

  • Korisničko ime - s korisnikom kojeg želite provjeriti.
  • Lozinka - s lozinkom koju želite koristiti za provjeru autentičnosti.

Budući da je prema zadanim postavkama pristup Host Manageru i Manageru ograničen, morat ćemo ukloniti ili izmijeniti ta ograničenja. Da biste napravili takve promjene, možete učitati sljedeće datoteke:

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 tamo dopustiti svoju javnu IP adresu. U svrhu ovog vodiča komentirao sam redak:

Da biste izvršili promjene, ponovo učitajte uslugu tomcat sa:

$ sudo systemctl restart tomcat 


Sada aplikaciju upravitelja možete testirati pristupom http:// ipaddress: 8080/manager /. Kad se zatraži korisničko ime i lozinka, upotrijebite one koje ste ranije konfigurirali. Sučelje koje biste nakon toga trebali vidjeti izgleda ovako:

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

Koristeći virtualni upravitelj hosta, možete stvoriti virtualne hostove za svoje Tomcat aplikacije.

Korak 6: Testiranje Apache Tomcat stvaranjem test datoteke

Možete provjeriti radi li sve glatko, stvaranjem test datoteke u direktoriju/opt/tomcat/webapps/ROOT /.

Stvorimo takvu datoteku:

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

Spremite datoteku i postavite vlasništvo kao što je prikazano.

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

Sada tu datoteku učitajte u svoj preglednik pomoću http:// ip-adresa: 8080/tecmint.jsp.

To je to! Završili ste postavljanje vašeg Apache Tomcat poslužitelja i pokrenuli svoj prvi Java kôd. Nadamo se da vam je postupak bio jednostavan i jednostavan. Ako imate bilo kakvih problema, podijelite ih putem obrasca za komentare u nastavku.