<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kveskima</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kveskima"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Kveskima"/>
	<updated>2026-05-09T01:27:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dot_muzei&amp;diff=87236</id>
		<title>Dot muzei</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dot_muzei&amp;diff=87236"/>
		<updated>2015-03-06T18:10:34Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* XML andmefail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Raggakana=&lt;br /&gt;
&lt;br /&gt;
==Liikmed==&lt;br /&gt;
#Aap Kaur Suvi&lt;br /&gt;
#Indrek Jõgi&lt;br /&gt;
#Kristjan Veskimäe&lt;br /&gt;
#Sandra Niinepuu - projektijuht&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==XML andmefail==&lt;br /&gt;
&lt;br /&gt;
XML fail on &#039;&#039;Eksponaadid.xml&#039;&#039;, skeemifail on &#039;&#039;Eksponaadid.xsd&#039;&#039; ja transformatsioonifail on &#039;&#039;Eksponaadid.xslt&#039;&#039;. XML faili valideerimiseks skeemifailiga peavad mõlemad failid asuma ühes ja samas kataloogis (kuna skeemifaili asukohaks on XML faili päises määratud Eksponaadid.xsd).&lt;br /&gt;
&lt;br /&gt;
===XML fail===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;muuseumid xmlns=&amp;quot;http://example.com/schemas/muuseumid/v1&amp;quot;&lt;br /&gt;
           xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
           xsi:schemaLocation=&amp;quot;http://example.com/schemas/muuseumid/v1 &lt;br /&gt;
           Eksponaadid.xsd&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;!-- Andmed pärinevad http://muis.ee/catalogue --&amp;gt;&lt;br /&gt;
  &amp;lt;muuseum nimi=&amp;quot;Eesti Sõjamuuseum&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Esemekogu&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;kinnas&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Labakinnas. M. Laidoneri (ema) kootud&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 22 A 22&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;tääk&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Mälestusese, miniatuurne tääk, USA Air Cavalry Divisioni sümboolikaga.&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 365 A&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Tulirelvad&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;false&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;tulirelv&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Otepää püss, koopia&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 1421 R1 457&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;tulirelv&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Tank 34-85&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 1603 R1 553&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Rahuldav&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt; &lt;br /&gt;
  &amp;lt;/muuseum&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;muuseum nimi=&amp;quot;Eesti Ajaloomuuseum&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Fotod&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;album&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Fotoalbum: Vene tsaariarmee - 141. Možaiski polk, polkovnik Aganjev, grupipildid, portreed, olustik, kohavaated, ettevalmistused lahinguteks, arstiabi, matused.&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;AM _ 59 F 5501/1-305&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;album&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Fotoalbum: &amp;quot;Kaks aastat Punaarmee Eesti korpust 1942-1944.&amp;quot; Illustreeritud, venekeelsed pildiallkirjad.&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;AM _ 42 F 4100/1-270&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Mööblikollektsioon&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;mööbel&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Laste söögitool, XIX saj. lõpp&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;AM _ 35566:1 Mb 1&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt;    &lt;br /&gt;
  &amp;lt;/muuseum&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/muuseumid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XML skeemifail===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; &lt;br /&gt;
           targetNamespace=&amp;quot;http://example.com/schemas/muuseumid/v1&amp;quot; &lt;br /&gt;
           xmlns=&amp;quot;http://example.com/schemas/muuseumid/v1&amp;quot; &lt;br /&gt;
           xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
           attributeFormDefault=&amp;quot;unqualified&amp;quot; &lt;br /&gt;
           elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;muuseumid&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;muuseum&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;muuseumikogu&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;eksponaat&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;olemus&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;number&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;seisund&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:simpleType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:enumeration value=&amp;quot;Hea&amp;quot;&amp;gt;&amp;lt;/xs:enumeration&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:enumeration value=&amp;quot;Rahuldav&amp;quot;&amp;gt;&amp;lt;/xs:enumeration&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:enumeration value=&amp;quot;Halb&amp;quot;&amp;gt;&amp;lt;/xs:enumeration&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;originaal&amp;quot; type=&amp;quot;xs:boolean&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:integer&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;tyyp&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:integer&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT failid===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;html&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;muuseumid/muuseum&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h1&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;nimi&amp;quot; select=&amp;quot;@nimi&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@nimi&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/h1&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;muuseumikogu&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;originaal&amp;quot; select=&amp;quot;@originaal&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;tyyp&amp;quot; select=&amp;quot;@tyyp&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;h2&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@tyyp&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/h2&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;eksponaat&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;p&amp;gt;Nimetus: &lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/p&amp;gt;&lt;br /&gt;
                &amp;lt;p&amp;gt;&lt;br /&gt;
                  Number:&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;number&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/p&amp;gt;&lt;br /&gt;
                &amp;lt;p&amp;gt;&lt;br /&gt;
                  Seisukord: &lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;seisund&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/p&amp;gt;&lt;br /&gt;
                &amp;lt;p&amp;gt;------------&amp;lt;/p&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/body&amp;gt;&lt;br /&gt;
      &amp;lt;/html&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuse analüüs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dot_muzei&amp;diff=87233</id>
		<title>Dot muzei</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dot_muzei&amp;diff=87233"/>
		<updated>2015-03-06T18:02:45Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* XML andmefail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Raggakana=&lt;br /&gt;
&lt;br /&gt;
==Liikmed==&lt;br /&gt;
#Aap Kaur Suvi&lt;br /&gt;
#Indrek Jõgi&lt;br /&gt;
#Kristjan Veskimäe&lt;br /&gt;
#Sandra Niinepuu - projektijuht&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==XML andmefail==&lt;br /&gt;
&lt;br /&gt;
XML fail on [[Eksponaadid.xml]], skeemifail on [[Eksponaadid.xsd]] ja transformatsioonifail on [[Eksponaadid.xslt]]&lt;br /&gt;
&lt;br /&gt;
===XML fail===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;muuseumid xmlns=&amp;quot;http://example.com/schemas/muuseumid/v1&amp;quot;&lt;br /&gt;
           xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
           xsi:schemaLocation=&amp;quot;http://example.com/schemas/muuseumid/v1 &lt;br /&gt;
           Eksponaadid.xsd&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;!-- Andmed pärinevad http://muis.ee/catalogue --&amp;gt;&lt;br /&gt;
  &amp;lt;muuseum nimi=&amp;quot;Eesti Sõjamuuseum&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Esemekogu&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;kinnas&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Labakinnas. M. Laidoneri (ema) kootud&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 22 A 22&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;tääk&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Mälestusese, miniatuurne tääk, USA Air Cavalry Divisioni sümboolikaga.&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 365 A&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Tulirelvad&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;false&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;tulirelv&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Otepää püss, koopia&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 1421 R1 457&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;tulirelv&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Tank 34-85&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 1603 R1 553&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Rahuldav&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt; &lt;br /&gt;
  &amp;lt;/muuseum&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;muuseum nimi=&amp;quot;Eesti Ajaloomuuseum&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Fotod&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;album&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Fotoalbum: Vene tsaariarmee - 141. Možaiski polk, polkovnik Aganjev, grupipildid, portreed, olustik, kohavaated, ettevalmistused lahinguteks, arstiabi, matused.&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;AM _ 59 F 5501/1-305&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;album&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Fotoalbum: &amp;quot;Kaks aastat Punaarmee Eesti korpust 1942-1944.&amp;quot; Illustreeritud, venekeelsed pildiallkirjad.&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;AM _ 42 F 4100/1-270&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Mööblikollektsioon&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;mööbel&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Laste söögitool, XIX saj. lõpp&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;AM _ 35566:1 Mb 1&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt;    &lt;br /&gt;
  &amp;lt;/muuseum&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/muuseumid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XML skeemifail===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; &lt;br /&gt;
           targetNamespace=&amp;quot;http://example.com/schemas/muuseumid/v1&amp;quot; &lt;br /&gt;
           xmlns=&amp;quot;http://example.com/schemas/muuseumid/v1&amp;quot; &lt;br /&gt;
           xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
           attributeFormDefault=&amp;quot;unqualified&amp;quot; &lt;br /&gt;
           elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;muuseumid&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;muuseum&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;muuseumikogu&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;eksponaat&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;olemus&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;number&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;seisund&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:simpleType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:enumeration value=&amp;quot;Hea&amp;quot;&amp;gt;&amp;lt;/xs:enumeration&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:enumeration value=&amp;quot;Rahuldav&amp;quot;&amp;gt;&amp;lt;/xs:enumeration&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:enumeration value=&amp;quot;Halb&amp;quot;&amp;gt;&amp;lt;/xs:enumeration&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;originaal&amp;quot; type=&amp;quot;xs:boolean&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:integer&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;tyyp&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:integer&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT failid===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;html&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;muuseumid/muuseum&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h1&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;nimi&amp;quot; select=&amp;quot;@nimi&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@nimi&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/h1&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;muuseumikogu&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;originaal&amp;quot; select=&amp;quot;@originaal&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;tyyp&amp;quot; select=&amp;quot;@tyyp&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;h2&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@tyyp&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/h2&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;eksponaat&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;p&amp;gt;Nimetus: &lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/p&amp;gt;&lt;br /&gt;
                &amp;lt;p&amp;gt;&lt;br /&gt;
                  Number:&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;number&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/p&amp;gt;&lt;br /&gt;
                &amp;lt;p&amp;gt;&lt;br /&gt;
                  Seisukord: &lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;seisund&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/p&amp;gt;&lt;br /&gt;
                &amp;lt;p&amp;gt;------------&amp;lt;/p&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/body&amp;gt;&lt;br /&gt;
      &amp;lt;/html&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuse analüüs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dot_muzei&amp;diff=87229</id>
		<title>Dot muzei</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dot_muzei&amp;diff=87229"/>
		<updated>2015-03-06T17:23:57Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* XSLT failid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Raggakana=&lt;br /&gt;
&lt;br /&gt;
==Liikmed==&lt;br /&gt;
#Aap Kaur Suvi&lt;br /&gt;
#Indrek Jõgi&lt;br /&gt;
#Kristjan Veskimäe&lt;br /&gt;
#Sandra Niinepuu - projektijuht&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==XML andmefail==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===XML fail===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;muuseumid xmlns=&amp;quot;http://example.com/schemas/muuseumid/v1&amp;quot;&lt;br /&gt;
           xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
           xsi:schemaLocation=&amp;quot;http://example.com/schemas/muuseumid/v1 &lt;br /&gt;
           Eksponaadid.xsd&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;!-- Andmed pärinevad http://muis.ee/catalogue --&amp;gt;&lt;br /&gt;
  &amp;lt;muuseum nimi=&amp;quot;Eesti Sõjamuuseum&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Esemekogu&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;kinnas&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Labakinnas. M. Laidoneri (ema) kootud&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 22 A 22&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;tääk&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Mälestusese, miniatuurne tääk, USA Air Cavalry Divisioni sümboolikaga.&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 365 A&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Tulirelvad&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;false&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;tulirelv&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Otepää püss, koopia&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 1421 R1 457&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;tulirelv&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Tank 34-85&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 1603 R1 553&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Rahuldav&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt; &lt;br /&gt;
  &amp;lt;/muuseum&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;muuseum nimi=&amp;quot;Eesti Ajaloomuuseum&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Fotod&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;album&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Fotoalbum: Vene tsaariarmee - 141. Možaiski polk, polkovnik Aganjev, grupipildid, portreed, olustik, kohavaated, ettevalmistused lahinguteks, arstiabi, matused.&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;AM _ 59 F 5501/1-305&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;album&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Fotoalbum: &amp;quot;Kaks aastat Punaarmee Eesti korpust 1942-1944.&amp;quot; Illustreeritud, venekeelsed pildiallkirjad.&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;AM _ 42 F 4100/1-270&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Mööblikollektsioon&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;mööbel&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Laste söögitool, XIX saj. lõpp&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;AM _ 35566:1 Mb 1&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt;    &lt;br /&gt;
  &amp;lt;/muuseum&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/muuseumid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XML skeemifail===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; &lt;br /&gt;
           targetNamespace=&amp;quot;http://example.com/schemas/muuseumid/v1&amp;quot; &lt;br /&gt;
           xmlns=&amp;quot;http://example.com/schemas/muuseumid/v1&amp;quot; &lt;br /&gt;
           xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
           attributeFormDefault=&amp;quot;unqualified&amp;quot; &lt;br /&gt;
           elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;muuseumid&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;muuseum&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;muuseumikogu&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;eksponaat&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;olemus&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;number&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;seisund&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:simpleType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:enumeration value=&amp;quot;Hea&amp;quot;&amp;gt;&amp;lt;/xs:enumeration&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:enumeration value=&amp;quot;Rahuldav&amp;quot;&amp;gt;&amp;lt;/xs:enumeration&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:enumeration value=&amp;quot;Halb&amp;quot;&amp;gt;&amp;lt;/xs:enumeration&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;originaal&amp;quot; type=&amp;quot;xs:boolean&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:integer&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;tyyp&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:integer&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT failid===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
    xmlns:msxsl=&amp;quot;urn:schemas-microsoft-com:xslt&amp;quot; exclude-result-prefixes=&amp;quot;msxsl&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:output method=&amp;quot;html&amp;quot; indent=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;html&amp;gt;&lt;br /&gt;
        &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;muuseumid/muuseum&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h1&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;nimi&amp;quot; select=&amp;quot;@nimi&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;@nimi&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/h1&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:for-each select=&amp;quot;muuseumikogu&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;originaal&amp;quot; select=&amp;quot;@originaal&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:variable name=&amp;quot;tyyp&amp;quot; select=&amp;quot;@tyyp&amp;quot;&amp;gt;&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
              &amp;lt;h2&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@tyyp&amp;quot;/&amp;gt;&lt;br /&gt;
              &amp;lt;/h2&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:for-each select=&amp;quot;eksponaat&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;p&amp;gt;Nimetus: &lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;nimetus&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/p&amp;gt;&lt;br /&gt;
                &amp;lt;p&amp;gt;&lt;br /&gt;
                  Number:&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;number&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/p&amp;gt;&lt;br /&gt;
                &amp;lt;p&amp;gt;&lt;br /&gt;
                  Seisukord: &lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;seisund&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/p&amp;gt;&lt;br /&gt;
                &amp;lt;p&amp;gt;------------&amp;lt;/p&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/body&amp;gt;&lt;br /&gt;
      &amp;lt;/html&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuse analüüs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dot_muzei&amp;diff=87228</id>
		<title>Dot muzei</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dot_muzei&amp;diff=87228"/>
		<updated>2015-03-06T17:23:03Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* XML skeemifail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Raggakana=&lt;br /&gt;
&lt;br /&gt;
==Liikmed==&lt;br /&gt;
#Aap Kaur Suvi&lt;br /&gt;
#Indrek Jõgi&lt;br /&gt;
#Kristjan Veskimäe&lt;br /&gt;
#Sandra Niinepuu - projektijuht&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==XML andmefail==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===XML fail===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;muuseumid xmlns=&amp;quot;http://example.com/schemas/muuseumid/v1&amp;quot;&lt;br /&gt;
           xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
           xsi:schemaLocation=&amp;quot;http://example.com/schemas/muuseumid/v1 &lt;br /&gt;
           Eksponaadid.xsd&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;!-- Andmed pärinevad http://muis.ee/catalogue --&amp;gt;&lt;br /&gt;
  &amp;lt;muuseum nimi=&amp;quot;Eesti Sõjamuuseum&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Esemekogu&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;kinnas&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Labakinnas. M. Laidoneri (ema) kootud&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 22 A 22&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;tääk&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Mälestusese, miniatuurne tääk, USA Air Cavalry Divisioni sümboolikaga.&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 365 A&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Tulirelvad&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;false&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;tulirelv&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Otepää püss, koopia&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 1421 R1 457&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;tulirelv&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Tank 34-85&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 1603 R1 553&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Rahuldav&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt; &lt;br /&gt;
  &amp;lt;/muuseum&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;muuseum nimi=&amp;quot;Eesti Ajaloomuuseum&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Fotod&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;album&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Fotoalbum: Vene tsaariarmee - 141. Možaiski polk, polkovnik Aganjev, grupipildid, portreed, olustik, kohavaated, ettevalmistused lahinguteks, arstiabi, matused.&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;AM _ 59 F 5501/1-305&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;album&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Fotoalbum: &amp;quot;Kaks aastat Punaarmee Eesti korpust 1942-1944.&amp;quot; Illustreeritud, venekeelsed pildiallkirjad.&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;AM _ 42 F 4100/1-270&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Mööblikollektsioon&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;mööbel&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Laste söögitool, XIX saj. lõpp&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;AM _ 35566:1 Mb 1&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt;    &lt;br /&gt;
  &amp;lt;/muuseum&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/muuseumid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XML skeemifail===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; &lt;br /&gt;
           targetNamespace=&amp;quot;http://example.com/schemas/muuseumid/v1&amp;quot; &lt;br /&gt;
           xmlns=&amp;quot;http://example.com/schemas/muuseumid/v1&amp;quot; &lt;br /&gt;
           xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
           attributeFormDefault=&amp;quot;unqualified&amp;quot; &lt;br /&gt;
           elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;muuseumid&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;muuseum&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;muuseumikogu&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;eksponaat&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;nimetus&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:extension base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:attribute name=&amp;quot;olemus&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;number&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;seisund&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:simpleType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:enumeration value=&amp;quot;Hea&amp;quot;&amp;gt;&amp;lt;/xs:enumeration&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:enumeration value=&amp;quot;Rahuldav&amp;quot;&amp;gt;&amp;lt;/xs:enumeration&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:enumeration value=&amp;quot;Halb&amp;quot;&amp;gt;&amp;lt;/xs:enumeration&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;originaal&amp;quot; type=&amp;quot;xs:boolean&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:integer&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:attribute name=&amp;quot;tyyp&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;nimi&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:integer&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT failid===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuse analüüs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dot_muzei&amp;diff=87227</id>
		<title>Dot muzei</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dot_muzei&amp;diff=87227"/>
		<updated>2015-03-06T17:21:02Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* XML fail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Raggakana=&lt;br /&gt;
&lt;br /&gt;
==Liikmed==&lt;br /&gt;
#Aap Kaur Suvi&lt;br /&gt;
#Indrek Jõgi&lt;br /&gt;
#Kristjan Veskimäe&lt;br /&gt;
#Sandra Niinepuu - projektijuht&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==XML andmefail==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===XML fail===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;muuseumid xmlns=&amp;quot;http://example.com/schemas/muuseumid/v1&amp;quot;&lt;br /&gt;
           xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
           xsi:schemaLocation=&amp;quot;http://example.com/schemas/muuseumid/v1 &lt;br /&gt;
           Eksponaadid.xsd&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;!-- Andmed pärinevad http://muis.ee/catalogue --&amp;gt;&lt;br /&gt;
  &amp;lt;muuseum nimi=&amp;quot;Eesti Sõjamuuseum&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Esemekogu&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;kinnas&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Labakinnas. M. Laidoneri (ema) kootud&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 22 A 22&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;tääk&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Mälestusese, miniatuurne tääk, USA Air Cavalry Divisioni sümboolikaga.&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 365 A&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Tulirelvad&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;false&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;tulirelv&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Otepää püss, koopia&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 1421 R1 457&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;tulirelv&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Tank 34-85&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;KLM ET 1603 R1 553&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Rahuldav&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt; &lt;br /&gt;
  &amp;lt;/muuseum&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;muuseum nimi=&amp;quot;Eesti Ajaloomuuseum&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Fotod&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;album&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Fotoalbum: Vene tsaariarmee - 141. Možaiski polk, polkovnik Aganjev, grupipildid, portreed, olustik, kohavaated, ettevalmistused lahinguteks, arstiabi, matused.&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;AM _ 59 F 5501/1-305&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;album&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Fotoalbum: &amp;quot;Kaks aastat Punaarmee Eesti korpust 1942-1944.&amp;quot; Illustreeritud, venekeelsed pildiallkirjad.&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;AM _ 42 F 4100/1-270&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt;&lt;br /&gt;
    &amp;lt;muuseumikogu tyyp=&amp;quot;Mööblikollektsioon&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;eksponaat originaal=&amp;quot;true&amp;quot; id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;nimetus olemus=&amp;quot;mööbel&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;quot;Laste söögitool, XIX saj. lõpp&amp;quot;]]&amp;gt;&amp;lt;/nimetus&amp;gt;&lt;br /&gt;
        &amp;lt;number&amp;gt;&amp;lt;![CDATA[&amp;quot;AM _ 35566:1 Mb 1&amp;quot;]]&amp;gt;&amp;lt;/number&amp;gt;&lt;br /&gt;
        &amp;lt;seisund&amp;gt;Hea&amp;lt;/seisund&amp;gt;&lt;br /&gt;
      &amp;lt;/eksponaat&amp;gt;&lt;br /&gt;
    &amp;lt;/muuseumikogu&amp;gt;    &lt;br /&gt;
  &amp;lt;/muuseum&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/muuseumid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XML skeemifail===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===XSLT failid===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuse analüüs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72327</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72327"/>
		<updated>2014-01-02T22:44:54Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Käigultvahetus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_sample_application.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;. Veebiarhiivi üleslaadimise liides on kujutatud plidil 2.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|600px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;. Nupud on näha ka pildil 3 olevas rakenduste nimekirjas.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|1000px|thumb|Pilt 3: Rakenduste nimekiri Tomcati haldusrakenduses &amp;quot;Tomcat Manager&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;). Antud rakenduse veebiliides on kujutatud pildil 4.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_host_manager_app.png|500px|thumb|Pilt 4: Tomcati haldusrakendus &amp;quot;Host Manage&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Kokkuvõte =&lt;br /&gt;
&lt;br /&gt;
Antud juhend aitab Unix-keskkonnas (ja operatsioonisüsteemi administreerimise algteadmiste olemasolul) Tomcati installeerida, käivitada ja juurutada Tomcatile ka Java näite veebiaplikatsioon. Lisaks on ära toodud ka mõned esmased näpunäited Tomcati kasutamiseks reaalse veebiserverina. Loodetavasti aitab juhend lugeja esmasel kokkupuutel Tomcatiga tekkivatest probleemidest jagu saada ja süveneda iseseisvalt veebiserveri Tomcat põhjalikumasse uurimisse.&lt;br /&gt;
&lt;br /&gt;
= Autori märkused =&lt;br /&gt;
&lt;br /&gt;
Tööl pole ma kahjuks Tomcati reaalselt kasutada saanud. Kuigi olen tegelenud Java ärirakendustega, on IT-juhtimise poolel seni otsustatud JBoss või Jetty kasuks. Siiski olen oma huviprojekte arendades või Java veebirakenduste tegemist õppides valinud just Tomcati. Seda eelkõige hea integreerituse tõttu IDE-dega. Tomcat töötab näiteks kohe koos NetBeansi installeerimisega, samuti pole kuigi keeruline tööle panna koos Java EE versiooniga Eclipse-ist. Tean ka vähemalt üht Eesti ettevõttet, mis kasutabki Tomcati reaalseks äriteenuste pakkumiseks.&lt;br /&gt;
&lt;br /&gt;
Seni on tundunud Tomcati kasutus läbi IDE mugav, kuid probleemide tekkimisel olen hätta jäänud. Kuna tegemist on siiski Java ärirakendusi toetava veebikonteineriga, mis pakub muu hulgas JNDI-nimeteenust ja andmebaasiühenduste haldamist, siis pole selle ülesehitus sugugi lihtne. Siiski aitab algtõdede teadmine ka lihtsamini lahendada tekkivaid probleeme läbi IDE kasutades.&lt;br /&gt;
&lt;br /&gt;
=Viiteid=&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72326</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72326"/>
		<updated>2014-01-02T22:44:29Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Viiteid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_sample_application.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;. Veebiarhiivi üleslaadimise liides on kujutatud plidil 2.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|600px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;. Nupud on näha ka pildil 3 olevas rakenduste nimekirjas.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|1000px|thumb|Pilt 3: Rakenduste nimekiri Tomcati haldusrakenduses &amp;quot;Tomcat Manager&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;). Antud rakenduse veebiliides on kujutatud joonisel 4.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_host_manager_app.png|500px|thumb|Pilt 4: Tomcati haldusrakendus &amp;quot;Host Manage&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Kokkuvõte =&lt;br /&gt;
&lt;br /&gt;
Antud juhend aitab Unix-keskkonnas (ja operatsioonisüsteemi administreerimise algteadmiste olemasolul) Tomcati installeerida, käivitada ja juurutada Tomcatile ka Java näite veebiaplikatsioon. Lisaks on ära toodud ka mõned esmased näpunäited Tomcati kasutamiseks reaalse veebiserverina. Loodetavasti aitab juhend lugeja esmasel kokkupuutel Tomcatiga tekkivatest probleemidest jagu saada ja süveneda iseseisvalt veebiserveri Tomcat põhjalikumasse uurimisse.&lt;br /&gt;
&lt;br /&gt;
= Autori märkused =&lt;br /&gt;
&lt;br /&gt;
Tööl pole ma kahjuks Tomcati reaalselt kasutada saanud. Kuigi olen tegelenud Java ärirakendustega, on IT-juhtimise poolel seni otsustatud JBoss või Jetty kasuks. Siiski olen oma huviprojekte arendades või Java veebirakenduste tegemist õppides valinud just Tomcati. Seda eelkõige hea integreerituse tõttu IDE-dega. Tomcat töötab näiteks kohe koos NetBeansi installeerimisega, samuti pole kuigi keeruline tööle panna koos Java EE versiooniga Eclipse-ist. Tean ka vähemalt üht Eesti ettevõttet, mis kasutabki Tomcati reaalseks äriteenuste pakkumiseks.&lt;br /&gt;
&lt;br /&gt;
Seni on tundunud Tomcati kasutus läbi IDE mugav, kuid probleemide tekkimisel olen hätta jäänud. Kuna tegemist on siiski Java ärirakendusi toetava veebikonteineriga, mis pakub muu hulgas JNDI-nimeteenust ja andmebaasiühenduste haldamist, siis pole selle ülesehitus sugugi lihtne. Siiski aitab algtõdede teadmine ka lihtsamini lahendada tekkivaid probleeme läbi IDE kasutades.&lt;br /&gt;
&lt;br /&gt;
=Viiteid=&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72325</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72325"/>
		<updated>2014-01-02T22:44:17Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Autori märkused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_sample_application.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;. Veebiarhiivi üleslaadimise liides on kujutatud plidil 2.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|600px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;. Nupud on näha ka pildil 3 olevas rakenduste nimekirjas.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|1000px|thumb|Pilt 3: Rakenduste nimekiri Tomcati haldusrakenduses &amp;quot;Tomcat Manager&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;). Antud rakenduse veebiliides on kujutatud joonisel 4.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_host_manager_app.png|500px|thumb|Pilt 4: Tomcati haldusrakendus &amp;quot;Host Manage&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Kokkuvõte =&lt;br /&gt;
&lt;br /&gt;
Antud juhend aitab Unix-keskkonnas (ja operatsioonisüsteemi administreerimise algteadmiste olemasolul) Tomcati installeerida, käivitada ja juurutada Tomcatile ka Java näite veebiaplikatsioon. Lisaks on ära toodud ka mõned esmased näpunäited Tomcati kasutamiseks reaalse veebiserverina. Loodetavasti aitab juhend lugeja esmasel kokkupuutel Tomcatiga tekkivatest probleemidest jagu saada ja süveneda iseseisvalt veebiserveri Tomcat põhjalikumasse uurimisse.&lt;br /&gt;
&lt;br /&gt;
= Autori märkused =&lt;br /&gt;
&lt;br /&gt;
Tööl pole ma kahjuks Tomcati reaalselt kasutada saanud. Kuigi olen tegelenud Java ärirakendustega, on IT-juhtimise poolel seni otsustatud JBoss või Jetty kasuks. Siiski olen oma huviprojekte arendades või Java veebirakenduste tegemist õppides valinud just Tomcati. Seda eelkõige hea integreerituse tõttu IDE-dega. Tomcat töötab näiteks kohe koos NetBeansi installeerimisega, samuti pole kuigi keeruline tööle panna koos Java EE versiooniga Eclipse-ist. Tean ka vähemalt üht Eesti ettevõttet, mis kasutabki Tomcati reaalseks äriteenuste pakkumiseks.&lt;br /&gt;
&lt;br /&gt;
Seni on tundunud Tomcati kasutus läbi IDE mugav, kuid probleemide tekkimisel olen hätta jäänud. Kuna tegemist on siiski Java ärirakendusi toetava veebikonteineriga, mis pakub muu hulgas JNDI-nimeteenust ja andmebaasiühenduste haldamist, siis pole selle ülesehitus sugugi lihtne. Siiski aitab algtõdede teadmine ka lihtsamini lahendada tekkivaid probleeme läbi IDE kasutades.&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72324</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72324"/>
		<updated>2014-01-02T22:44:05Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Kokkuvõte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_sample_application.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;. Veebiarhiivi üleslaadimise liides on kujutatud plidil 2.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|600px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;. Nupud on näha ka pildil 3 olevas rakenduste nimekirjas.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|1000px|thumb|Pilt 3: Rakenduste nimekiri Tomcati haldusrakenduses &amp;quot;Tomcat Manager&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;). Antud rakenduse veebiliides on kujutatud joonisel 4.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_host_manager_app.png|500px|thumb|Pilt 4: Tomcati haldusrakendus &amp;quot;Host Manage&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Kokkuvõte =&lt;br /&gt;
&lt;br /&gt;
Antud juhend aitab Unix-keskkonnas (ja operatsioonisüsteemi administreerimise algteadmiste olemasolul) Tomcati installeerida, käivitada ja juurutada Tomcatile ka Java näite veebiaplikatsioon. Lisaks on ära toodud ka mõned esmased näpunäited Tomcati kasutamiseks reaalse veebiserverina. Loodetavasti aitab juhend lugeja esmasel kokkupuutel Tomcatiga tekkivatest probleemidest jagu saada ja süveneda iseseisvalt veebiserveri Tomcat põhjalikumasse uurimisse.&lt;br /&gt;
&lt;br /&gt;
=== Autori märkused ===&lt;br /&gt;
&lt;br /&gt;
Tööl pole ma kahjuks Tomcati reaalselt kasutada saanud. Kuigi olen tegelenud Java ärirakendustega, on IT-juhtimise poolel seni otsustatud JBoss või Jetty kasuks. Siiski olen oma huviprojekte arendades või Java veebirakenduste tegemist õppides valinud just Tomcati. Seda eelkõige hea integreerituse tõttu IDE-dega. Tomcat töötab näiteks kohe koos NetBeansi installeerimisega, samuti pole kuigi keeruline tööle panna koos Java EE versiooniga Eclipse-ist. Tean ka vähemalt üht Eesti ettevõttet, mis kasutabki Tomcati reaalseks äriteenuste pakkumiseks.&lt;br /&gt;
&lt;br /&gt;
Seni on tundunud Tomcati kasutus läbi IDE mugav, kuid probleemide tekkimisel olen hätta jäänud. Kuna tegemist on siiski Java ärirakendusi toetava veebikonteineriga, mis pakub muu hulgas JNDI-nimeteenust ja andmebaasiühenduste haldamist, siis pole selle ülesehitus sugugi lihtne. Siiski aitab algtõdede teadmine ka lihtsamini lahendada tekkivaid probleeme läbi IDE kasutades.&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72323</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72323"/>
		<updated>2014-01-02T22:43:27Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_sample_application.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;. Veebiarhiivi üleslaadimise liides on kujutatud plidil 2.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|600px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;. Nupud on näha ka pildil 3 olevas rakenduste nimekirjas.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|1000px|thumb|Pilt 3: Rakenduste nimekiri Tomcati haldusrakenduses &amp;quot;Tomcat Manager&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;). Antud rakenduse veebiliides on kujutatud joonisel 4.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_host_manager_app.png|500px|thumb|Pilt 4: Tomcati haldusrakendus &amp;quot;Host Manage&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Kokkuvõte ===&lt;br /&gt;
&lt;br /&gt;
Antud juhend aitab Unix-keskkonnas (ja operatsioonisüsteemi administreerimise algteadmiste olemasolul) Tomcati installeerida, käivitada ja juurutada Tomcatile ka Java näite veebiaplikatsioon. Lisaks on ära toodud ka mõned esmased näpunäited Tomcati kasutamiseks reaalse veebiserverina. Loodetavasti aitab juhend lugeja esmasel kokkupuutel Tomcatiga tekkivatest probleemidest jagu saada ja süveneda iseseisvalt veebiserveri Tomcat põhjalikumasse uurimisse.&lt;br /&gt;
&lt;br /&gt;
=== Autori märkused ===&lt;br /&gt;
&lt;br /&gt;
Tööl pole ma kahjuks Tomcati reaalselt kasutada saanud. Kuigi olen tegelenud Java ärirakendustega, on IT-juhtimise poolel seni otsustatud JBoss või Jetty kasuks. Siiski olen oma huviprojekte arendades või Java veebirakenduste tegemist õppides valinud just Tomcati. Seda eelkõige hea integreerituse tõttu IDE-dega. Tomcat töötab näiteks kohe koos NetBeansi installeerimisega, samuti pole kuigi keeruline tööle panna koos Java EE versiooniga Eclipse-ist. Tean ka vähemalt üht Eesti ettevõttet, mis kasutabki Tomcati reaalseks äriteenuste pakkumiseks.&lt;br /&gt;
&lt;br /&gt;
Seni on tundunud Tomcati kasutus läbi IDE mugav, kuid probleemide tekkimisel olen hätta jäänud. Kuna tegemist on siiski Java ärirakendusi toetava veebikonteineriga, mis pakub muu hulgas JNDI-nimeteenust ja andmebaasiühenduste haldamist, siis pole selle ülesehitus sugugi lihtne. Siiski aitab algtõdede teadmine ka lihtsamini lahendada tekkivaid probleeme läbi IDE kasutades.&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Tomcat_sample_application.png&amp;diff=72321</id>
		<title>File:Tomcat sample application.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Tomcat_sample_application.png&amp;diff=72321"/>
		<updated>2014-01-02T22:23:53Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72320</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72320"/>
		<updated>2014-01-02T22:23:32Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Käsitsi juurutamine ja mahavõtmine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_sample_application.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;. Veebiarhiivi üleslaadimise liides on kujutatud plidil 2.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|600px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;. Nupud on näha ka pildil 3 olevas rakenduste nimekirjas.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|1000px|thumb|Pilt 3: Rakenduste nimekiri Tomcati haldusrakenduses &amp;quot;Tomcat Manager&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;). Antud rakenduse veebiliides on kujutatud joonisel 4.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_host_manager_app.png|500px|thumb|Pilt 4: Tomcati haldusrakendus &amp;quot;Host Manage&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72319</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72319"/>
		<updated>2014-01-02T22:22:23Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;. Veebiarhiivi üleslaadimise liides on kujutatud plidil 2.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|600px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;. Nupud on näha ka pildil 3 olevas rakenduste nimekirjas.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|1000px|thumb|Pilt 3: Rakenduste nimekiri Tomcati haldusrakenduses &amp;quot;Tomcat Manager&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;). Antud rakenduse veebiliides on kujutatud joonisel 4.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_host_manager_app.png|500px|thumb|Pilt 4: Tomcati haldusrakendus &amp;quot;Host Manage&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72318</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72318"/>
		<updated>2014-01-02T22:22:10Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;. Veebiarhiivi üleslaadimise liides on kujutatud plidil 2.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|600px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;. Nupud on näha ka pildil 3 olevas rakenduste nimekirjas.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|1000px|thumb|Pilt 3: Rakenduste nimekiri Tomcati haldusrakenduses &amp;quot;&amp;quot;Tomcat Manager&amp;quot;&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;). Antud rakenduse veebiliides on kujutatud joonisel 4.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_host_manager_app.png|500px|thumb|Pilt 4: Tomcati haldusrakendus &amp;quot;Host Manage&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72317</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72317"/>
		<updated>2014-01-02T22:21:16Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Käigultvahetus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;. Veebiarhiivi üleslaadimise liides on kujutatud plidil 2.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|600px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;. Nupud on näha ka pildil 3 olevas rakenduste nimekirjas.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|1000px|thumb|Pilt 3: Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;). Antud rakenduse veebiliides on kujutatud joonisel 4.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_host_manager_app.png|500px|thumb|Pilt 4: Tomcati haldusrakendus &amp;quot;Host Manage&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72316</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72316"/>
		<updated>2014-01-02T22:20:52Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Käigultvahetus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;. Veebiarhiivi üleslaadimise liides on kujutatud plidil 2.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|600px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;. Nupud on näha ka pildil 3 olevas rakenduste nimekirjas.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|1000px|thumb|Pilt 3: Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;). Antud rakenduse veebiliides on kujutatud joonisel 4.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_host_manager_app.png|500px|thumb|Pilt 4: Tomcati haldusrakendus]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Tomcat_host_manager_app.png&amp;diff=72315</id>
		<title>File:Tomcat host manager app.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Tomcat_host_manager_app.png&amp;diff=72315"/>
		<updated>2014-01-02T22:19:40Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72314</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72314"/>
		<updated>2014-01-02T22:17:12Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;. Veebiarhiivi üleslaadimise liides on kujutatud plidil 2.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|600px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;. Nupud on näha ka pildil 3 olevas rakenduste nimekirjas.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|1000px|thumb|Pilt 3: Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_host_manager_app.png|500px|thumb|Pilt 4: Tomcati haldusrakendus]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72313</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72313"/>
		<updated>2014-01-02T22:13:31Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;. Veebiarhiivi üleslaadimise liides on kujutatud plidil 2.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|600px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;. Nupud on näha ka pildil 3 olevas rakenduste nimekirjas.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|1000px|thumb|Pilt 3: Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72312</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72312"/>
		<updated>2014-01-02T22:13:13Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;. Veebiarhiivi üleslaadimise liides on kujutatud plidil 2.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|300px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;. Nupud on näha ka pildil 3 olevas rakenduste nimekirjas.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|thumb|Pilt 3: Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72311</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72311"/>
		<updated>2014-01-02T22:12:50Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;. Veebiarhiivi üleslaadimise liides on kujutatud plidil 2.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|800px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;. Nupud on näha ka pildil 3 olevas rakenduste nimekirjas.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|300px|thumb|Pilt 3: Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72310</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72310"/>
		<updated>2014-01-02T22:11:18Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|800px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|300px|thumb|Pilt 3: Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72309</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72309"/>
		<updated>2014-01-02T22:10:50Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|800px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|frame|300px|Pilt 3: Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72308</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72308"/>
		<updated>2014-01-02T22:09:37Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|800px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|none|300px|Pilt 3: Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72307</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72307"/>
		<updated>2014-01-02T22:07:49Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|800px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|200px|thumb|frame|Pilt 3: Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72306</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72306"/>
		<updated>2014-01-02T22:07:36Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|800px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|thumb|frame|Pilt 3: Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72305</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72305"/>
		<updated>2014-01-02T22:07:07Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|800px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|thumb|border|Pilt 3: Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72304</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72304"/>
		<updated>2014-01-02T22:04:33Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|800px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|thumb|right|Pilt 3: Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72303</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72303"/>
		<updated>2014-01-02T22:04:00Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|800px|thumb|right|Pilt 2: Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Pilt 3: Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72302</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72302"/>
		<updated>2014-01-02T22:03:33Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Käsitsi juurutamine ja mahavõtmine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Pilt 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|800px|thumb|right|Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72301</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72301"/>
		<updated>2014-01-02T22:03:05Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Käsitsi juurutamine ja mahavõtmine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Joonis 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ . Kui rakendamine õnnestub, siis peaks olema brauserist nähtav sarnane lehekülg nagu pildil 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|800px|thumb|right|Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72300</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72300"/>
		<updated>2014-01-02T22:02:21Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Käsitsi juurutamine ja mahavõtmine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Joonis 1: Õnnestunult rakendatud näiteaplikatsioon]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|800px|thumb|right|Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72299</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72299"/>
		<updated>2014-01-02T22:01:31Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Õnnestunult rakendatud näiteaplikatsioon[http://localhost:8080/sample/]]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|800px|thumb|right|Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72298</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72298"/>
		<updated>2014-01-02T22:00:50Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Õnnestunult rakendatud näiteaplikatsioon[http://localhost:8080/sample/]]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_war_upload.png|400px|thumb|right|Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72297</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72297"/>
		<updated>2014-01-02T22:00:27Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Õnnestunult rakendatud näiteaplikatsioon[http://localhost:8080/sample/]]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:File:tomcat_manager_war_upload.png|400px|thumb|right|Veebiarhiivi üleslaadimise nupp]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72296</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72296"/>
		<updated>2014-01-02T21:56:16Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Käsitsi juurutamine ja mahavõtmine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px|thumb|right|Õnnestunult rakendatud näiteaplikatsioon[http://localhost:8080/sample/]]]&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
[[File:tomcat_manager_war_upload.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72294</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72294"/>
		<updated>2014-01-02T21:52:13Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Käsitsi juurutamine ja mahavõtmine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 1] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
[[File:tomcat_manager_war_upload.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72293</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72293"/>
		<updated>2014-01-02T21:51:41Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Haldurakendus &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 2] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
[[File:tomcat_manager_war_upload.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72292</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72292"/>
		<updated>2014-01-02T21:51:12Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* &amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 2] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 3]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 4]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 1]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
[[File:tomcat_manager_war_upload.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72291</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72291"/>
		<updated>2014-01-02T21:50:52Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Juurutamise järjekord */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 2] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 3]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 4]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 8]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 6]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
[[File:tomcat_manager_war_upload.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 2]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72290</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72290"/>
		<updated>2014-01-02T21:50:36Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Mälukasutus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 2] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 3]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 4]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 8]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 6]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
[[File:tomcat_manager_war_upload.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 9]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 3]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72289</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72289"/>
		<updated>2014-01-02T21:50:11Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Kasutatud materjalid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 2] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 3]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 4]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 8]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 6]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
[[File:tomcat_manager_war_upload.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 9]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 5]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
#http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
#http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
#http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72288</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72288"/>
		<updated>2014-01-02T21:47:07Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Juurutamise järjekord */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 2] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 3]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 4]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 8]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 6]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
[[File:tomcat_manager_war_upload.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras [http://www.mulesoft.com/tomcat-deploy-procedures 9]:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 5]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
*http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
*http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
*http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72287</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72287"/>
		<updated>2014-01-02T21:45:47Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* &amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 2] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 3]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 4]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 8]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 6]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
[[File:tomcat_manager_war_upload.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 5]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
*http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
*http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
*http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72286</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72286"/>
		<updated>2014-01-02T21:39:47Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* &amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 2] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 3]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 4]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 6]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
[[File:tomcat_manager_war_upload.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 5]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
*http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
*http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
*http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72285</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72285"/>
		<updated>2014-01-02T21:37:51Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Mälukasutus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 2] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 3]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 4]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
[[File:tomcat_manager_war_upload.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega [http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/ 5]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
*http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
*http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
*http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72284</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72284"/>
		<updated>2014-01-02T21:36:30Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Haldurakendus &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 2] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 3]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 4]&lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
[[File:tomcat_manager_war_upload.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
*http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
*http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
*http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72283</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72283"/>
		<updated>2014-01-02T21:34:54Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Haldurakendus &amp;quot;Tomcat Manager&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 2] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Introduction 3]:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . &lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
[[File:tomcat_manager_war_upload.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
*http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
*http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
*http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72282</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72282"/>
		<updated>2014-01-02T21:33:33Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Käsitsi juurutamine ja mahavõtmine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path 2] Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . &lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
[[File:tomcat_manager_war_upload.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
*http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
*http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
*http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72281</id>
		<title>Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Tomcat&amp;diff=72281"/>
		<updated>2014-01-02T21:30:49Z</updated>

		<summary type="html">&lt;p&gt;Kveskima: /* Tomcati vahendid juurutamiseks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autor==&lt;br /&gt;
&lt;br /&gt;
Kristjan Veskimäe D32&lt;br /&gt;
&lt;br /&gt;
2013&lt;br /&gt;
&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
&lt;br /&gt;
Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga. Kiire käivitumise ning rakenduste käigultvahetuse tõttu on Tomcat hea valik väiksemate ning keskmise suurusega Java veebirakenduste käitamiseks.&lt;br /&gt;
&lt;br /&gt;
Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
Töö vaatleb Tomcati paigaldamist ja seadistamist Unix-laadsesse keskkonda ning eeldab lugejalt algteadmisi sarnastes süsteemides. Tomcati on võimalik paigaldada ka Windows-keskkonda, kuid antud veebiserver eeldab kasutaja poolt käsureal töötamist ning Tomcati failihierarhias orienteerumist. Põhimõtteliselt on Java veebirakenduste arendamiseks IDE-abil võimalik siiski ka kasutada IDE-sse integreeritud Tomcati serverit - näiteks pakuvad sellist võimalust Eclipse EE ja NetBeans - kuid seda käesolev töö ei vaatle.&lt;br /&gt;
&lt;br /&gt;
==Mõisted==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kontekst&#039;&#039;&#039; (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon&lt;br /&gt;
* &#039;&#039;&#039;Konteiner&#039;&#039;&#039; (container) - veebiserver Tomcat ise&lt;br /&gt;
* &#039;&#039;&#039;Kontekstikirjeldus&#039;&#039;&#039; (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus; peremehepõhine osa loetakse failist $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja sellele lisatakse kontekstispetsiifilised täpsustused failist $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt. (olgu märgitud, et Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml)&lt;br /&gt;
* &#039;&#039;&#039;Dokumendipõhi&#039;&#039;&#039; (docBase) - kontekstile vastav kataloog Tomcati &amp;quot;webapps&amp;quot; kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel&lt;br /&gt;
* &#039;&#039;&#039;Veebiarhiiv&#039;&#039;&#039; (Web application ARchive, war-file) - Java veebiaplikatsiooni jagatakse hea tava kohaselt selle üheainsa veebiarhiivi failina, mille laienditüübiks on &amp;quot;war&amp;quot;. Tegemist on zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on &amp;quot;war is exploded&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Ülesehitus==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Kataloogid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_HOME &lt;br /&gt;
|baaskataloog, kuhu on Tomcat paigutatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE&lt;br /&gt;
|parasjagu töösoleva Tomcati eksemplari baaskataloog, mille alusel lahendatakse teed ülejäänud kataloogide ja failideni; ainult ühe kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin&lt;br /&gt;
|serveri käivitus- ja abiskriptid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf &lt;br /&gt;
|konfiguratsioonifailid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/lib &lt;br /&gt;
|Tomcatile vaikimisi kättesaadavad Java klassiteegid (class libraries) ehk .jar-failid kuhu on Java kompileeritud kood kokku pakendatud&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/logs&lt;br /&gt;
|logifailid paigutatakse vaikimisi siia&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps&lt;br /&gt;
|kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mõned olulisemad failid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/startup.sh&lt;br /&gt;
|serveri käivitusskript&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/bin/shutdown.sh&lt;br /&gt;
|serveri peatusskript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/server.xml &lt;br /&gt;
| konteineri peamine konfiguratsioonifail&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml &lt;br /&gt;
|serveri administraatori jaoks konteinerisse endasse ümber kopeeritud rakendusepõhine kontekstikirjelduse konfiguratsioon failist $CATALINA_BASE/webapps/[ApplicationName]/META-INF/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
| fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada peremeesmasina-põhiselt ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/$CATALINA_BASE/conf/[enginename]/[hostname]/manager.xml &lt;br /&gt;
|fail, mis võimaldab lisada rakendustele ligipääsufiltreid&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml&lt;br /&gt;
|kontekstikirjeldusfail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle, mistõttu administraator peaks muutma selle asemel konteinerisse ümber kopeeritud püsieksemplari $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;color: green;&amp;quot; | $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml&lt;br /&gt;
|ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail, mille pakendatakse koos veebiarhiiviga; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installeerimine==&lt;br /&gt;
&lt;br /&gt;
===Installeerimine paketihalduriga===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-cache search tomcat&lt;br /&gt;
apt-get install tomcat[version]-webapps&lt;br /&gt;
apt-get install tomcat[version]-admin&lt;br /&gt;
apt-get install tomcat[version]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installeerimine käsitsi===&lt;br /&gt;
&lt;br /&gt;
Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail &amp;quot;RUNNING.txt&amp;quot; on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.&lt;br /&gt;
&lt;br /&gt;
Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist &amp;quot;Download&amp;quot;. Järgnevas näites installeerime Tomcati kõige uuema ebastabiilse kandidaatversiooni, mida näitab nimes sisalduv RC ehk &amp;quot;release candidate&amp;quot;. Produktsioonikeskkonda tuleks siiski valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz&lt;br /&gt;
mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5&lt;br /&gt;
rm -f /Library/Tomcat &lt;br /&gt;
ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat &lt;br /&gt;
chown -R kristjanveskimae /Library/Tomcat&lt;br /&gt;
chmod +x /Library/Tomcat/bin/*.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Käivitamine ja aplikatsiooni juurutamine==&lt;br /&gt;
&lt;br /&gt;
===Konteineri käivitamine===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitamise eelduseks on Java paigaldamine masinasse ning keskkonnamuutujate &amp;quot;JAVA_HOME&amp;quot; ja &amp;quot;JRE_HOME&amp;quot; defineerimine. Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/startup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja peatamiseks&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Library/Tomcat/bin/shutdown.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Näiteaplikatsiooni juurutamine===&lt;br /&gt;
&lt;br /&gt;
Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina. Siiski võib Tomcati juurutada ka lahtipakendatud olekus (&amp;quot;exploded&amp;quot;) Java veebiaplikatsiooni.&lt;br /&gt;
&lt;br /&gt;
====Käsitsi juurutamine ja mahavõtmine====&lt;br /&gt;
&lt;br /&gt;
Näiteaplikatsiooni juurutamiseks lae selle veebiarhiivifail alla ning kopeeri oma konteineri juurutamiskataloogi &#039;webapps&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war&lt;br /&gt;
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;, installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Mõlemal juhul pakib konteiner arhiveeritud faili ise lahti samasse kausta $CATALINA_BASE/webapps ning ka juurutab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .&lt;br /&gt;
&lt;br /&gt;
[[File:sample_app.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Veebirakenduse käsitsi mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog &amp;quot;webapps&amp;quot; kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist. Veelgi lihtsam on mahavõtmine brauseriga haldusrakenduse kaudu.&lt;br /&gt;
&lt;br /&gt;
Rakenduste baaskataloogi &amp;quot;webapps&amp;quot; asukohta saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga &amp;quot;appBase&amp;quot;, sealjuures Tomcati vaikimisi peremees ehk &amp;quot;Host&amp;quot; on &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Tomcati vahendid juurutamiseks====&lt;br /&gt;
&lt;br /&gt;
Veebiaplikatsioonide juurutamine ja mahajuurutamine on võimalik ka kaughalduse teel tänu Tomcati internetipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda HTML-põhise rakendusega &amp;quot;Tomcat Manager&amp;quot;. Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer). TCD ei kuulu Tomcati baaskoosseisu, kuid pakub peale serveri administreerimise tavatoimingute ka lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine. [http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html#Configuring_Manager_Application_Access 1]&lt;br /&gt;
&lt;br /&gt;
====Haldurakendus &amp;quot;Tomcat Manager&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
Tomcati haldusrakendus &amp;quot;Tomcat Manager&amp;quot; (antud alamjaotuses lihtsalt haldusrakendus) on Tomcati enda veebiaplikatioon Tomcati brauseripõhiseks kaughalduseks, võimaldades muu hulgas järgnevat:&lt;br /&gt;
* Rakendada uue veebiaplikatsiooni war-faili üleslaadimisega;&lt;br /&gt;
* Näha kõiki rakendatud veebiaplikatsioone koos aktiivsete sessioonidega;&lt;br /&gt;
* Taasrakendada veebirakendust, näiteks veebiarhiivi pakitud klassifailide /WEB-INF/classes või teekide /WEB-INF/lib uuendamisel, kinnijooksmisel jms.;&lt;br /&gt;
* Peatada veebirakendust ilma serverist eemaldamata, samuti koos serverist eemaldamisega;&lt;br /&gt;
* Vaadata operatsioonisüsteemi ja Java parameetrite väärtusi;&lt;br /&gt;
* Näha kõiki saadaolevaid JNDI ressursse, k.a. andmebaasiühendusi, mis aitavad rakenduste programmeerijail defineerida &amp;lt;ResourceLink&amp;gt; elemendid web.xml konfiguratsioonifailis.&lt;br /&gt;
 &lt;br /&gt;
Tomcati installatsioon sisaldab haldusrakendust juba vaikimisi. Haldusrakenduse töölepanemiseks tuleb peremeesmasina konfiguratsioonikataloogi $CATALINA_BASE/conf/[enginename]/[hostname] lisada ka fail manager.xml. Vaikimisi valmiskonfigureeritud testrakendusel on see fail juba olemas asukohas $CATALINA_BASE/conf/Catalina/localhost/manager.xml . Rakendus asub vaikimisi aadressil http://[host]/manager/ , vaikimisi konfiguratsioone kasutades lahendub see asukohaks http://localhost:8080/manager/ . &lt;br /&gt;
 &lt;br /&gt;
=====&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine=====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on turvalisuspõhjustel ligipääs haldusrakendusele maha keeratud. Mismoodi täpselt kasutajatel ligipääsu võimaldada sõltub kasutatavast valdusest (realm). Vaikimisi defineerib $CATALINA_BASE/conf/server.xml valduseks &amp;quot;MemoryRealm&amp;quot;. Vaikimisi loeb valdus &amp;quot;MemoryRealm&amp;quot; kasutajad failist  $CATALINA_BASE/conf/tomcat-users.xml. Antud failis tuleb iga kasutaja defineerida omaette märgendiga &amp;lt;user&amp;gt;, mis näeb välja umbes järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;user name=&amp;quot;craig&amp;quot; password=&amp;quot;secret&amp;quot; roles=&amp;quot;manager-gui,manager-script&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud kasutajale on defineeritud korraga kaks rolli. Ligipääsu võimaldamiseks tulebki lihtsamal juhul kasutajatefailis $CATALINA_BASE/conf/tomcat-users.xml defineerida enda kasutaja. Kasutaja rolliks võib määrata näiteks &amp;quot;manager-gui&amp;quot;, mis võimaldab ligipääsu kogu HTML liidese funktsionaalsusele. &lt;br /&gt;
&lt;br /&gt;
Teised valdused on &amp;quot;JDBCRealm&amp;quot;, mille puhul hoitakse kasutajatega seonduvat infot andmebaasis ja JNDIRealm, mille puhul kasutatakse lihtsustatud kataloogisirvimise protokolli (LDAP).&lt;br /&gt;
Lisaks saab haldusrakendusele keelata ligipääsu mujalt kui kindlaksmääratud IP-aadressidelt, lisades filtri &amp;quot;RemoteAddrValve&amp;quot; või &amp;quot;RemoteHostValve&amp;quot; konfigureerimisfaili manager.xml näiteks järgmiselt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Context privileged=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Valve className=&amp;quot;org.apache.catalina.valves.RemoteAddrValve&amp;quot;&lt;br /&gt;
                allow=&amp;quot;127\.0\.0\.1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Context&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Juurutamine ja mahavõtmine haldusrakendusega &amp;quot;Tomcat Manager&amp;quot;=====&lt;br /&gt;
&lt;br /&gt;
Juurutamiseks lae kõigepealt veebiarhiivifail üles, kasutades esilehel asuvat sektsiooni &amp;quot;WAR file to deploy&amp;quot;.&lt;br /&gt;
[[File:tomcat_manager_war_upload.png]]&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Rakendus kuvatakse seejärel hallatavate rakenduste nimekirjas. Kui konteiner pole seadistatud üleslaetud aplikatsiooni kohe ka ise rakendama, tuleb vajutada &amp;quot;Start&amp;quot;. Rakenduse peatamiseks kasuta &amp;quot;Stop&amp;quot;, uuesti rakendamiseks &amp;quot;Redeploy&amp;quot; ja serverist eemaldamiseks &amp;quot;Undeploy&amp;quot;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:tomcat_manager_apps_list.png|800px|Rakenduste nimekiri]]&lt;br /&gt;
&lt;br /&gt;
==Näpunäiteid Tomcati reaalseks kasutamiseks==&lt;br /&gt;
&lt;br /&gt;
===Juurutamise järjekord===&lt;br /&gt;
&lt;br /&gt;
Tomcati käivitumisel juurutatakse aplikatsioonid sellises järjekorras:&lt;br /&gt;
# Konteinerisse kopeeritud kontekstikirjelduste järgi $CATALINA_BASE/conf/[EngineName]/[HostName]/[ApplicationName].xml ;&lt;br /&gt;
# Lahtipakitud rakendused &amp;quot;webapps&amp;quot; kataloogis;&lt;br /&gt;
# Pakitud rakenduste veebiarhiivid &amp;quot;webapps&amp;quot; kataloogis.&lt;br /&gt;
&lt;br /&gt;
Seetõttu peaks käsitsi taasjuurutamisel kindluse mõttes eelnevalt kustutama rakenduse lahtipakitud dokumendipõhja kataloogi &amp;quot;webapps&amp;quot; kataloogist. Kontekstikirjelduse muutumisel tuleb jälgida, kas kirjeldus on juba kopeeritud serverisse ning vajadusel eelmise versiooni ümber muuta või kustutada.&lt;br /&gt;
&lt;br /&gt;
===Reaalsele domeenile konfigureerimine===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt eeldame, et domeen &#039;&#039;www.minukodukas.ee&#039;&#039; on juba serverimasinaga seostatud. Et Tomcat hakkaks ka reaalselt Internetist tulevatele päringutele vastama, tuleb muuta failis $CATALINA_BASE/conf/server.xml konteinerile &#039;&#039;Catalina&#039;&#039; vastava teenusemärgendi sisu sarnaselt järgnevaga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;Connector port=&amp;quot;80&amp;quot; protocol=&amp;quot;HTTP/1.1&amp;quot; connectionTimeout=&amp;quot;20000&amp;quot; URIEncoding=&amp;quot;UTF-8&amp;quot; redirectPort=&amp;quot;8443&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;www.minukodukas.ee&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;Host name=&amp;quot;www.minukodukas.ee&amp;quot;  appBase=&amp;quot;webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;false&amp;quot; deployOnStartup=&amp;quot;false&amp;quot; xmlValidation=&amp;quot;false&amp;quot; xmlNamespaceAware=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Context path=&amp;quot;&amp;quot; docBase=&amp;quot;kodukas&amp;quot; debug=&amp;quot;0&amp;quot; reloadable=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/Host&amp;gt;&lt;br /&gt;
      &amp;lt;/Engine&amp;gt;&lt;br /&gt;
&amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ülal defineerime põhiliselt selle, et Tomcat kuulaks domeeni &#039;&#039;www.minukodukas.ee&#039;&#039; ja kasutaks HTTP päringute jaoks porti 80. Ühtlasti otsib Tomcat juurutatavat rakendust failist  $CATALINA_BASE/webapps/kodukas.war. Kuna rajalisandiks on määratud tühi sõne (path=&amp;quot;&amp;quot;), siis juurutataksegi aplikatsioon aadressile &#039;&#039;www.minukodukas.ee&#039;&#039; ilma rajalisandita (a&#039;la &#039;&#039;www.minukodukas.ee/wiki&#039;&#039;). Seetõttu pakitakse ka veebiarhiiv tegelikult lahti kataloogi $CATALINA_BASE/webapps/ROOT mitte kataloogi $CATALINA_BASE/webapps/kodukas nagu võiks eeldada.&lt;br /&gt;
&lt;br /&gt;
===Käigultvahetus===&lt;br /&gt;
&lt;br /&gt;
Võimaldamaks käigultvahetust (hot deployment) peab konteineri konfiguratsioonifailis $CATALINA_BASE/conf/server.xml olema peremehepõhise märgendi &amp;quot;Host&amp;quot; atribuudi &amp;quot;autoDeploy&amp;quot; väärtus &amp;quot;true&amp;quot;. Sel juhul installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on &amp;quot;false&amp;quot;, käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha konteineri taaskäivitus. Käigultvahetust saab määrata ka peremehe defineerimisel &amp;quot;Host Manager&amp;quot; rakendusega, mis on kättesaadav aadressil http://localhost:8080/host-manager/html . Kasutamiseks tuleb lisada oma kasutajale rolli &amp;quot;admin-gui&amp;quot; (vt. alajaotus &amp;quot;&amp;quot;Tomcat Manager&amp;quot; ligipääsu konfigureerimine&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:host_manager_app.png]]&lt;br /&gt;
&lt;br /&gt;
Käigultvahetust päästikuks on vaikimisi uuendatud veebiarhiivifaili või lahtipakitud veebirakenduse paigutamine &amp;quot;webapps&amp;quot; kataloogi. Käigultvahetuse päästikutele võib failis $CATALINA_BASE/conf/server.xml ka ise lisada kuulatavaid ressursse nagu web.xml muutmine või mõne teegifaili vahetamine (märgendis &amp;quot;Host&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
===Klassiteekide väljatõstmine veebiarhiivifailist===&lt;br /&gt;
&lt;br /&gt;
Kõik konteksti poolt kasutatavad Java klassiteegid võib pakendada veebiarhiivi sisse kataloogi &amp;quot;lib&amp;quot;, kuid nii võib osutuda veebiarhiivi üleslaadimine ajakulukaks, eriti arenduskeskkonnas. Kui ei teki ohtu, et erinevad rakendused kasutavad sama teegi erinevaid versioone, siis on vahel parem lisada osa teeke konteineri kataloogi $CATALINA_BASE/libs, kust need tehakse siis konteineri poolt kättesaadavaks kõigile konteineris jooksutatavatele kontekstidele. Nii võib vähendada veebiarhiivi faili suurust märgatavalt, mis tõstab kokkuvõttes juurutamiskiirust ja ühes sellega programmeerijate tööviljakust.&lt;br /&gt;
&lt;br /&gt;
===Mälukasutus===&lt;br /&gt;
&lt;br /&gt;
Konteineri poolt kasutatavat mälu saab vaadata haldusrakendusest vajutades lingile &amp;quot;Server Status&amp;quot;. Mälukasutus on toodud jaotuses &amp;quot;JVM&amp;quot;, kus näidatakse nii maksimaalselt kättesaadavat mälu kui ka parasjagu reserveeritud mälu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Free memory: 41.16 MB Total memory: 123.37 MB Max memory: 1027.56 MB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mälu suurendamiseks võib näiteks defineerida skriptis $CATALINA_BASE/bin/catalina.sh muutuja &amp;quot;JAVA_OPTS&amp;quot; ning määrata Java mälukasutuse miinimum- ja maksimumväärtused sarnaselt järgnevatega:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
JAVA_OPTS=&amp;quot;-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logifailid===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi defineerib Tomcat failiga $CATALINA_BASE/conf/logging.properties viis logerit, mis tekitavad viis eraldi logifaili.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background:#cccc99;color:black;width:80%;&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ Tomcati tekitatavad logifailid &amp;quot;logs&amp;quot; kataloogis&lt;br /&gt;
!Fail !! Kasutus&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.out &lt;br /&gt;
| Tomcati käivitus- ja peatamisskriptide väljund, samuti juurutatud rakenduste prindilaused System.out ja veaväljundid System.err&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |catalina.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Pööratud (rotated) logifail catalina.out&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |host-manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Logi peremehehalduse rakendusele (rakendus on kättesaadav kohalikust masinast aadressil http://localhost:8080/host-manager/html )&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Peremehe &amp;quot;localhost&amp;quot; logi; mitme virtuaalse peremehe korral tekitatakse igale peremehele oma logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |localhost_access_log.[yyyy]-[mm]-[dd].txt&lt;br /&gt;
| Konteinerisse Internetist saabunud päringute logi&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:300px&amp;quot; |manager.[yyyy]-[mm]-[dd].log&lt;br /&gt;
| Haldusrakenduse tegevuste logi&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Viiteid===&lt;br /&gt;
&lt;br /&gt;
Palju vajalikku võib leida [http://tomcat.apache.org/tomcat-8.0-doc/index.html Tomcat 8 dokumentatsioonist]&lt;br /&gt;
&lt;br /&gt;
Lisaks üks viide põhjalikule Tomcati versioon seitsme ülevaatele: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_More.html&lt;br /&gt;
&lt;br /&gt;
= Kasutatud materjalid =&lt;br /&gt;
&lt;br /&gt;
*http://tomcat.apache.org/tomcat-8.0-doc/index.html&lt;br /&gt;
*http://www.mulesoft.com/tomcat-deploy-procedures&lt;br /&gt;
*http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/&lt;br /&gt;
&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Kveskima</name></author>
	</entry>
</feed>