Apache Tomcat

Az Apache Tomcat egy webes tároló, amely lehetővé teszi Java Servletek és JSP (Java Server Pages) webalkalmazások kiszolgálását.

The Tomcat 6.0 packages in Ubuntu support two different ways of running Tomcat. You can install them as a classic unique system-wide instance, that will be started at boot time will run as the tomcat6 unpriviledged user. But you can also deploy private instances that will run with your own user rights, and that you should start and stop by yourself. This second way is particularly useful in a development server context where multiple users need to test on their own private Tomcat instances.

Rendszerszintű telepítés

A Tomcat kiszolgáló telepítéséhez adja ki a következő parancsot a terminálban:

sudo apt-get install tomcat6

Ezzel telepítésre került egy Tomcat kiszolgáló, amely csak egy alapértelmezett ROOT webalkalmazást tartalmaz. Ez alapértelmezésben egy minimális „It works” oldalt jelenít meg.

Beállítás

A Tomcat beállítófájljai az /etc/tomcat6 könyvtárban találhatók. Itt csak néhány általános beállítási lehetőség kerül ismertetésre, további információkért lásd a Tomcat 6.0 dokumentációját.

Alapértelmezett portok megváltoztatása

Alapértelmezésben a Tomcat 6.0 egy HTTP kapcsolatkezelőt futtat a 8080-as porton, és egy AJP kapcsolatkezelőt a 8009-es porton. A rendszeren futó más kiszolgálókkal való ütközés elkerülése érdekében szükség lehet ezen portok megváltoztatására. Ezt az /etc/tomcat6/server.xml fájl következő sorainak megváltoztatásával érheti el:

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />
...
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

A használt JVM megváltoztatása

Alapértelmezésben a Tomcat az OpenJDK-6 használatával fut, ezután a Sun JVM-jét próbálja, majd az egyéb JVM-eket. Ha több JVM van telepítve, az /etc/default/tomcat6 JAVA_HOME változójának beállításával megadható a használni kívánt JVM:

JAVA_HOME=/usr/lib/jvm/java-6-sun

Felhasználók és szerepek deklarálása

A felhasználónevek, jelszavak és szerepek (csoportok) központilag adhatók meg a Servlet tárolókban. A Tomcat 6.0-ban ezt az /etc/tomcat6/tomcat-users.xml fájlban teheti meg:

<role rolename="admin"/>
<user username="tomcat" password="t1t0k" roles="admin"/>

Szabványos Tomcat webalkalmazások használata

A Tomcat alapértelmezésben tartalmaz dokumentációs, adminisztrációs vagy bemutató célokra használható webalkalmazásokat.

Tomcat dokumentáció

A tomcat6-docs csomag a Tomcat 6.0 webalkalmazásként csomagolt dokumentációját tartalmazza, amelyet alapértelmezésben a http://azönkiszolgálója:8080/docs címen érhet el. A következő parancs kiadásával telepítheti:

sudo apt-get install tomcat6-docs

Tomcat adminisztrációs webalkalmazások

A tomcat6-admin csomag két webalkalmazást tartalmaz, amelyek a Tomcat kiszolgáló webes felületről történő adminisztrálására szolgálnak. Ezeket a következő parancs kiadásával telepítheti:

sudo apt-get install tomcat6-admin

Az első a manager webalkalmazás, amelyet alapértelmezésben a http://azönkiszolgálója:8080/manager/html címen érhet el. Elsősorban a kiszolgáló állapotának lekérésére és webalkalmazások újraindítására használható.

[Megjegyzés]

A manager alkalmazás elérése alapértelmezésben korlátozott: az eléréséhez meg kell adnia egy „manager” szerepű felhasználót az /etc/tomcat6/tomcat-users.xml fájlban.

A második a host-manager webalkalmazás, amelyet alapértelmezésben a http://azönkiszolgálója:8080/host-manager/html címen érhet el. Ez virtuális kiszolgálók dinamikus létrehozására használható.

[Megjegyzés]

A host-manager alkalmazás elérése alapértelmezésben szintén korlátozott: az eléréséhez meg kell adnia egy „admin” szerepű felhasználót az /etc/tomcat6/tomcat-users.xml fájlban.

Biztonsági okokból a tomcat6 felhasználó alapértelmezésben nem írhat az /etc/tomcat6 könyvtárba. Ezen adminisztrációs webalkalmazások néhány szolgáltatása (alkalmazástelepítés, virtuális kiszolgálók létrehozása) írási hozzáférést igényel a könyvtárhoz. Ha ezeket a szolgáltatásokat használni kívánja, akkor adja ki a következő parancsokat a megfelelő hozzáférés biztosításához a tomcat6 csoport felhasználóinak:

sudo chgrp -R tomcat6 /etc/tomcat6
sudo chmod -R g+w /etc/tomcat6 

Példa Tomcat webalkalmazások

A tomcat6-examples csomag két webalkalmazást tartalmaz, amelyek servletek és JSP szolgáltatások tesztelésére vagy bemutatására használhatók, ezek alapértelmezésben a http://azönkiszolgálója:8080/examples címen érhetők el. A következő parancs kiadásával telepíthetők:

sudo apt-get install tomcat6-examples

Privát példányok használata

A Tomcatet sokszor fejlesztési és tesztelési célokra használják, ekkor egy rendszerszintű példány használata nem elégíti ki egy adott rendszer több felhasználójának igényeit. Az Ubuntu Tomcat 6.0 csomagjai a felhasználószintű példányok telepítését segítő eszközöket tartalmaznak, lehetővé téve a rendszer minden felhasználójának önálló privát példányok futtatását (rendszergazdai jog nélkül), ugyanúgy a rendszerre telepített programkönyvtárakat használva.

[Megjegyzés]

Lehetőség van a rendszerszintű példány és a privát példányok párhuzamos használatára is, amennyiben nem azonos TCP-portokat használnak.

Privát példányok támogatásának telepítése

A következő parancs kiadásával telepíthető minden, ami a privát példányok futtatásához szükséges:

sudo apt-get install tomcat6-user

Privát példány létrehozása

A következő parancs kiadásával hozhat létre privát példánykönyvtárat:

tomcat6-instance-create privátpéldány

Ez létrehozza az új privátpéldány könyvtárat, az összes szükséges alkönyvtárral és parancsfájllal. Az általános programkönyvtárakat például telepítheti a lib/ könyvtárba, a webalkalmazásokat pedig a webapps alkönyvtárba. Alapértelmezésben nem kerülnek telepítésre webalkalmazások.

A privát példány beállítása

A privát példány szokásos Tomcat beállítófájljait a conf/ alkönyvtárban találja meg. Mindenképpen szerkesztenie kell például a conf/server.xml fájlt a privát Tomcat példány által használt portok módosításához, így elkerülve az ütközést az egyéb, esetlegesen futó példányokkal.

A privát példány indítása/leállítása

A privát példányt a következő parancs kiadásával indíthatja el (feltételezve, hogy a példány a privátpéldány könyvtárban van):

privátpéldány/bin/startup.sh
[Megjegyzés]

Keressen hibákat a logs/ alkönyvtárban. Ha a java.net.BindException: Address already in use<null>:8080 hibát látja, akkor a port már foglalt, és meg kell változtatnia.

A következő parancs kiadásával leállíthatja a példányt (feltételezve, hogy a példány a privátpéldány könyvtárban van):

privátpéldány/bin/shutdown.sh

Hivatkozások