Otu esi etinye Apache Tomcat na Ubuntu


Ọ bụrụ na ịchọrọ ịme ibe weebụ nke gụnyere koodu nzuzo ibe Java ma ọ bụ servlet Java, ị nwere ike iji Apache Tomcat. Ọ bụ sava weebụ mepere emepe yana akpa servlet, nke Apache Software Foundation wepụtara.

Enwere ike iji Tomcat dị ka ngwaahịa kwụ ọtọ, yana sava weebụ nke ya ma ọ bụ enwere ike jikọta ya na sava weebụ ndị ọzọ dị ka Apache ma ọ bụ IIS. Ụdị Tomcat kachasị ọhụrụ bụ 9.0.14 ma ọ na-ewuli elu n'elu Tomcat 8 na 8.5 ma na-emejuputa Servlet 4.0, JSP 2.2.

Emeela nkwalite ndị a na ụdị ọhụrụ a:

  • Nkwado agbakwunyere maka HTTP/2.
  • Nkwado agbakwunyere maka iji OpenSSL maka nkwado TLS yana njikọ JSSE.
  • Nkwado agbakwunyere maka ndị ọbịa TLS mebere (SNI).

N'ime nkuzi a, anyị ga-egosi gị otu esi etinye Apache Tomcat 9 na Ubuntu 18.10 na ụdị Ubuntu ochie.

Nzọụkwụ 1: Ịwụnye Java

Iji mee ngwa webụ Java, Tomcat chọrọ ka etinye Java na sava ahụ. Iji mezuo ihe a chọrọ, anyị ga-etinye OpenJDK dịka egosiri.

$ sudo apt update
$ sudo apt install default-jdk

Kwụpụ 2: Mepụta onye ọrụ Tomcat

Maka ebumnuche nchekwa, Tomcat kwesịrị ka ya na onye ọrụ na-enweghị ihe ọ bụla gbagara ya bụ enweghị mgbọrọgwụ. Ọ bụ ya mere anyị ga-eji mepụta onye ọrụ na otu tomcat ga-arụ ọrụ ahụ. Malite site na ịmepụta otu tomcat:

$ sudo groupadd tomcat

Ọzọ anyị ga-emepụta onye ọrụ tomcat, nke ga-abụ onye otu tomcat. Ebe obibi onye ọrụ a ga-abụ/opt/tomcat ebe a bụ ebe anyị ga-etinye Tomcat. A ga-edozi shei ahụ ka ọ bụrụ /bin/ụgha:

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

Ugbu a, anyị dị njikere ịga n'ihu nzọụkwụ ọzọ wee budata Tomcat.

Kwụpụ 3: Wụnye Apache Tomcat

Ka ibudata ngwungwu kachasị ọhụrụ, gaa na ibe nbudata Tomcat wee jide ụdị kachasị ọhụrụ.

N'oge edere nkuzi a, ụdị Tomcat kachasị ọhụrụ bụ 9.0.14. Ka ibudata ụdị ahụ, gbanwee ndekọ aha gị ugbu a ka ọ bụrụ ihe ọzọ. Dịka ọmụmaatụ ị nwere ike iji /tmp:

# cd /tmp

Ma jiri iwu wget budata ebe nchekwa 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

Ọ bụrụ na ịchọrọ ịchọpụta nchikota sha512 nke faịlụ ahụ ị nwere ike ịgba ọsọ:

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

Uru arụpụta (hash) maka faịlụ abụọ ahụ kwesịrị ịbụ otu.

Dịka e kwuru na mbụ, anyị ga-etinye Tomcat na /opt/tomcat. Anyị ga-emepụta ndekọ ahụ:

$ sudo mkdir /opt/tomcat

Ma ugbu a, anyị nwere ike wepụ ngwungwu ebudatara na ndekọ ọhụrụ ahụ:

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

Ugbu a gaa na/opt/tomcat site na ebe anyị ga-emelite ikike na ikike nchekwa:

# cd /opt/tomcat

Ma tọọ onye nwe/opt/tomcat na tomcat:

$ sudo chgrp -R tomcat /opt/tomcat

Anyị ga-emelite ohere ịgụ nke otu tomcat na ndekọ conf wee debe ikike na ndekọ ahụ:

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

Ọzọ anyị ga-eme ka onye ọrụ tomcat nwe webapps, ọrụ, temp na akwụkwọ ndekọ aha:

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

Ugbu a edobela ikike na ikike kwesịrị ekwesị ma anyị dị njikere ịmepụta faịlụ mmalite sistemụ, nke ga-enyere anyị aka ijikwa usoro Tomcat.

Kwụpụ 4: Mepụta faịlụ ọrụ SystemD maka Tomcat

N'ihi na anyị chọrọ ịgba ọsọ Tomcat dị ka ọrụ, anyị ga-achọ ịnweta faịlụ nke ga-enyere anyị aka ijikwa usoro a ngwa ngwa. Maka ebumnuche ahụ, anyị ga-emepụta faịlụ ọrụ sistemu. Tomcat ga-amarịrị ebe Java dị na sistemụ gị.

Iji chọta ebe ahụ jiri iwu a:

$ sudo update-java-alternatives -l

Mpụta nke iwu ahụ ga-egosi gị ebe JAVA_HOME dị.

Ugbu a, iji ozi ahụ anyị dị njikere ịmepụta faịlụ ọrụ Tomcat anyị.

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

Tapawa koodu n'okpuru na faịlụ:

[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

Gbaa mbọ hụ na ịtọọ JAVA_HOME na nke maka sistemụ gị. Mgbe ị dị njikere, chekwaa faịlụ ma mechie ya. Ugbu a, na-eji iwu dị n'okpuru, bugharịa systemd daemon ka o wee chọta faịlụ ọrụ ọhụrụ anyị:

$ sudo systemctl daemon-reload

Mgbe ahụ malite ọrụ Tomcat:

$ sudo systemctl start tomcat

Ị nwere ike iji:

$ sudo systemctl status tomcat

Ị nwere ike ịnwale Tomcat ugbu a na ihe nchọgharị gị site na iji adreesị IP nke sistemụ gị yana ọdụ ụgbọ mmiri 8080 ndabara na-esote.

http://ip-address:8080

Nsonaazụ ị kwesịrị ịhụ yiri nke egosiri na foto dị n'okpuru:

Ọ bụrụ na ị naghị ahụ mmepụta dị n'elu, ị nwere ike ịhapụ ọdụ ụgbọ mmiri 8080 na firewall gị dị ka egosiri.

$ sudo ufw allow 8080

Ọ bụrụ na ịchọrọ ka Tomcat malite na buut sistemụ, gbaa ọsọ:

$ systemctl enable tomcat

Kwụpụ 5: Na-ahazi Apache Tomcat

Tomcat nwere ngwa njikwa webụ nke na-abịabu etinyere ya. Iji jiri ya, anyị ga-achọ ịtọlite nnwale n'ime faịlụ tomcat-users.xml anyị. Mepee wee dezie faịlụ ahụ site na iji ndezi ederede ọkacha mmasị gị:

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

Anyị ga-agbakwunye onye ọrụ ga-enwe ike ịnweta interfaces njikwa na nchịkwa. Iji hazie onye ọrụ dị otú ahụ, n'etiti mkpado , tinye ahịrị ndị a:

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

Gbaa mbọ hụ na ị gbanwee:

  • Aha njirimara – ya na onye ọrụ ị chọrọ iji nyochaa.
  • Paswọọdụ – ya na okwuntughe nke ịchọrọ iji maka nyocha.

Ebe ọ bụ na site na ndabara ịnweta onye njikwa na njikwa nnabata, anyị ga-achọ iwepu ma ọ bụ gbanwee ihe mgbochi ndị a. Iji mee mgbanwe ndị a ị nwere ike ibunye faịlụ ndị a:

Maka ngwa njikwa:

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

Maka ngwa njikwa onye ọbịa:

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

N'ime faịlụ ndị ahụ ị nwere ike ikwu mmachi IP ma ọ bụ kwe ka adreesị IP ọha gị banye ebe ahụ. Maka ebumnuche nkuzi a, ekwuru m ahịrị:

Iji mee mgbanwe anyị dị ndụ, jiri: bugharịa ọrụ tomcat.

$ sudo systemctl restart tomcat 


Ị nwere ike ịnwale ngwa njikwa ugbu a site na ịnweta http://ipaddress:8080/manager/. Mgbe kpaliri maka aha njirimara na paswọọdụ, jiri ndị ị haziri na mbụ. The interface ị ga-ahụ mgbe nke ahụ dị ka nke a:

Iji nweta onye njikwa nnabata, ị nwere ike iji http://ip-address:8080/host-manager/.

Iji mebere nnabata njikwa, ị nwere ike ịmepụta mebere Host maka ngwa Tomcat gị.

Kwụpụ 6: Na-anwale Apache Tomcat Site na Mepụta Faịlụ ule

Ị nwere ike ịlele ma ihe niile na-arụ ọrụ nke ọma, site na ịmepụta faịlụ ule n'ime/opt/tomcat/webapps/ROOT/ directory.

Ka anyị mepụta faịlụ dị otú ahụ:

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

N'ime faịlụ ahụ mado koodu ndị a:

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

Chekwaa faịlụ ma tọọ nwe ya dịka egosiri.

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

Ugbu a bunye faịlụ ahụ na ihe nchọgharị gị site na iji http://ip-address:8080/tecmint.jsp.

Ọ bụ ya! Emechaala ntọala nke sava Apache Tomcat gị wee mee koodu Java mbụ gị. Anyị nwere olileanya na usoro ahụ dịịrị gị mfe ma kwụ ọtọ. Ọ bụrụ na ị na-eche nsogbu ọ bụla ihu, kesaa nsogbu gị site na ụdị nkọwa n'okpuru.