Ubuntu-da Apache Tomcat-y nädip gurmaly
Java serwer sahypasyny kodlamagy ýa-da Java hyzmatlaryny öz içine alýan web sahypalaryny işletmek isleseňiz, Apache Tomcat ulanyp bilersiňiz. Apache Software Foundation tarapyndan çykarylan açyk çeşme web serweri we servlet konteýner.
Tomcat, öz web serweri bilen özbaşdak önüm hökmünde ulanylyp bilner ýa-da Apache ýa-da IIS ýaly beýleki web serwerleri bilen birleşdirilip bilner. Tomcat-yň iň soňky wersiýasy 9.0.14 bolup, Tomcat 8 we 8.5-iň üstünde gurulýar we Servlet 4.0, JSP 2.2-i durmuşa geçirýär.
Täze wersiýada aşakdaky gowulaşmalar edildi:
- HTTP/2. Goldaw goşuldy.
- JSSE birikdirijileri bilen TLS goldawy üçin OpenSSL ulanmak üçin goldaw goşuldy.
- TLS wirtual hostlary (SNI) üçin goldaw goşuldy.
Bu gollanmada size Ubuntu 18.10-da we Ubuntu-nyň köne wersiýasynda Apache Tomcat 9-y nädip gurmalydygyny görkezmekçi.
1-nji ädim: Java gurmak
Java web programmalaryny işletmek üçin Tomcat serwerde Java gurulmagyny talap edýär. Bu talaby kanagatlandyrmak üçin, görkezilişi ýaly OpenJDK gurarys.
$ sudo apt update $ sudo apt install default-jdk
2-nji ädim: Tomcat ulanyjysyny döretmek
Howpsuzlyk sebäpli Tomcat artykmaç däl ulanyjy bilen işlemeli, ýagny kök däl. Şol sebäpli hyzmaty dolandyrjak ulanyjy we topar tomkat dörederis. Tomkat toparyny döretmekden başlaň:
$ sudo groupadd tomcat
Indiki tomcat toparynyň agzasy boljak tomcat ulanyjysyny dörederis. Bu ulanyjynyň öý ýerleşýän ýeri/opt/tomcat bolar, sebäbi Tomcat gurjak ýerimiz şu. Gabyk/bin/false:
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Indi indiki ädimimizi dowam etdirmäge we Tomkaty göçürip almaga taýýar.
3-nji ädim: Apache Tomcat gurmak
Iň soňky elýeterli bukjany göçürip almak üçin Tomkatyň göçürip almak sahypasyna giriň we iň soňky wersiýasyny alyň.
Bu gollanmany ýazan wagtyňyz, Tomkatyň iň soňky wersiýasy 9.0.14. Şol wersiýany göçürip almak üçin häzirki katalogyňyzy başga bir zada üýtgediň. Mysal üçin/tmp ulanyp bilersiňiz:
# cd /tmp
Soň bolsa Tomcat arhiwini göçürip almak üçin wget buýrugyny ulanyp:
$ 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
Faýlyň sha512 jemini barlamak isleseňiz, işledip bilersiňiz:
$ sha512sum apache-tomcat-9.0.14.tar.gz $ cat apache-tomcat-9.0.14.tar.gz.sha512
Iki faýl üçin emele gelen baha (hash) birmeňzeş bolmaly.
Öň bellenip geçilişi ýaly, Tomcat/opt/tomcat-a gurnarys. Şol katalogy döretmeli bolarys:
$ sudo mkdir /opt/tomcat
Indi göçürilen bukjany şol täze katalogdan çykaryp bileris:
$ sudo tar xzvf apache-tomcat-9.0.14.tar.gz -C /opt/tomcat --strip-components=1
Indi bukjanyň eýeçiligini we rugsatlaryny täzelän ýerimizden/opt/tomcat-a geçiň:
# cd /opt/tomcat
Toparyň eýesini/opt/tomcat tomcat-a belläň:
$ sudo chgrp -R tomcat /opt/tomcat
Indiki tomcat toparynyň okalýan ygtyýaryny conf katalogynyň üsti bilen täzeläris we ýerine ýetiriş rugsatlaryny katalogda belläris:
$ sudo chmod -R g+r conf $ sudo chmod g+x conf
Indiki web sahypasyny, iş, temp we gündelik kataloglarynyň tomkat ulanyjysyny ederis:
$ sudo chown -R tomcat webapps/ work/ temp/ logs/
Indi degişli rugsatlar we eýeçilikler kesgitlendi we Tomcat amalyny dolandyrmaga kömek etjek systemd başlangyç faýly döretmäge taýýar.
4-nji ädim: Tomcat üçin SystemD hyzmat faýly döretmek
Tomkaty hyzmat hökmünde işletmek isleýänligimiz sebäpli, prosesi aňsatlyk bilen dolandyrmaga kömek etjek bir faýlymyz bolmaly. Şol maksat bilen systemd hyzmat faýly dörederis. Tomcat, ulgamyňyzda Java-nyň nirededigini bilmeli bolar.
Şol ýeri tapmak üçin aşakdaky buýrugy ulanyň:
$ sudo update-java-alternatives -l
Bu buýrugyň çykyşy size JAVA_HOME ýerleşişini görkezer.
Indi şol maglumatlary ulanyp, Tomcat hyzmat faýlymyzy döretmäge taýýar.
$ sudo vim /etc/systemd/system/tomcat.service
Aşakdaky kody faýla goýuň:
[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
JAVA_HOME ulgamyňyz bilen sazlaň. Taýar bolanyňyzda faýly ýazdyryň we ýapyň. Indi aşakdaky buýrugy ulanyp, täze hyzmat faýlymyzy tapyp biler ýaly systemd daemonyny täzeden ýükläň:
$ sudo systemctl daemon-reload
Soňra Tomcat hyzmatyna başlaň:
$ sudo systemctl start tomcat
Hyzmat ýagdaýyny şu aşakdakylar bilen barlap bilersiňiz:
$ sudo systemctl status tomcat
Indi Tomcat-y ulgamyňyzyň IP adresini ulanyp, hyzmatyň deslapky port 8080 ulanyp, brauzeriňizde synap bilersiňiz.
http://ip-address:8080
Görmeli netijäňiz aşakdaky suratda görkezilen netijä meňzeýär:
Aboveokardaky çykyşy görmeýän bolsaňyz, diwar diwaryňyzda görkezilişi ýaly 8080 porta rugsat bermeli bolmagyňyz mümkin.
$ sudo ufw allow 8080
Tomcat-yň ulgam ýüklemesinden başlamagyny isleseňiz, işlediň:
$ systemctl enable tomcat
5-nji ädim: Apache Tomkaty sazlamak
Tomcat-da öňünden gurlan web menejeri programmasy bar. Ony ulanmak üçin tomcat-users.xml faýlymyzda tassyklamany gurmaly bolarys. Halaýan tekst redaktoryňyz bilen şol faýly açyň we redaktirläň:
$ sudo vim /opt/tomcat/conf/tomcat-users.xml
Dolandyryjy we administrator interfeýslerine girip biljek ulanyjy goşarys. Şeýle ulanyjyny düzmek üçin
bellikleriniň arasynda aşakdaky setiri goşuň:
<user username="Username" password="Password" roles="manager-gui,admin-gui"/>
Üýtgetmegi unutmaň:
- Ulanyjy ady - tassyklamak isleýän ulanyjy bilen.
- Parol - tassyklamak üçin ulanmak isleýän parolyňyz bilen.
Host dolandyryjysyna we dolandyryjysyna deslapky giriş çäklendirilenligi sebäpli, bu çäklendirmeleri aýyrmak ýa-da üýtgetmek isleýäris. Şeýle üýtgeşmeler girizmek üçin aşakdaky faýllary ýükläp bilersiňiz:
Dolandyryjy programmasy üçin:
$ sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml
Host dolandyryjy programmasy üçin:
$ sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml
Şol faýllaryň içinde IP çäklendirmesini düşündirip bilersiňiz ýa-da köpçülige açyk IP adresiňize rugsat berip bilersiňiz. Bu gollanmanyň maksady üçin setiri teswirledim:
Üýtgeşmelerimizi janlandyrmak üçin tomcat hyzmatyny täzeden ýükläň:
$ sudo systemctl restart tomcat
Indi http:// ipaddress: 8080/manager/girip, dolandyryjy programmasyny synap bilersiňiz. Ulanyjy ady we paroly soralanda, ozal düzenleriňizi ulanyň. Ondan soň görmeli interfeýs şeýle:
Host dolandyryjysyna girmek üçin http:// ip-address: 8080/host-manager/ulanyp bilersiňiz.
Wirtual host dolandyryjysyny ulanyp, Tomcat programmalaryňyz üçin wirtual hostlary döredip bilersiňiz.
6-njy ädim: Synag faýly döretmek arkaly Apache Tomkaty barlamak
/ Opt/tomcat/webapps/ROOT/katalogynyň içinde synag faýly döredip, hemme zadyň kadaly işleýändigini barlap bilersiňiz.
Geliň, şeýle faýly döredeliň:
$ sudo vim /opt/tomcat/webapps/ROOT/tecmint.jsp
Şol faýlyň içinde aşakdaky kody goýuň:
<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>
Faýly ýazdyryň we görkezilişi ýaly eýeçiligini düzüň.
$ sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/tecmint.jsp
Indi şol faýly http:// ip-address: 8080/tecmint.jsp ulanyp brauzeriňize ýükläň.
Bu! Apache Tomcat serweriňizi gurnamagy tamamladyňyz we ilkinji Java koduňyzy işlediňiz. Bu proses siziň üçin aňsat we gönümel boldy diýip umyt edýäris. Islendik mesele bilen ýüzbe-ýüz bolsaňyz, aşakdaky teswir formasy arkaly problemalaryňyzy paýlaşyň.