Ebből a bejegyzésből megtudhatod, hogy az Apache webkiszolgálót hogyan állítsd be, hogy a java webalkalmazásokra irányuló kéréseket továbbítsa a Tomcat részére, majd a visszakapott választ adja vissza a kliens felé.
Tomcat8 telepítése
A bejegyzésem alapfeltétele, egy – már korábban – feltelepített- és megfelelően konfigurált apache webkiszolgáló. Az általam használt szerver debian 8 jessie, de a leírtak éppúgy érvényesek ubuntu 14.04 LTS és ubuntu 16.04 LTS szerverekre is. Először frissítsük a rendszerünket.
sudo apt-get update sudo apt-get upgrade
Majd telepítsük fel a szükséges csomagokat.
sudo apt-get install tomcat8 tomcat8-admin tomcat8-common tomcat8-docs tomcat8-examples tomcat8-user
Állítsuk le a szolgáltatást.
sudo /etc/init.d/tomcat8 stop
Nyissuk meg a server.xml állományt
sudo nano /etc/tomcat8/server.xml
Módosítsuk az AJP 1.3 Connector beállításait az alábbiak szerint.
<Connector port="8009" protocol="AJP/1.3" URIEncoding="UTF-8" redirectPort="8443" />
A konfiguráció szerint a Tomcat8 webszerver, a 8009 porton fog figyelni, majd a beérkező kérést feldolgozás után, a 8443 proton fogja megválaszolni. Érdemes beállítani az UTF-8 karakterkódolást, mivel az alapkonfiguráció, az ASCII kódtáblát támogatja.
Nyissuk meg szerkesztésre, a tomcat-user.xml állományt.
sudo nano /etc/tomcat8/tomcat-user.xml
Majd adjuk hozzá a tomcat-users szekcióhoz, az alábbi sorokat.
<role rolename="manager-gui" /> <role rolename="admin-gui" /> <user username="felhasználó név" password="jelszó" roles="manager-gui,admin-gui">
Természetesen a felhasználó név és jelszó szavakat, változtasd meg a saját igényednek megfelelően. Ezt követően indítsuk el a szolgáltatást.
sudo /etc/init.d/romcat8 start
JDK beállítása
A Tomcat8, Debian Jessie szerver esetén, alapértelmezésben a java-7-openjdk környezetet telepíti és használja. A Java SE Development Kit 8-as verziójának használatához kövesd az alábbi lépéseket.
Hozzuk létre a szükséges átmeneti könyvtárat.
sudo mkdir /usr/share/tomcat8
Lépjünk be a könyvtárba.
sudo cd /usr/share/tomcat8
Töltsük le az állományt.
sudo wget http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-x64.tar.gz
Tömörítsük ki a csomagot
sudo tar -xvzf jdk-8u91-linux-x64.tar.gz -C /usr/share/tomcat8
Majd távolítsuk el a letöltött állományt.
rm jdk-8u91-linux-x64.tar.gz
Nincs más dolgunk, mint érvényesíteni az új fejlesztői környezetet
sudo update-alternatives --install /usr/bin/javac javac /usr/share/jdk1.8.0_91/bin/javac 1 sudo update-alternatives --install /usr/bin/java java /usr/share/jdk1.8.0_91/bin/java 1
Java és Javac könfiguráció módosításához a következő parancsokat használjuk
sudo update-alternatives --config javac sudo update-alternatives --config java
Ellenőrízzük az aktuális verziókat
java -version javac -version
Amennyiben nem vétettünk hibát, akkor már a 8-as JDK aktuális verzióját kell látnunk a kimeneten. Állítsuk be a Tomcat8 szervert is, hogy az új környezetet használja. Ehhez ismét állítsuk le a szolgáltatást
sudo /etc/init.d/romcat8 stop
Majd nyissuk meg a tomcat8 konfigurációs állományt.
sudo nano /etc/default/tomcat8
Keressük meg a JAVA_HOME= szekciót és módosítsuk az alábbiak szerint
JAVA_HOME=/usr/local/jdk1.8.0_91
Indítsuk el a szolgáltatást.
sudo /etc/init.d/romcat8 start
Így már a 7-es helyett, a 8-as JDK-t használja a Tomcat8 szerver.
Apache konfigurálása
A folytatásban megtanítjuk az Apache webkiszolgálót arra, hogy hogyan használja az AJP kapcsolatkezelőt. Ennek megfelelően, telepítsük fel a szükséges modult.
sudo apt-get install libapache2-mod-jk
Majd hozzuk létre a workers.properties állományt.
sudo nano /etc/apache2/workers.properties
Illesszük be az alábbi utasításokat, magyarázat nélkül.
worker.list=worker1 worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009
Mondjuk meg az Apache webservernek, hogy hol keresse a properties konfigurációs állományt.
sudo nano /etc/apache2/mods-available/jk.conf
Keressük meg a JkWorkersFile property beállítást, és módosítsuk.
JkWorkersFile property /etc/apache2/workers.properties
Majd mondjuk meg az Apache servernek, hogy mely URI-k esetén küldje a kérést a tomcat8 szervernek. Ehhez nyissuk meg a megfelelő konfigurációs állományt, természetesen a te állományod neve eltérhet a példámtól.
sudo nano /etc/apache2/sites-enabled/000-default
Használd az alábbi példát a saját konfigurációdhoz.
<VirtualHost *:80> ...................... ...................... JkMount /pelda* worker1 </VirtualHost>
A „pelda” természetesen a Tomcat projekt neve, ezt át kell állítani a tiédre. Ezután nincs más dolgod, mint újraindítani az Apache szolgáltatást.
sudo service apache2 restart
Így már az Apache webszervered fel lett készítve arra, hogy a 80-as portra érkező Java Webalkalmazásokra irányuló kéréseket, automatikusan továbbítsa a Tomcat8 webszerver felé, majd a visszakapott választ automatikusan visszaküldi a kliens részére. Tulajdonképpen proxy-ként funkcionál és teljes mértékben transzparens szolgáltatást nyújt a felhasználó részére. Természetesen SSL alréteg használata esetén is hasonló módon kell elvégezni a konfigurációt.