Java-sivujen käyttö Tomcatilla
Vanhentunut ohje
Tämä ohje on joko osin tai kokonaan vanhentunut. Ohjetta saattaa kyetä soveltamaan uudemmilla www-palvelimilla, mutta toiminnasta ei ole takeita.
Tomcat on alusta Java-pohjaisten sivujen ajamiseen. Kapsilla sitä ei ole keskitetysti asennettuna, mutta kohtuullisella vaivalla palvelimen käyttö onnistuu myös kotihakemistosta.
Huom: Erillisen Tomcat-palvelimen ajaminen vie paljon muistia, joten java-sivujen tarve kannattaa harkita tarkasti, ja käyttää muita sivustotekniikoita mikäli mahdollista.
Tässä ohjeessa neuvotaan Tomcatin asentaminen proxy-tyyppisesti. Tällöin Apache www-palvelin asetetaan välittämään pyynnöt toisessa portissa ajettavalle Tomcat-palvelimelle.
Tomcatia varten tarvitaan paikallisesti käytettävä portti, jonka voi valita vapaasti väliltä 30000–40000. Ristiriitojen välttämiseksi kannattaa valita satunnainen porttinumero, eikä tasalukua.
Ohje edellyttää jonkin verran shell-käytön osaamista ja ennenkaikkea viitseliäisyyttä, joten aivan aloittelijoille sitä ei voi suositella.
Ohjelmien asennus
Komennot suoritetaan Lakka-palvelimella ssh-yhteyden kautta.
- Luodaan hakemisto Tomcatille ja Javalle. Ohjeessa käytetään hakemistoa tomcat
kotihakemiston juuressa:
mkdir ~/tomcat cd ~/tomcat
- Java JRE:n lataaminen. Sunin sivuilta ladataan Java Runtime Environment (JRE) Linux self-extracting file. Tiedoston nimen pitäisi olla suunnilleen jre-6u2-linux-i586.bin.
- Puretaan Java JRE tomcat-hakemiston alla. Purkuohjelma pyytää ensin
hyväksymään lisenssin, ja purkautuu sitten hakemistoon jre1.6.0_02.
sh jre-6u2-linux-i586.bin
- Tomcatin lataaminen. Tomcatin sivuilta ladataan uusin core-binäärijakelu .tar.gz-muodossa.
- Puretaan Tomcatin paketti tomcat-hakemiston alla:
tar xzf apache-tomcat-6.0.14.tar.gz
Aiemmin valitun porttinumeron asettaminen. Muokataan tiedostoa ~/tomcat/apache-tomcat-6.0.14/conf/server.xml :
Www-palvelun portti asetetaan tiedoston keskivaiheilla (huomioi, että tiedostossa on esimerkkejä kommentoituna, joiden muuttaminen ei hyödytä):
<Connector port="34567" protocol="HTTP/1.1" ...
Lisäksi täytyy asettaa hallintapuolen käyttämä portti:
<Server port="34568" shutdown="SHUTDOWN">
Lisäksi tiedostossa on erinäisiä muita kommentoimattomia porttiasetuksia. Niitä ei tarvita, joten ne kannattaa kommentoida jottei tule porttiristiriitoja muiden käyttäjien kanssa.
-
Tomcatin käyttämän java-ympäristön muuttaminen. Tämän voi tehdä asettamalla JRE_HOME .bashrc:ssä, mutta skriptikäytön kannalta lienee parempi muokata Tomcatin tiedostoa ~/tomcat/apache-tomcat-6.0.14/bin/setclasspath.sh .
Tiedoston alkuun muutaman ensimmäisen rivin (komentotulkin nimi ja kommentteja) jälkeen lisätään seuraava rivi. Polkuun vaihdetaan oma käyttäjätunnus, sekä JRE:n polku mikäli versio on muu kuin ohjeessa.
JRE_HOME=/home/users/käyttäjätunnus/tomcat/jre1.6.0_02
-
Tomcatin testikäynnistys:
sh ~/tomcat/apache-tomcat-6.0.14/bin/startup.sh
Tomcatin esimerkkisivuja voi testata www-palvelimelta paikallisesti tekstiselaimella. Osoitteeseen vaihdetaan itse valittu portti:
w3m http://10.0.0.8:portti/
Apachen proxy-toiminto
Haluttuun www-hakemistoon (esimerkiksi ~/public_html/tomcat/) luodaan .htaccess-tiedosto. Tiedoston sisältöön täytyy muuttaa itse valittu portti.
RewriteEngine On RewriteRule ^(.*)$ http://10.0.0.8:portti/$1 [P]
Nyt Tomcatin sivujen pitäisi näkyä ko. osoitteessa, (esimerkissä http://kapsi.fi/~kayttaja/tomcat/). Tosin jotkin linkit ovat yhä rikki, koska Tomcat antaa väärän polun uudelleenohjauksiin, kuten osoitteella http://kapsi.fi/~kayttaja/tomcat/docs. Sen saa korjattua server.xml:ssä lisäämällä Connector-osioon proxyName ja proxyPort-asetukset:
<Connector port="34567" protocol="HTTP/1.1" ... proxyName="koti.kapsi.fi/~kayttaja/tomcat" proxyPort="80"/>
Asetuksen jälkeen Tomcat täytyy käynnistää uudelleen shutdown.sh ja startup.sh -skripteillä.
Ongelmatilanteet
Ongelmatilanteissa apua voi etsiä logs-hakemiston alla olevista lokitiedostoista. Näistä catalina-logit kannattaa tarkistaa ensimmäisenä, sillä niistä näkyy käynnistyykö palvelin laisinkaan.