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.

Az Ubuntu Tomcat 6.0 csomagjai a Tomcat futtatásának két módját támogatják. Telepítheti klasszikus, önálló rendszerszintű példányként, amely rendszerindításkor indul és a tomcat6 felhasználó nevében fut. Azonban telepíthet privát példányokat is, amelyek a saját felhasználójának jogaival futnak, és amelyeket Önnek kell elindítania és leállítania. Ez utóbbi fejlesztői kiszolgálókon hasznos, ahol több felhasználónak is képesnek kell lennie a tesztelésre a saját Tomcat példányán.

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