Debian 10-da Apache Tomcat 9-y nädip gurmaly


Apache Tomcat, Java esasly programmalara hyzmat etmek üçin ulanylýan mugt, ýetişen, ygtybarly we meşhur web amaly serwer programma üpjünçiligi. Apache Programma üpjünçiligi gaznasy (ASF) tarapyndan işlenip düzülen Java Servlet, JavaServer Sahypalary (JSP), Java Expression Language we Java WebSocket tehnologiýalarynyň açyk çeşmesi.

Bu gollanma, “Debian 10 Linux” serweriňizde “Tomcat 9” -yň iň soňky goýberilişini gurnamak we düzmek bilen meşgullanar.

Bu gollanmany başlamazdan ozal serweriňizde sudo aýratynlyklary bolan kök däl ulanyjy hasabyňyzyň bardygyna göz ýetiriň. Notok bolsa, Ubuntu/Debian-da täze Sudo ulanyjysyny nädip döretmelidigi baradaky gollanmamyzy ulanyp birini gurup bilersiňiz.

1-nji ädim: Java-ny Debian 10-a guruň

Tomcat 9-yň iň soňky goýberilişini Debian 10 serweriňize gurmak üçin Java web programma koduny ýerine ýetirip bilmek üçin serwerde Java gurlan bolmaly.

Ilki bilen, görkezilişi ýaly apt buýrugyny ulanyp ulgam programma üpjünçiligi bukjasynyň indeksini täzeläň.

$ sudo apt update

Soňra apt buýrugyny ulanyp Java Development Kit paketini guruň.

$ sudo apt install default-jdk

Java gurmak gutaransoň, aşakdaky buýrugy ulanyp ulgamda gurlan Java wersiýasyny barlaň.

$ java -version

2-nji ädim: Tomcat-i Debian 10-a guruň

Howpsuzlyk maksady bilen, Tomcat gurulmaly we ygtyýarsyz ulanyjy (ýagny kök däl) tarapyndan ýerine ýetirilmeli. Tomcat hyzmatyny/opt/tomcat katalogy (Tomcat gurnama) astynda işletmek üçin täze tomcat topary we ulanyjy dörederis.

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

Bir gezek tomcat ulanyjysyny guranymyzdan soň, tarboly göçürip almak we arhiwi/opt/tomcat katalogyna çykarmak üçin egri buýruk setir guralyndan Tomcat 9-yň iň soňky wersiýasyny (ýagny 9.0.30) göçürip alyň.

$ curl -O http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz
$ sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1

Ondan soň, Tomcat gurmak/opt/tomcat katalogyna girmek üçin tomcat ulanyjysyna rugsatlary belläň.

$ cd /opt/tomcat
$ sudo chgrp -R tomcat /opt/tomcat
$ sudo chmod -R g+r conf
$ sudo chmod g+x conf
$ sudo chown -R tomcat webapps/ work/ temp/ logs/

3-nji ädim: Tomcat systemd Hyzmat faýly dörediň

Tomcat-y systemd astynda hyzmat hökmünde dolandyrmak we işletmek üçin täze systemd hyzmat faýly dörederis. Hyzmat faýly döretmek üçin, Java-yň nirede gurlandygyny bilmelisiňiz, sebäbi aşakdaky buýrugy ulanyp JAVA_HOME diýilýär.

$ sudo update-java-alternatives -l

Aboveokardaky çykyşdan, JAVA_HOME :

/usr/lib/jvm/java-1.11.0-openjdk-amd64

JAVA_HOME bilen tananymyzdan soň,/etc/systemd/system katalogynda tomcat.service atly systemd hyzmat faýlyny döredip bileris.

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

Aşakdaky mazmuny tomcat.service faýlyňyza 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

Ondan soň, täze üýtgeşmeleri ulanmak üçin systemd-i täzeden ýükläň, şonuň üçin tomcat.service faýlymyz hakda biler.

$ sudo systemctl daemon-reload

Ahyrynda, aşakdaky buýruklary işledip, Tomcat hyzmatynyň ýagdaýyny başlap we barlap bilersiňiz.

$ sudo systemctl start tomcat
$ systemctl status tomcat
$ systemctl enable tomcat

4-nji ädim: Tomcat dolandyryjysy we alyp baryjy dolandyryjysy üçin girişi işjeňleşdiriň

Tomcat bilen gelýän menejer-gui we admin-gui web programmalaryna girmek üçin, tomcat-users.xml faýlyny görkezilişi ýaly redaktirläp, Tomcat serwerimize girmegi işjeňleşdirmeli.

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

Aşakdaky konfigurasiýany görkezilişi ýaly dogry ulanyjy ady we paroly bilen belliklerine goşuň.

<role rolename="admin-gui,manager-gui"/> 
<user username="admin" password="password" roles="admin-gui,manager-gui"/>

Aboveokardaky konfigurasiýa,\admin atly ulanyja\tecmint123 paroly bilen administrator-gui we menejer-gui rollaryny goşmagy aňladýar.

5-nji ädim: Tomcat dolandyryjysyna we alyp baryjy dolandyryjysyna uzakdan girmegi işjeňleşdiriň

Howpsuzlyk sebäpli, Tomcat Manager we Host Manager programmalaryna girmek, adaty ýagdaýda ýerlihostda (ýerleşdirilen serwerde) gulplanýar.

Şeýle-de bolsa, aşakda düşündirilişi ýaly belli bir IP adresinden ýa-da islendik hostdan ýa-da tordan Tomcat Manager we Host Manager programmalaryna uzakdan girip bilersiňiz.

Tomcat Manager programmasy üçin ýazyň:

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

Host dolandyryjy programmasy üçin ýazyň:

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

Içinde, islendik tora girmek üçin IP adresi çäklendirmesini düşündiriň.

<Context antiResourceLocking="false" privileged="true" >
  <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
</Context>

Alterna-da bolmasa, IP adresini sanawa goşup, öz IP adresiňizden 192.168.0.103 ýa-da tordan (192.168.0.0) uzakdan girmäge mümkinçilik beriň.

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.0.103" />-->
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.0.*" />-->

Faýllary ýazdyryň we üýtgeşmelerimiziň güýje girmegi üçin Tomcat hyzmatyny täzeden açyň.

$ sudo systemctl restart tomcat

6-njy ädim: Tomcat web interfeýsine giriň

Islendik brauzerden Tomcat web interfeýsine girmek üçin, diwar diwaryndaky Tomcat hyzmatyna ýazmak üçin 8080 port açmaly.

$ sudo ufw allow 8080

Indi serweriňiziň domen adyna ýa-da brauzeriňizdäki 8080 portundan soň IP adresine girip, Tomcat web dolandyryş interfeýsine giriň.

http://server_domain_or_IP:8080

Aşakdaky URL-de Dolandyryjy programmasyna gireliň, hasap şahsyýet maglumatlaryny girizmeli bolarsyňyz.

http://server_domain_or_IP:8080/manager/html

Aşakdaky URL-de Host Dolandyryjysyna gireliň, hasap şahsyýet maglumatlaryny girizmeli bolarsyňyz.

http://server_domain_or_IP:8080/host-manager/html/

Bu hemmesi! Tomcat gurnamagyňyz tamamlandy, indi Java web programmalaryny ýerleşdirip we işledip bilersiňiz. Paýlaşmak üçin soraglaryňyz ýa-da pikirleriňiz bar bolsa, aşakdaky teswir formasy arkaly bize ýüz tutuň.