Apache Tomcat -
web serveris ir
servlet konteineris, kuris suteikia galimybę naudotis Java aplikacijomis.Tomcat yra atvirojo kodo programinė įranga išleista Apache Software Foundation organizacijos.
Šioje pamokoje pateiksime instrukciją, kaip įsideigti ir susikonfigūruoti Tomcat 9 naudojant Ubuntu 18.04 operacinę sistemą KVM serveryje.
Preliminarūs reikalavimai:
- Virtualiai dedikuotas KVM serveris naudojantis mūsų parengtą Ubuntu 18.04 operacinę sistemą;
- Papildomas ne
root naudotojas. Kaip susikurti papildomą naudotoją ir priskirti jam
sudo teises rasite šiuo
adresu.
1. Java diegimas
Visų pirma atnaujinkite sistemą:
sudo apt update
Ir tada galite įdiegti Java Development Kit paketą:
sudo apt install default-jdk
2. Tomcat naudotojo sukūrimas:
Dėl papildomo saugumo rekomenduojame paleisti Tomcat su neprivilegijuotu naudotoju. Tam sukursime naują naudotojų grupę, kuri paleis Tomcat paslaugą. Visų pirma sukurkite
tomcat grupę:
sudo groupadd tomcat
Tada sukuriame
tomcat naudotoją, kuris bus
tomcat grupės narys su pagrindinę direktoriją
/opt/tomcat (direktoriją, kurioje diegsime Tomcat) ir
/bin/false karkasu (taigi niekas kitas negalės prisijungti į šią paskyrą):
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
3. Tomcat diegimas
Diegimui naudosime naujausią šiuo metu esančią Tomcat 9 versiją (9.0.10). Prieš diegiant siūlome patikrinti, kokia versija esamuoju laiku yra naujausia šiuo
adresu.
Visų pirma atsidarome
/tmp katalogą serveryje. Tai yra tinkama direktorija failų, tokių kaip Tomcat, parsisiuntimui. Paleiskite komendą:
cd /tmp
Ir atlikite failo parsisiuntimą (naudojamas URL adresas skirsis priklausomai nuo diegiamos versijos):
curl -O http://mirror.cc.columbia.edu/pub/software/apache/tomcat/tomcat-9/v9.0.10/bin/apache-tomcat-9.0.10.tar.gz
Įdiegiame Tomcat į
/opt/tomcat direktoriją. Sukurkite direktoriją, kurioje bus laikomi Tomcat duomenys:
sudo mkdir /opt/tomcat
sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1
4. Teisių atnaujinimas
Naudotojas
tomcat turi turėti prieigą prie Tomcat diegimo. Tam atsidarykite direktoriją:
cd /opt/tomcat
Ir suteikite
tomcat grupes teises visai diegimo direktorijai:
sudo chgrp -R tomcat /opt/tomcat
Tada suteikite
tomcat grupei teisę skaityti
conf direktorijas ir prieigą prie viso turinio:
sudo chmod -R g+r conf
sudo chmod g+x conf
tomcat naudotojui priskirkite kūrėjo teises
webapps,
work,
temp, ir
logs direktorijoms:
sudo chown -R tomcat webapps/ work/ temp/ logs/
5. systemd tarnybos faile sukūrimas:
Kadangi Tomcat bus paleidžiama, kaip tarnyba, nustatykime
systemd failą. Tomcat turi žinoti, kur yra įdiegta Java. Šis kelias kreipia į "JAVA_HOME". Lengviausias būdas peržiūrėti konkrečią vietą serveryje yra šios komandos paleidimas:
sudo update-java-alternatives -l
Atsakymas:
java-1.11.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.11.0-openjdk-amd64
Taigi pilnas kelias yra
/usr/lib/jvm/java-1.11.0-openjdk-amd64 (Jūsų kelias gali skirtis). Su šia informacija mes galime sukurti
systemd tarnybos failą. Atsidarykite failą
tomcat.service direktorijoje
/etc/systemd/system:
sudo nano /etc/systemd/system/tomcat.service
Ir įkelkite nurodytą tekstą:
[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
Išsaugokite ir uždarykite failą.
Perkraukite
systemd daemon'ą, kad sistema žinotų apie naują tarnybą:
sudo systemctl daemon-reload
Ir paleiskite komandą:
sudo systemctl status tomcat
6. Tomcat testavimas
Testavimui atlikti atsidarykite adresą:
http://jūsų_serverio_ip:8080
Jeigu Jums bus sėkmingai pateikiamas Tomcat puslapis, galite įvesti Tomcat automatinio paleidimo po perkrovimo komandą:
sudo systemctl enable tomcat
7. Tomcat administravimo per naršyklę sąsajos konfigūravimas:
Tam, kad galėtume naudotis konfigūravimo per internetinį adresą, turime pridėti prisijungimo galimybę Tomcat serveryje. Tai atliksime pakoregavę
tomcat-users.xml failą:
sudo nano /opt/tomcat/conf/tomcat-users.xml
Jums reikia pridėti naudotoją, kuris galės naudoti
manager-gui ir
admin-gui. Galite nurodyti tą patį naudotoją, kurį sukūrėte anksčiau. Nurodykite naudotoją ir saugų slaptažodį:
<tomcat-users . . .>
<user username="naudotojas" password="slaptažodis" roles="manager-gui,admin-gui"/>
</tomcat-users>
Išsaugokite ir uždarykite failą.
Pagal nutylėjimą Tomcat draudžia prisijungimą prie "Manager" ir Host Manager" skilčių jungiantis ne tiesiogiai iš serverio. Kadangi turėsite poreikį pasiekti šias skiltis ne tiesiogiai iš serverio, galite nurodyti IP adresą, kuriam bus duota prieiga:
"Manager app"skilčiai koreguokite šį failą:
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
"Host Manager" koregavimui naudokite šį failą:
sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml
Nurodykite IP adresą ties "allow" eilute:
<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>
Išsaugokite ir išėję iš failo perkraukite Tomcat tarnybą:
sudo systemctl restart tomcat
8. Veiksmai internetinėje sąsajoje:
Kadangi jau turite susikūrę naudotoją, kuris galės pasiekti konfigūraciją, atsidarykite Tomcat adresu:
http://jūsų_serverio_ip:8080
Jums bus patiekiamas toks vaizdas:
Pasirinkus "Manager app" arba "Host Manager" Jums reikės įvesti savo naudotojo duomenis, kuriuos nurodėte
tomcat-users.xml faile. Tada Jums bus pateikiamas toks puslapis:
"Manager app" yra naudojama Java aplikacijų valdymui. Gali startuoti, sustabdyti, perkraukti ir pan. Taip pat galite paleisti diagnostika (pavyzdžiui: atminties praradimo aptikimams). Informaciją apie serverį rasite puslapio apačioje.
"Host Manager" skiltyje galite pridėti virtualias mašinas aplikacijų veikimui. "Host Manager langas atrodo taip:
9. Apibendrinimas
Tomcat diegimas sėkmingai baigtas!
Jūsų Tomcat yra užbaigta, tačiau nešifruojama. Tai reiškia, kad visi duomenys gali būti skaitomi trečiųjų šalių. Todėl rekomenduojame apsaugoti pasiekiamumą su SSL sertifkatu.