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.