Bii o ṣe le Fi Tomcat Apache sii ni Ubuntu


Ti o ba fẹ ṣiṣe awọn oju-iwe wẹẹbu ti o ni ifaminsi oju-iwe olupin olupin Java tabi awọn iṣẹ iṣẹ Java, o le lo Apache Tomcat. O jẹ olupin wẹẹbu ṣiṣi ṣiṣi ati ohun elo servlet, ti a tujade nipasẹ Foundation Software Foundation.

Tomcat le ṣee lo bi ọja adaduro, pẹlu olupin ayelujara tirẹ tabi o le ni idapo pẹlu awọn olupin ayelujara miiran bi Apache tabi IIS. Ẹya ti o ṣẹṣẹ julọ ti Tomcat jẹ 9.0.14 ati pe o kọ lori oke Tomcat 8 ati 8.5 ati awọn imuse Servlet 4.0, JSP 2.2.

Awọn ilọsiwaju wọnyi ti ṣe ni ẹya tuntun:

  • Afikun atilẹyin fun HTTP/2.
  • Atilẹyin ti a ṣafikun fun lilo OpenSSL fun atilẹyin TLS pẹlu awọn asopọ JSSE.
  • Atilẹyin ti a ṣafikun fun awọn ọmọ ogun foju fojuhan TLS (SNI).

Ninu ẹkọ yii a yoo fi ọ han bi o ṣe le fi Apache Tomcat 9 sori Ubuntu 18.10 ati ẹya ti atijọ ti Ubuntu.

Igbesẹ 1: Fifi Java sii

Lati ṣiṣe awọn ohun elo wẹẹbu Java, Tomcat nilo Java lati fi sori ẹrọ lori olupin naa. Lati pade ibeere yẹn, a yoo fi sii OpenJDK bi o ti han.

$ sudo apt update
$ sudo apt install default-jdk

Igbesẹ 2: Ṣiṣẹda Olumulo Tomcat kan

Fun awọn idi aabo, Tomcat yẹ ki o wa ni ṣiṣe pẹlu olumulo ti kii ṣe anfaani ie kii ṣe gbongbo. Ti o ni idi ti a yoo ṣẹda olumulo ati tomcat ẹgbẹ ti yoo ṣiṣẹ iṣẹ naa. Bẹrẹ nipa ṣiṣẹda ẹgbẹ tomcat:

$ sudo groupadd tomcat

Nigbamii ti a yoo ṣẹda olumulo tomcat kan, iyẹn yoo jẹ ọmọ ẹgbẹ ti ẹgbẹ tomcat naa. Ipo ile ti olumulo yii yoo jẹ/opt/tomcat nitori eyi ni ibiti a yoo fi Tomcat sii. A ti ṣeto ikarahun si/bin/eke:

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

Bayi a ti ṣetan lati tẹsiwaju igbesẹ atẹle ati ṣe igbasilẹ Tomcat.

Igbesẹ 3: Fifi Tomcat Afun

Lati ṣe igbasilẹ package tuntun ti o wa, ori si oju-iwe gbigba lati ayelujara Tomcat ki o mu ẹya tuntun.

Ni akoko kikọ kikọ ẹkọ yii, ẹya tuntun ti Tomcat jẹ 9.0.14. Lati ṣe igbasilẹ ẹya naa, yi itọsọna rẹ lọwọlọwọ si nkan miiran. Fun apẹẹrẹ o le lo/tmp:

# cd /tmp

Ati lẹhinna lilo pipaṣẹ wget lati ṣe igbasilẹ iwe-akọọlẹ 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

Ti o ba fẹ lati ṣayẹwo iye owo sha512 ti faili naa o le ṣiṣe:

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

Iye abajade (elile) fun awọn faili mejeeji yẹ ki o jẹ kanna.

Gẹgẹbi a ti sọ tẹlẹ, a yoo fi Tomcat sori ẹrọ/opt/tomcat. A yoo ni lati ṣẹda itọsọna yẹn:

$ sudo mkdir /opt/tomcat

Ati ni bayi a le jade package ti o gbasilẹ ni itọsọna tuntun yẹn:

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

Bayi lọ kiri si/jáde/tomcat lati ibiti a yoo ṣe imudojuiwọn nini folda ati awọn igbanilaaye:

# cd /opt/tomcat

Ati ṣeto oluwa ẹgbẹ ti/jáde/tomcat si tomcat:

$ sudo chgrp -R tomcat /opt/tomcat

A yoo ṣe atẹle wiwọle ka ti ẹgbẹ tomcat lori itọsọna conf ati ṣeto awọn igbanilaaye ṣiṣe si itọsọna naa:

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

Nigbamii ti a yoo ṣe oniwun olumulo tomcat ti awọn webapps, iṣẹ, iwa afẹfẹ aye ati awọn ilana igbasilẹ:

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

Bayi a ti ṣeto awọn igbanilaaye ati awọn ohun-ini to dara ati pe a ti ṣetan lati ṣẹda faili ibẹrẹ eto, eyi ti yoo ṣe iranlọwọ fun wa lati ṣakoso ilana Tomcat.

Igbesẹ 4: Ṣiṣẹda Faili Iṣẹ SystemD kan fun Tomcat

Nitori a fẹ lati ṣiṣẹ Tomcat bi iṣẹ kan, a yoo nilo lati ni faili eyiti yoo ṣe iranlọwọ fun wa ni iṣakoso irọrun ilana naa. Fun idi yẹn a yoo ṣẹda faili iṣẹ eto. Tomcat yoo ni lati mọ ibiti Java wa lori eto rẹ.

Lati wa ipo naa lo aṣẹ wọnyi:

$ sudo update-java-alternatives -l

Ijade ti aṣẹ yẹn yoo fihan ọ ipo ti JAVA_HOME naa.

Bayi, nipa lilo alaye yẹn a ti ṣetan lati ṣẹda faili iṣẹ Tomcat wa.

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

Lẹẹ koodu ti o wa ni isalẹ ninu faili naa:

[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

Rii daju lati ṣeto JAVA_HOME pẹlu ọkan fun eto rẹ. Nigbati o ba ṣetan, fipamọ faili naa ki o pa. Bayi, nipa lilo aṣẹ ti o wa ni isalẹ, tun gbee daemon systemd ki o le wa faili iṣẹ tuntun wa:

$ sudo systemctl daemon-reload

Lẹhinna bẹrẹ iṣẹ Tomcat:

$ sudo systemctl start tomcat

O le ṣayẹwo ipo iṣẹ pẹlu:

$ sudo systemctl status tomcat

O le ṣe idanwo Tomcat ni aṣawakiri rẹ nipa lilo adirẹsi IP eto rẹ ti o tẹle pẹlu ibudo aiyipada iṣẹ 8080.

http://ip-address:8080

Abajade ti o yẹ ki o rii jẹ iru si ọkan ti o han ni aworan ni isalẹ:

Ni ọran ti o ko rii iṣẹjade ti o wa loke, o le nilo lati gba ibudo 8080 laaye ninu ogiriina rẹ bi o ti han.

$ sudo ufw allow 8080

Ti o ba fẹ Tomcat lati bẹrẹ lori bata eto, ṣiṣe:

$ systemctl enable tomcat

Igbese 5: Tito leto Tomcat Apache

Tomcat ni ohun elo oluṣakoso wẹẹbu kan ti o wa ni fifi sori ẹrọ. Lati le lo, a yoo nilo lati ṣeto ijẹrisi laarin faili tomcat-users.xml wa. Ṣii ati ṣatunkọ faili naa pẹlu olootu ọrọ ayanfẹ rẹ:

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

A yoo ṣafikun olumulo kan ti yoo ni anfani lati wọle si oluṣakoso ati awọn atọkun abojuto. Lati tunto iru olumulo bẹẹ, laarin awọn awọn afi, ṣafikun laini atẹle:

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

Rii daju lati yipada:

  • Orukọ olumulo - pẹlu olumulo ti o fẹ lati jẹri.
  • Ọrọigbaniwọle - pẹlu ọrọ igbaniwọle ti o fẹ lati lo fun ìfàṣẹsí.

Niwọn igba ti iraye si aiyipada si Oluṣakoso Gbalejo ati Oluṣakoso ti ni ihamọ, a yoo fẹ lati yọkuro tabi paarọ awọn ihamọ wọnyi. Lati ṣe awọn ayipada bẹ o le fifuye awọn faili wọnyi:

Fun ohun elo Oluṣakoso:

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

Fun ohun elo oluṣakoso alejo:

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

Ninu awọn faili wọnyẹn o le sọ asọye ihamọ IP tabi gba adirẹsi IP gbangba rẹ ni nibẹ. Fun idi ti ẹkọ yii, Mo ti sọ asọye laini naa:

Lati ṣe awọn ayipada wa laaye, tun gbe iṣẹ tomcat pada pẹlu:

$ sudo systemctl restart tomcat 


O le ni idanwo bayi ohun elo oluṣakoso nipasẹ iraye si http:// ipaddress: 8080/faili /. Nigbati o ba ṣetan fun orukọ olumulo ati ọrọ igbaniwọle, lo awọn ti o ti tunto tẹlẹ. Ni wiwo ti o yẹ ki o rii lẹhin ti o dabi eleyi:

Lati wọle si oluṣakoso alejo, o le lo http:// ip-adirẹsi: 8080/host-manager /.

Lilo oluṣakoso alejo gbigba foju, o le ṣẹda awọn ọmọ ogun foju fun awọn ohun elo Tomcat rẹ.

Igbesẹ 6: Idanwo Tomcat Apache Nipa Ṣiṣẹda Faili Idanwo kan

O le ṣayẹwo ti ohun gbogbo ba n ṣiṣẹ ni irọrun, nipa ṣiṣẹda faili idanwo kan ninu ti/opt/tomcat/webapps/ROOT/directory.

Jẹ ki a ṣẹda iru faili naa:

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

Ninu inu faili naa lẹẹ koodu wọnyi:

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

Fipamọ faili naa ki o ṣeto ohun-ini bi o ti han.

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

Bayi ṣajọ faili yẹn ninu ẹrọ aṣawakiri rẹ nipa lilo http:// ip-adirẹsi: 8080/tecmint.jsp.

O n niyen! O ti pari iṣeto ti olupin Apache Tomcat rẹ ati ṣiṣe koodu Java akọkọ rẹ. A nireti pe ilana naa rọrun ati taara fun ọ. Ti o ba dojuko eyikeyi awọn ọran, ṣe pin awọn iṣoro rẹ nipasẹ fọọmu asọye ni isalẹ.