Kako namestiti Apache Tomcat v Ubuntu
Če želite zagnati spletne strani, ki vključujejo kodiranje strani strežnika Java ali strežnike Java, lahko uporabite Apache Tomcat. Gre za odprtokodni spletni strežnik in vsebnik servlet, ki ga je izdala Apache Software Foundation.
Tomcat se lahko uporablja kot samostojen izdelek z lastnim spletnim strežnikom ali pa ga lahko kombinirate z drugimi spletnimi strežniki, kot sta Apache ali IIS. Najnovejša različica Tomcata je 9.0.14 in temelji na Tomcatu 8 in 8.5 ter izvaja Servlet 4.0, JSP 2.2.
V novi različici so bile narejene naslednje izboljšave:
- Dodana podpora za HTTP/2.
- Dodana podpora za uporabo OpenSSL za podporo TLS s priključki JSSE.
- Dodana podpora za navidezne gostitelje TLS (SNI).
V tej vadnici vam bomo pokazali, kako namestiti Apache Tomcat 9 v Ubuntu 18.10 in starejšo različico Ubuntuja.
1. korak: Namestitev Jave
Za zagon spletnih aplikacij Java potrebuje Tomcat namestitev Jave na strežnik. Za izpolnitev te zahteve bomo namestili OpenJDK, kot je prikazano.
$ sudo apt update $ sudo apt install default-jdk
2. korak: Ustvarjanje uporabnika Tomcat
Zaradi varnostnih razlogov je treba Tomcat zagnati z neprivilegiranim uporabnikom, tj. Brez korenskega. Zato bomo ustvarili uporabnika in skupino tomcat, ki bo izvajala storitev. Začnite z ustvarjanjem skupine tomcat:
$ sudo groupadd tomcat
Nato bomo ustvarili uporabnika tomcat, ki bo član skupine tomcat. Domača lokacija tega uporabnika bo /opt /tomcat, saj bomo tukaj namestili Tomcat. Lupina je nastavljena na /bin /false:
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Zdaj smo pripravljeni, da nadaljujemo z naslednjim korakom in naložimo Tomcat.
3. korak: Namestitev Apache Tomcat
Če želite prenesti najnovejši razpoložljivi paket, pojdite na Tomcatovo stran za prenos in vzemite najnovejšo različico.
V času pisanja te vadnice je najnovejša različica Tomcata 9.0.14. Če želite prenesti to različico, spremenite svoj trenutni imenik v nekaj drugega. Uporabite lahko na primer /tmp:
# cd /tmp
Nato z ukazom wget naložite arhiv Tomcat:
$ 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
Če želite preveriti vsoto datoteke sha512, ki jo lahko zaženete:
$ sha512sum apache-tomcat-9.0.14.tar.gz $ cat apache-tomcat-9.0.14.tar.gz.sha512
Nastala vrednost (razpršitev) za obe datoteki mora biti enaka.
Kot smo že omenili, bomo namestili Tomcat v /opt /tomcat. Ta imenik bomo morali ustvariti:
$ sudo mkdir /opt/tomcat
In zdaj lahko v tem novem imeniku izvlečemo preneseni paket:
$ sudo tar xzvf apache-tomcat-9.0.14.tar.gz -C /opt/tomcat --strip-components=1
Zdaj se pomaknite do /opt /tomcat, od koder bomo posodobili lastništvo mape in dovoljenja:
# cd /opt/tomcat
Lastnika skupine /opt /tomcat nastavite na tomcat:
$ sudo chgrp -R tomcat /opt/tomcat
Nato bomo v imeniku conf posodobili dostop za branje skupine tomcat in v imenik nastavili dovoljenja za izvajanje:
$ sudo chmod -R g+r conf $ sudo chmod g+x conf
Nato bomo uporabniku tomcat postavili lastnika imenikov webapps, work, temp in logs:
$ sudo chown -R tomcat webapps/ work/ temp/ logs/
Zdaj so določena ustrezna dovoljenja in lastništva in pripravljeni smo ustvariti sistemsko začetno datoteko, ki nam bo pomagala pri upravljanju procesa Tomcat.
4. korak: Ustvarjanje storitvene datoteke SystemD za Tomcat
Ker želimo Tomcat zagnati kot storitev, bomo morali imeti datoteko, ki nam bo olajšala upravljanje procesa. V ta namen bomo ustvarili sistemsko datoteko storitve. Tomcat bo moral vedeti, kje se Java nahaja v vašem sistemu.
Če želite najti to lokacijo, uporabite naslednji ukaz:
$ sudo update-java-alternatives -l
Izhod tega ukaza vam pokaže lokacijo JAVA_HOME.
Zdaj smo z uporabo teh podatkov pripravljeni ustvariti datoteko storitve Tomcat.
$ sudo vim /etc/systemd/system/tomcat.service
V datoteko prilepite spodnjo kodo:
[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
Ne pozabite nastaviti JAVA_HOME s tistim za vaš sistem. Ko ste pripravljeni, shranite datoteko in jo zaprite. Zdaj s spodnjim ukazom znova naložite demon systemd, da bo našel našo novo datoteko storitve:
$ sudo systemctl daemon-reload
Nato zaženite storitev Tomcat:
$ sudo systemctl start tomcat
Stanje storitve lahko preverite z:
$ sudo systemctl status tomcat
Zdaj lahko v brskalniku preizkusite Tomcat z uporabo naslova IP vašega sistema, ki mu sledijo privzeta vrata storitve 8080.
http://ip-address:8080
Rezultat, ki bi ga morali videti, je podoben tistemu, ki je prikazan na spodnji sliki:
Če zgornjega izhoda ne vidite, boste morda morali v požarnem zidu dovoliti vrata 8080, kot je prikazano.
$ sudo ufw allow 8080
Če želite, da se Tomcat zažene ob zagonu sistema, zaženite:
$ systemctl enable tomcat
5. korak: Konfiguriranje Apache Tomcat
Tomcat ima vnaprej nameščeno aplikacijo za spletno upravljanje. Če ga želimo uporabiti, bomo morali v datoteki tomcat-users.xml nastaviti avtentikacijo. Odprite in uredite to datoteko s svojim najljubšim urejevalnikom besedil:
$ sudo vim /opt/tomcat/conf/tomcat-users.xml
Dodali bomo uporabnika, ki bo imel dostop do vmesnikov upravitelja in skrbnika. Če želite konfigurirati takega uporabnika, med oznakami
dodajte naslednjo vrstico:
<user username="Username" password="Password" roles="manager-gui,admin-gui"/>
Ne pozabite spremeniti:
- Uporabniško ime - z uporabnikom, ki ga želite preveriti.
- Geslo - z geslom, ki ga želite uporabiti za preverjanje pristnosti.
Ker je privzeto omejen dostop do upravitelja gostiteljev in upravitelja, bomo te omejitve morali odstraniti ali spremeniti. Če želite narediti takšne spremembe, lahko naložite naslednje datoteke:
Za aplikacijo Manager:
$ sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml
Za aplikacijo Host manager:
$ sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml
V teh datotekah lahko komentirate omejitev IP ali dovolite svoj javni naslov IP. Za namene te vadnice sem komentiral vrstico:
Če želite, da bodo naše spremembe v živo, znova naložite storitev tomcat z:
$ sudo systemctl restart tomcat
Zdaj lahko preizkusite aplikacijo upravitelja z dostopom do http:// ipaddress: 8080/manager/. Ko boste pozvani k vnosu uporabniškega imena in gesla, uporabite tiste, ki ste jih konfigurirali prej. Vmesnik, ki bi ga morali videti po tem, izgleda tako:
Za dostop do upravitelja gostiteljev lahko uporabite http:// ip-naslov: 8080/host-manager/.
Z upraviteljem navideznih gostiteljev lahko ustvarite navidezne gostitelje za aplikacije Tomcat.
6. korak: Preizkusite Apache Tomcat z ustvarjanjem preskusne datoteke
Če vse deluje brezhibno, lahko preverite tako, da ustvarite preskusno datoteko v imeniku/opt/tomcat/webapps/ROOT/.
Ustvarimo takšno datoteko:
$ sudo vim /opt/tomcat/webapps/ROOT/tecmint.jsp
Znotraj te datoteke prilepite naslednjo kodo:
<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>
Shranite datoteko in nastavite lastništvo, kot je prikazano.
$ sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/tecmint.jsp
Zdaj naložite to datoteko v brskalnik z uporabo http:// ip-address: 8080/tecmint.jsp.
To je to! Dokončali ste nastavitev strežnika Apache Tomcat in zagnali prvo kodo Java. Upamo, da je bil postopek za vas enostaven in enostaven. Če naletite na kakršne koli težave, jih delite prek spodnjega obrazca za komentar.