Kif Tinstalla Apache Tomcat f'Ubuntu
Jekk trid tmexxi paġni tal-web li jinkludu kodifikazzjoni tal-paġna tas-server Java jew servlets Java, tista 'tuża Apache Tomcat. Huwa open source web server u servlet container, maħruġa minn Apache Software Foundation.
Tomcat jista 'jintuża bħala prodott waħdu, bis-server tal-web tiegħu stess jew jista' jiġi kkombinat ma 'servers tal-web oħra bħal Apache jew IIS. L-aktar verżjoni reċenti ta' Tomcat hija 9.0.14 u tibni fuq Tomcat 8 u 8.5 u timplimenta Servlet 4.0, JSP 2.2.
It-titjib li ġej sar fil-verżjoni l-ġdida:
- Żieda appoġġ għal HTTP/2.
- Żieda appoġġ għall-użu ta' OpenSSL għall-appoġġ TLS mal-konnetturi JSSE.
- Żieda appoġġ għall-hosts virtwali TLS (SNI).
F'dan it-tutorja ser nuruk kif tinstalla Apache Tomcat 9 f'Ubuntu 18.10 u verżjoni eqdem ta' Ubuntu.
Pass 1: Installazzjoni ta' Java
Biex tħaddem applikazzjonijiet tal-web Java, Tomcat jeħtieġ li Java jiġi installat fuq is-server. Biex nilħqu dak ir-rekwiżit, aħna se ninstallaw OpenJDK kif muri.
$ sudo apt update $ sudo apt install default-jdk
Pass 2: Ħolqien ta' Utent Tomcat
Għal raġunijiet ta' sigurtà, Tomcat għandu jitmexxa ma' utent mhux privileġġjat jiġifieri mhux root. Huwa għalhekk li se noħolqu tomcat ta' utent u grupp li se jmexxi s-servizz. Ibda billi toħloq il-grupp tat-tomcat:
$ sudo groupadd tomcat
Sussegwentement noħolqu utent tat-tomcat, li jkun membru tal-grupp tat-tomcat. Il-post tad-dar ta' dan l-utent se jkun /opt/tomcat peress li dan huwa fejn se ninstallaw Tomcat. Il-qoxra tkun issettjata għal /bin/false:
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Issa aħna lesti li nipproċedu l-pass li jmiss u niżżlu Tomcat.
Pass 3: Installazzjoni ta' Apache Tomcat
Biex tniżżel l-aħħar pakkett disponibbli, mur fil-paġna tat-tniżżil ta’ Tomcat u aqbad l-aħħar verżjoni.
Fil-ħin tal-kitba ta' dan it-tutorja, l-aħħar verżjoni ta' Tomcat hija 9.0.14. Biex tniżżel dik il-verżjoni, ibdel id-direttorju attwali tiegħek għal xi ħaġa oħra. Pereżempju tista' tuża /tmp:
# cd /tmp
U mbagħad tuża l-kmand wget biex tniżżel l-arkivju 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
Jekk trid tivverifika s-somma sha512 tal-fajl tista' tmexxi:
$ sha512sum apache-tomcat-9.0.14.tar.gz $ cat apache-tomcat-9.0.14.tar.gz.sha512
Il-valur li jirriżulta (hash) għaż-żewġ fajls għandu jkun l-istess.
Kif issemma qabel, se ninstallaw Tomcat f'/opt/tomcat. Ikollna noħolqu dak id-direttorju:
$ sudo mkdir /opt/tomcat
U issa nistgħu nieħdu l-pakkett imniżżel f'dak id-direttorju l-ġdid:
$ sudo tar xzvf apache-tomcat-9.0.14.tar.gz -C /opt/tomcat --strip-components=1
Issa innaviga lejn /opt/tomcat minn fejn se naġġornaw is-sjieda tal-folder u l-permessi:
# cd /opt/tomcat
U ssettja sid tal-grupp ta' /opt/tomcat għal tomcat:
$ sudo chgrp -R tomcat /opt/tomcat
Li jmiss se naġġornaw l-aċċess għall-qari tal-grupp tomcat fuq id-direttorju tal-konf u nissettjaw il-permessi ta 'eżekuzzjoni għad-direttorju:
$ sudo chmod -R g+r conf $ sudo chmod g+x conf
Sussegwentement se nagħmlu l-utent tat-tomcat sid tad-direttorji tal-webapps, tax-xogħol, tat-temp u tar-zkuk:
$ sudo chown -R tomcat webapps/ work/ temp/ logs/
Issa ġew stabbiliti l-permessi u s-sjieda xierqa u aħna lesti li noħolqu fajl tal-bidu systemd, li jgħinna namministraw il-proċess Tomcat.
Pass 4: Ħolqien ta' Fajl tas-Servizz SystemD għal Tomcat
Minħabba li rridu nħaddmu Tomcat bħala servizz, ikollna bżonn li jkollna fajl li jgħinna namministraw il-proċess faċilment. Għal dak il-għan aħna noħolqu fajl tas-servizz systemd. Tomcat ikollu jkun jaf fejn jinsab Java fis-sistema tiegħek.
Biex issib dak il-post uża l-kmand li ġej:
$ sudo update-java-alternatives -l
L-output ta' dak il-kmand jurik il-post tal-JAVA_HOME.
Issa, billi nużaw dik l-informazzjoni aħna lesti biex noħolqu l-fajl tas-servizz Tomcat tagħna.
$ sudo vim /etc/systemd/system/tomcat.service
Past il-kodiċi hawn taħt fil-fajl:
[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
Kun żgur li tissettja JAVA_HOME ma' dik għas-sistema tiegħek. Meta tkun lest, issalva l-fajl u agħlaq. Issa, billi tuża l-kmand hawn taħt, erġa' tagħbija d-daemon systemd sabiex ikun jista' jsib il-fajl tas-servizz il-ġdid tagħna:
$ sudo systemctl daemon-reload
Imbagħad ibda s-servizz Tomcat:
$ sudo systemctl start tomcat
Tista' tivverifika l-istatus tas-servizz ma':
$ sudo systemctl status tomcat
Issa tista’ tittestja Tomcat fil-browser tiegħek billi tuża l-indirizz IP tas-sistema tiegħek segwit mill-port default tas-servizz 8080.
http://ip-address:8080
Ir-riżultat li għandek tara jkun simili għal dak muri fl-immaġni hawn taħt:
Fil-każ li ma tkunx qed tara l-output ta 'hawn fuq, jista' jkollok bżonn tħalli l-port 8080 fil-firewall tiegħek kif muri.
$ sudo ufw allow 8080
Jekk trid li Tomcat jibda bil-boot tas-sistema, mexxi:
$ systemctl enable tomcat
Pass 5: Konfigurazzjoni ta' Apache Tomcat
Tomcat għandu app tal-maniġer tal-web li tiġi installata minn qabel. Sabiex nużawha, ikollna bżonn nissettjaw l-awtentikazzjoni fil-fajl tomcat-users.xml tagħna. Iftaħ u editja dak il-fajl bl-editur tat-test favorit tiegħek:
$ sudo vim /opt/tomcat/conf/tomcat-users.xml
Se nżidu utent li jkun jista' jaċċessa l-interfaces tal-maniġer u l-amministratur. Biex tikkonfigura utent bħal dan, bejn it-tags
, żid il-linja li ġejja:
<user username="Username" password="Password" roles="manager-gui,admin-gui"/>
Kun żgur li tibdel:
- Username – mal-utent li tixtieq jawtentika.
- Password – bil-password li tixtieq tuża għall-awtentikazzjoni.
Peress li b'mod awtomatiku l-aċċess għall-Maniġer u l-Maniġer tal-Ospitanti huwa ristrett, irridu jew inneħħu jew nibdlu dawn ir-restrizzjonijiet. Biex tagħmel bidliet bħal dawn tista' tagħbija l-fajls li ġejjin:
Għall-app tal-Maniġer:
$ sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml
Għall-app tal-maniġer tal-Ospitanti:
$ sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml
Ġewwa dawk il-fajls tista 'jew tikkummenta r-restrizzjoni IP jew tħalli l-indirizz IP pubbliku tiegħek hemmhekk. Għall-iskop ta' dan it-tutorja, ikkummentajt il-linja:
Biex tagħmel it-tibdiliet tagħna ħajjin, erġa' tagħbija s-servizz tat-tomcat bi:
$ sudo systemctl restart tomcat
Issa tista' tittestja l-app tal-maniġer billi taċċessa http://ipaddress:8080/manager/. Meta tintalab għal username u password, uża dawk li kkonfigurajt qabel. L-interface li għandek tara wara tidher bħal din:
Biex taċċessa l-maniġer tal-Ospitanti, tista’ tuża http://ip-address:8080/host-manager/.
Bl-użu tal-maniġer tal-host virtwali, tista' toħloq hosts virtwali għall-applikazzjonijiet Tomcat tiegħek.
Pass 6: Ittestja Apache Tomcat Billi Oħloq Fajl tat-Test
Tista 'tiċċekkja jekk kollox hux qed jaħdem bla xkiel, billi toħloq fajl tat-test ġewwa d-direttorju /opt/tomcat/webapps/ROOT/.
Ejja noħolqu fajl bħal dan:
$ sudo vim /opt/tomcat/webapps/ROOT/tecmint.jsp
Ġewwa dak il-fajl waħħal il-kodiċi li ġej:
<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>
Issejvja l-fajl u ssettja s-sjieda kif muri.
$ sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/tecmint.jsp
Issa tagħbija dak il-fajl fil-browser tiegħek billi tuża http://ip-address:8080/tecmint.jsp.
Dak hu! Int lestejt is-setup tas-server Apache Tomcat tiegħek u ħadt l-ewwel kodiċi Java tiegħek. Nittamaw li l-proċess kien faċli u sempliċi għalik. Jekk tiffaċċja xi kwistjonijiet, taqsam il-problemi tiegħek permezz tal-formola tal-kumment hawn taħt.