<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Il sito di Luca &#187; tomcat</title>
	<atom:link href="http://www.ilsitodiluca.it/tag/tomcat/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ilsitodiluca.it</link>
	<description>Di quel Luca... no, non quello, quell&#039;altro... ecco, quello!</description>
	<lastBuildDate>Sat, 04 Feb 2012 14:42:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Come installare le librerie APR per Tomcat 7 su Centos 6</title>
		<link>http://www.ilsitodiluca.it/2012/02/02/come-installare-le-librerie-apr-per-tomcat-7-su-centos-6/</link>
		<comments>http://www.ilsitodiluca.it/2012/02/02/come-installare-le-librerie-apr-per-tomcat-7-su-centos-6/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 06:34:17 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[apr]]></category>
		<category><![CDATA[SSLEngine]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[tomcat native]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=1811</guid>
		<description><![CDATA[Tempo fa ho scritto un articolo su come installare le librerie APR su una Debian. Ho recentemente ripetuto la procedura ma cambiando distro linux, una Centos 6 a 64 bit. Vediamo nuovamente i passaggi per eseguire l&#8217;installazione. Come di consueto, l&#8217;assenza della libreria è segnalata nei log catalina.out di Tomcat all&#8217;avvio del servizio: Feb 01, [...]]]></description>
			<content:encoded><![CDATA[<p>Tempo fa ho scritto un articolo su <a title="Installare APR per Tomcat su Linux" href="http://www.ilsitodiluca.it/2010/07/28/come-installare-le-librerie-apr-di-apache-tomcat-su-linux/" target="_blank">come installare le librerie APR su una Debian</a>. Ho recentemente ripetuto la procedura ma cambiando distro linux, una <strong>Centos 6 a 64 bit</strong>. Vediamo nuovamente i passaggi per eseguire l&#8217;installazione.</p>
<p><span id="more-1811"></span></p>
<p style="text-align: center;"><img class="aligncenter" style="margin-left: 70px; margin-right: 70px;" title="Apache Tomcat" src="http://www.ilsitodiluca.it/wp-content/uploads/2010/07/apache_tomcat-300x76.png" alt="" width="300" height="76" /></p>
<p>Come di consueto, l&#8217;assenza della libreria è segnalata nei log catalina.out di Tomcat all&#8217;avvio del servizio:</p>
<pre>Feb 01, 2012 5:23:55 PM org.apache.catalina.core.AprLifecycleListener</pre>
<pre>init INFO: <strong>The APR based Apache Tomcat Native library which allows </strong></pre>
<pre><strong>optimal performance in production environments was not found on </strong></pre>
<pre><strong>the java.library.path</strong>: :/home/tomcat/tomcat/lib:/usr/java/packages/</pre>
<pre>lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib Feb 01, 2012 5:23:55 PM</pre>
<pre>org.apache.coyote.AbstractProtocol init INFO: Initializing</pre>
<pre> ProtocolHandler ["http-bio-8080"] Feb 01, 2012 5:23:55 PM</pre>
<pre>org.apache.coyote.AbstractProtocol init INFO: Initializing</pre>
<pre>ProtocolHandler ["ajp-bio-8009"]</pre>
<p>&nbsp;</p>
<p>Procediamo quindi con l&#8217;installazione. Scaricate il pacchetto di Apache Tomcat dal sito ufficiale e scompattatelo nella directory da voi scelta. All&#8217;interno del path bin/ è presente un file <strong>tomcat-native.tar.gz</strong>:</p>
<pre>[root@ native]# ls -l /home/tomcat/tomcat/bin/
total 660
-rw-r--r-- 1 tomcat tomcat  28150 Jan 17 10:53 bootstrap.jar
-rw-r--r-- 1 tomcat tomcat  13218 Jan 17 10:53 catalina.bat
-rwxr-xr-x 1 tomcat tomcat  19189 Jan 17 10:53 catalina.sh
-rw-r--r-- 1 tomcat tomcat   2558 Jan 17 10:54 catalina-tasks.xml
-rw-r--r-- 1 tomcat tomcat  24148 Jan 17 10:53 commons-daemon.jar
-rw-r--r-- 1 tomcat tomcat 197674 Jan 17 10:53 commons-daemon-native.tar.gz
-rw-r--r-- 1 tomcat tomcat   2131 Jan 17 10:53 configtest.bat
-rwxr-xr-x 1 tomcat tomcat   1982 Jan 17 10:53 configtest.sh
-rw-r--r-- 1 tomcat tomcat   1342 Jan 17 10:53 cpappend.bat
-rwxr-xr-x 1 tomcat tomcat   7476 Jan 17 10:53 daemon.sh
-rw-r--r-- 1 tomcat tomcat   2178 Jan 17 10:53 digest.bat
-rwxr-xr-x 1 tomcat tomcat   2021 Jan 17 10:53 digest.sh
-rw-r--r-- 1 tomcat tomcat   3264 Jan 17 10:53 setclasspath.bat
-rwxr-xr-x 1 tomcat tomcat   3403 Jan 17 10:53 setclasspath.sh
-rw-r--r-- 1 tomcat tomcat    406 Feb  1 17:14 setenv.sh
-rw-r--r-- 1 tomcat tomcat   2111 Jan 17 10:53 shutdown.bat
-rwxr-xr-x 1 tomcat tomcat   1960 Jan 17 10:53 shutdown.sh
-rw-r--r-- 1 tomcat tomcat   2112 Jan 17 10:53 startup.bat
-rwxr-xr-x 1 tomcat tomcat   1961 Jan 17 10:53 startup.sh
-rw-r--r-- 1 tomcat tomcat  42316 Jan 17 10:53 tomcat-juli.jar
<strong>-rw-r--r-- 1 tomcat tomcat 249259 Jan 17 10:53 tomcat-native.tar.gz</strong>
-rw-r--r-- 1 tomcat tomcat   4114 Jan 17 10:53 tool-wrapper.bat
-rwxr-xr-x 1 tomcat tomcat   5086 Jan 17 10:53 tool-wrapper.sh
-rw-r--r-- 1 tomcat tomcat   2116 Jan 17 10:53 version.bat
-rwxr-xr-x 1 tomcat tomcat   1965 Jan 17 10:53 version.sh</pre>
<p>Scompattate il file, e seguite l&#8217;alberatura cosi ottenuta seguendo il path</p>
<pre>cd tomcat-native-1.1.22-src/jni/native</pre>
<p>Prima di procedere con la compilazione dobbiamo assicurarci che siano presenti le librerie di sistema apr (non includo questa volta ssl, quindi non sono necessarie). Nella Centos 6 ho eseguito il comando</p>
<pre>yum install apr-devel.x86_64</pre>
<pre></pre>
<p>per poi lanciare la consueta compilazione</p>
<pre>./configure --prefix /home/tomcat/apache-tomcat-7.0.25</pre>
<pre> --with-java-home=/home/tomcat/java --with-apr=/usr/bin/apr-1-config</pre>
<pre>make</pre>
<pre>make install</pre>
<p>&nbsp;</p>
<p>in cui, nel comando configure, ho specificato il path di installazione dove voglio generare le librerie (ho scelto per comodità di metterle nel path dove ho scompattato apache tomcat), il path dove è installata la JVM e il path delle librerie necessarie alla compilazione. Alla conclusione del comando make install, se non ci sono stati errori ottengo a video il seguente messaggio:</p>
<pre>Libraries have been installed in: /home/tomcat/apache-tomcat-7.0.25/lib</pre>
<pre>If you ever happen to want to link against installed libraries in a</pre>
<pre>given directory, LIBDIR, you must either use libtool, and specify the</pre>
<pre>full pathname of the library, or use the `-LLIBDIR' flag during</pre>
<pre>linking and do at least one of the following: - add LIBDIR to the</pre>
<pre>`LD_LIBRARY_PATH' environment variable during execution - add LIBDIR</pre>
<pre>to the `LD_RUN_PATH' environment variable during linking - use the</pre>
<pre> `-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator</pre>
<pre>add LIBDIR to `/etc/ld.so.conf'</pre>
<pre>See any operating system documentation about shared libraries for</pre>
<pre>more information, such as the ld(1) and ld.so(8) manual pages.</pre>
<pre></pre>
<pre></pre>
<p>Controllando la directory lib/ presente nel path di installazione del servizio, notiamo la presenza delle nuove librerie:</p>
<p>&nbsp;</p>
<pre>[root@ tomcat]# ls -l lib/</pre>
<pre>total 7728</pre>
<pre>-rw-r--r-- 1 tomcat tomcat   15264 Jan 17 10:53 annotations-api.jar</pre>
<pre>-rw-r--r-- 1 tomcat tomcat   54688 Jan 17 10:53 catalina-ant.jar</pre>
<pre>-rw-r--r-- 1 tomcat tomcat  130864 Jan 17 10:53 catalina-ha.jar</pre>
<pre>-rw-r--r-- 1 tomcat tomcat 1503393 Jan 17 10:53 catalina.jar</pre>
<pre>-rw-r--r-- 1 tomcat tomcat  253717 Jan 17 10:53 catalina-tribes.jar</pre>
<pre>-rw-r--r-- 1 tomcat tomcat 1748770 Jan 17 10:53 ecj-3.7.1.jar</pre>
<pre>-rw-r--r-- 1 tomcat tomcat   43490 Jan 17 10:53 el-api.jar</pre>
<pre>-rw-r--r-- 1 tomcat tomcat  122772 Jan 17 10:53 jasper-el.jar</pre>
<pre>-rw-r--r-- 1 tomcat tomcat  590923 Jan 17 10:53 jasper.jar</pre>
<pre>-rw-r--r-- 1 tomcat tomcat   88689 Jan 17 10:53 jsp-api.jar</pre>
<pre><strong>-rw-r--r-- 1 root   root   1179576 Feb  1 17:38 libtcnative-1.a </strong></pre>
<pre><strong>-rwxr-xr-x 1 root   root      1029 Feb  1 17:38 <a href="http://libtcnative-1.la/" target="_blank">libtcnative-1.la</a> </strong></pre>
<pre><strong>lrwxrwxrwx 1 root   root        23 Feb  1 17:38 libtcnative-1.so -&gt; libtcnative-1.so.0.1.22 </strong></pre>
<pre><strong>lrwxrwxrwx 1 root   root        23 Feb  1 17:38 libtcnative-1.so.0 -&gt; libtcnative-1.so.0.1.22 </strong></pre>
<pre><strong>-rwxr-xr-x 1 root   root    659872 Feb  1 17:38 libtcnative-1.so.0.1.22 </strong></pre>
<pre><strong>drwxr-xr-x 2 root   root      4096 Feb  1 17:38 pkgconfig</strong></pre>
<pre>-rw-r--r-- 1 tomcat tomcat  176916 Jan 17 10:53 servlet-api.jar</pre>
<pre>-rw-r--r-- 1 tomcat tomcat    6873 Jan 17 10:53 tomcat-api.jar</pre>
<pre>-rw-r--r-- 1 tomcat tomcat  745219 Jan 17 10:53 tomcat-coyote.jar</pre>
<pre>-rw-r--r-- 1 tomcat tomcat  235411 Jan 17 10:53 tomcat-dbcp.jar</pre>
<pre>-rw-r--r-- 1 tomcat tomcat   76661 Jan 17 10:53 tomcat-i18n-es.jar</pre>
<pre>-rw-r--r-- 1 tomcat tomcat   48694 Jan 17 10:53 tomcat-i18n-fr.jar</pre>
<pre>-rw-r--r-- 1 tomcat tomcat   52118 Jan 17 10:53 tomcat-i18n-ja.jar</pre>
<pre>-rw-r--r-- 1 tomcat tomcat  117904 Jan 17 10:53 tomcat-jdbc.jar</pre>
<pre>-rw-r--r-- 1 tomcat tomcat   23051 Jan 17 10:53 tomcat-util.jar</pre>
<p>&nbsp;</p>
<p>Provando ad avviare il servizio, si ottiene però un errore:</p>
<p>&nbsp;</p>
<pre><strong>SEVERE: Failed to initialize the SSLEngine.</strong>
org.apache.tomcat.jni.Error: 70023: <strong>This function has not been implemented on this platform</strong>
        at org.apache.tomcat.jni.SSL.initialize(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.apache.catalina.core.AprLifecycleListener.initializeSSL(AprLifecycleListener.java:255)
        at org.apache.catalina.core.AprLifecycleListener.lifecycleEvent(AprLifecycleListener.java:109)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
        at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:401)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:595)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:620)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:449)</pre>
<p>&nbsp;</p>
<p>dovuto al fatto che non ho compilato le librerie con l&#8217;opzione<strong> &#8211;with-ssl</strong>. E&#8217; sufficiente modificare una configurazione nel file server.xml che si trova nella dir conf/ di installazione di apache tomcat in questo modo:</p>
<p>&nbsp;</p>
<pre>&lt;!--APR library loader. Documentation at /docs/apr.html --&gt;</pre>
<pre>&lt;Listener className="org.apache.catalina.core.AprLifecycleListener" <strong>SSLEngine="off"</strong> /&gt;</pre>
<pre></pre>
<p>A questo punto, avviando nuovamente il servizio, le librerie verranno correttamente caricate:</p>
<p>&nbsp;</p>
<pre>Feb 01, 2012 5:40:29 PM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.22.
Feb 01, 2012 5:40:29 PM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
Feb 01, 2012 5:40:30 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-apr-8080"]
Feb 01, 2012 5:40:30 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-apr-8009"]</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2012/02/02/come-installare-le-librerie-apr-per-tomcat-7-su-centos-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come monitorare Apache Tomcat 7 su un server remoto protetto da firewall</title>
		<link>http://www.ilsitodiluca.it/2011/10/24/come-monitorare-apache-tomcat-7-su-un-server-remoto-protetto-da-firewall/</link>
		<comments>http://www.ilsitodiluca.it/2011/10/24/come-monitorare-apache-tomcat-7-su-un-server-remoto-protetto-da-firewall/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 09:04:03 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=1463</guid>
		<description><![CDATA[In un mio vecchio articolo ho descritto la procedura che consentiva di monitorare un Tomcat 6 su un server remoto protetto da firewall. Con la versione 7 del application server sono state apportare numerose novità, tra cui alcune relative proprio al monitoraggio. Come visto nel precedente articolo, nella versione 6 del Tomcat due delle tre [...]]]></description>
			<content:encoded><![CDATA[<p>In un mio vecchio articolo ho descritto la procedura che consentiva di <a title="Monitorare Tomcat su un server remoto protetto da firewall" href="http://www.ilsitodiluca.it/2010/08/03/come-monitorare-tomcat-su-un-server-remoto-protetto-da-firewall/" target="_blank">monitorare un Tomcat 6 su un server remoto protetto da firewall</a>. Con la versione 7 del application server sono state apportare numerose novità, tra cui alcune relative proprio al monitoraggio.</p>
<p><span id="more-1463"></span><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/apache-tomcat-7.png" rel="lightbox[1463]"><img class="aligncenter size-full wp-image-1464" title="Apache Tomcat" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/apache-tomcat-7.png" alt="" width="208" height="207" /></a></p>
<p>Come visto nel <a href="http://www.ilsitodiluca.it/2010/08/03/come-monitorare-tomcat-su-un-server-remoto-protetto-da-firewall/" target="_blank">precedente articolo</a>, nella versione 6 del Tomcat due delle tre porte necessarie per il monitoraggio remoto tramite strumenti come <a title="JVisualVM" href="http://visualvm.java.net/index.html" target="_blank"><strong>JVisualVM</strong></a> vengono esposte randomicamente ad ogni avvio del servizio, rendendo di fatto necessaria una loro ricerca tra i socket in ascolto sul server remoto. Con Tomcat 7 è stata introdotta la possibilità di impostare tutte e tre le porte a cui collegarsi, consentendo quindi anche di richiedere eventuali aperture mirate sul firewall.</p>
<p>La procedura per attivare la possibilità di monitoraggio remoto tramite JMX prevede innanzitutto la copia del JMX Remote Jar nella directory lib dell&#8217;installazione di Tomcat. Trovate questo file nella stessa pagina del download del servizio. Successivamente, non resta che effettuare due semplici configurazioni:</p>
<ul>
<li>aggiungere alla variabile d&#8217;ambiente CATALINA_OPTS nello script di startup del servizio le direttive per attivare la porta jmx, che sono (ipotizzando di bypassare l&#8217;autenticazione):<br />
<address>CATALINA_OPTS=”-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false<br />
-Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=HOSTNAME”;</address>
<p>in cui la porta 12345 è la prima delle tre che verrà utilizzata a questo scopo;</li>
<li>aggiungere la configurazione del Listener JMX nel file server.xml che si trova nella directory conf/ del path di installazione di Tomcat 7:<br />
<address>&lt;!&#8211; REMOTE JMX &#8211;&gt;</address>
<address>&lt;Listener className=&#8221;org.apache.catalina.mbeans.JmxRemoteLifecycleListener&#8221; rmiRegistryPortPlatform=&#8221;10001&#8243; rmiServerPortPlatform=&#8221;10002&#8243; /&gt;</address>
<p id=":9e">impostando di fatto i valori delle altre due porte a cui ci si dovrà collegare (10001 e 10002 nel nostro caso).</p>
</li>
</ul>
<p>Non resta che riavviare il servizio e collegarsi tramite uno strumento come <a title="JVisualVM" href="http://visualvm.java.net/index.html" target="_blank"><strong>JVisualVM</strong> </a>alla porta 12345 del server remoto. Nel caso in cui l&#8217;accesso alle tre porte fosse bloccato dal firewall, sarà necessario eseguire un tunnel ssh con cui renderle disponibili localmente.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2011/10/24/come-monitorare-apache-tomcat-7-su-un-server-remoto-protetto-da-firewall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Psi-probe: una webapp per il monitoraggio di Apache Tomcat</title>
		<link>http://www.ilsitodiluca.it/2011/02/22/psi-probe-una-webapp-per-il-monitoraggio-di-apache-tomcat/</link>
		<comments>http://www.ilsitodiluca.it/2011/02/22/psi-probe-una-webapp-per-il-monitoraggio-di-apache-tomcat/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 20:52:41 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=1040</guid>
		<description><![CDATA[Proseguo la serie di articoli sul monitoraggio di applicativi Java presentando Psi-probe, un fork del &#8220;vecchio&#8221; progetto Lambda-probe, pensato per il monitoraggio di Apache Tomcat. Installazione su Apache Tomcat L&#8217;installazione è molto semplice (questo il link della sezione del wiki relativa). Scaricate innanzitutto il war della webapp dal sito ufficiale (in questo momento c&#8217;è la [...]]]></description>
			<content:encoded><![CDATA[<p>Proseguo la serie di <strong><a href="http://www.ilsitodiluca.it/java-monitoring/" target="_blank">articoli sul monitoraggio di applicativi Java</a></strong> presentando <a href="http://code.google.com/p/psi-probe/" target="_blank"><strong>Psi-probe</strong></a>, un fork del &#8220;vecchio&#8221; progetto Lambda-probe, pensato per il monitoraggio di <a href="http://tomcat.apache.org/" target="_blank">Apache Tomcat</a>.</p>
<p><span id="more-1040"></span><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/02/psiprobe.jpeg" rel="lightbox[1040]"><img class="aligncenter size-full wp-image-1041" title="psiprobe" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/02/psiprobe.jpeg" alt="" width="384" height="80" /></a></p>
<h3>Installazione su Apache Tomcat</h3>
<p>L&#8217;installazione è molto semplice (questo il <a href="http://code.google.com/p/psi-probe/wiki/InstallationApacheTomcat" target="_blank">link della sezione del wiki</a> relativa). Scaricate innanzitutto il war della webapp <a href="http://code.google.com/p/psi-probe/downloads/detail?name=probe-2.1.2.zip&amp;can=2&amp;q=" target="_blank">dal sito ufficiale</a> (in questo momento c&#8217;è la versione 2.1.2). Copiatelo nella directory %TOMCAT_HOME%/webapps/ della vostra installazione di Tomcat. Prima di avviare il servizio modificate il file %TOMCAT_HOME%/conf/tomcat-users.xml aggiungendo le seguenti righe:</p>
<pre>&lt;role rolename="probeuser" /&gt;
&lt;role rolename="poweruser" /&gt;
&lt;role rolename="poweruserplus" /&gt;
&lt;role rolename="manager" /&gt;
&lt;user username="admin" password="secret" roles="manager" /&gt;</pre>
<p>Possibilmente scegliete una password più furba per il ruolo manager <img src='http://www.ilsitodiluca.it/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . Avviate Tomcat passando allo script di avvio il parametro</p>
<pre>-Dcom.sun.management.jmxremote</pre>
<p>con il quale attivate JMX per poter consentire alla webapp di ricavare informazioni dal Application server. Per configurare più accuratamente il JMX su Tomcat, leggete <a href="http://www.ilsitodiluca.it/2010/08/03/come-monitorare-tomcat-su-un-server-remoto-protetto-da-firewall/" target="_blank">questo l&#8217;articolo</a>. Aprite un browser e accedete all&#8217;indirizzo</p>
<pre>http://localhost:8080/probe</pre>
<p>L&#8217;accesso richiede autenticazione da utente manager.</p>
<h3>Funzionalità</h3>
<p>Di seguito le funzionalità dell&#8217;applicativo:</p>
<ul>
<li>listato delle applicazioni installate, con possibilità di rimozione e reload delle stesse nonché alcune statistiche generali;<br />
<a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/02/Probe-Applicazioni-installate.png" rel="lightbox[1040]"><img class="aligncenter size-medium wp-image-1047" title="Probe - Applicazioni installate" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/02/Probe-Applicazioni-installate.png" alt="" width="420" /></a></li>
<li>lista dei Data Sources configurati;</li>
<li>deploy di una webapp<br />
<a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/02/Probe-Deployment-applicazione.png" rel="lightbox[1040]"><img class="aligncenter size-medium wp-image-1048" title="Probe - Deployment applicazione" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/02/Probe-Deployment-applicazione.png" alt="" width="420" /></a></li>
<li>download dei log del Application server<br />
<a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/02/Probe-Logs.png" rel="lightbox[1040]"><img class="aligncenter size-medium wp-image-1049" title="Probe - Logs" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/02/Probe-Logs-300x78.png" alt="" width="300" height="78" /></a></li>
<li>listato dei Thread con stato e possibilità di eliminazione<br />
<a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/02/Probe-Threads-attivi.png" rel="lightbox[1040]"><img class="aligncenter size-medium wp-image-1050" title="Probe - Threads attivi" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/02/Probe-Threads-attivi-300x187.png" alt="" width="300" height="187" /></a></li>
<li>informazioni di sistema (memoria, JVM, sistema operativo, &#8230;)<br />
<a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/02/Probe-Informazioni-di-sistema.png" rel="lightbox[1040]"><img class="aligncenter size-medium wp-image-1051" title="Probe - Informazioni di sistema" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/02/Probe-Informazioni-di-sistema-300x131.png" alt="" width="300" height="131" /></a></li>
<li>stato del Connector della porta 8080 e AJP per interazione con un eventuale Apache Httpd a frontend<br />
<a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/02/Probe-Stato-connectore.png" rel="lightbox[1040]"><img class="aligncenter size-medium wp-image-1052" title="Probe - Stato connectore" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/02/Probe-Stato-connectore-300x134.png" alt="" width="300" height="134" /></a></li>
<li> grafici relativi ai connettori<br />
<a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/02/Probe-Statistiche-connettori.png" rel="lightbox[1040]"><img class="aligncenter size-medium wp-image-1053" title="Probe - Statistiche connettori" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/02/Probe-Statistiche-connettori.png" alt="" width="420" /></a></li>
<li>check rapido dello stato generale<br />
<a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/02/Probe-Controllo-rapido.png" rel="lightbox[1040]"><img class="aligncenter size-medium wp-image-1054" title="Probe - Controllo rapido" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/02/Probe-Controllo-rapido-300x66.png" alt="" width="300" height="66" /></a></li>
<li>stato del cluster, se configurato.</li>
</ul>
<p><strong><a href="http://code.google.com/p/psi-probe/" target="_blank">Psi-probe</a></strong> si dimostra un prodotto molto interessante per il monitoraggio dello stato di Apache Tomcat. E&#8217; da tenere presente per completare l&#8217;installazione di base del Application server aggiungendone funzionalità avanzate di monitoraggio.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2011/02/22/psi-probe-una-webapp-per-il-monitoraggio-di-apache-tomcat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come installare le librerie APR di Apache Tomcat su Linux</title>
		<link>http://www.ilsitodiluca.it/2010/07/28/come-installare-le-librerie-apr-di-apache-tomcat-su-linux/</link>
		<comments>http://www.ilsitodiluca.it/2010/07/28/come-installare-le-librerie-apr-di-apache-tomcat-su-linux/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 14:19:08 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=649</guid>
		<description><![CDATA[Ho da poco eseguito l’installazione delle librerie APR (Apache Portable Runtime) su un ApacheTomcat installato in un sistema operativo Debian. Queste librerie migliorano la scalabilità e le performance del servizio, soprattutto per quanto riguarda le richieste di risorse statiche come immagini, css e javascript. L’installazione è risultata relativamente semplice. Premetto che il servizio Tomcat è [...]]]></description>
			<content:encoded><![CDATA[<p>Ho da poco eseguito l’installazione delle librerie <a href="http://tomcat.apache.org/tomcat-6.0-doc/apr.html" target="_blank"><strong>APR</strong></a> (<strong>Apache Portable Runtime</strong>) su un <strong>ApacheTomcat</strong> installato in un sistema operativo <strong>Debian</strong>.<br />
 Queste librerie migliorano la scalabilità e le performance del<br />
servizio, soprattutto per quanto riguarda le richieste di risorse<br />
statiche come immagini, css e javascript. L’installazione è risultata<br />
relativamente semplice.</p>
<p><span id="more-753"></span><a href="http://www.ilsitodiluca.it/wp-content/uploads/2010/07/apache_tomcat.png" rel="lightbox[753]"><img class="aligncenter size-medium wp-image-754" title="apache_tomcat" src="/wp-content/uploads/2010/07/apache_tomcat-300x76.png" alt="" height="76" width="300"></a>Premetto<br />
 che il servizio Tomcat è stato installato dalla versione compattata in<br />
tar.gz, senza quindi utilizzare i repository del sistema operativo.<br />
Invece la JVM è stata installata dai repository.<br />
Innanzitutto per verificare se il servizio sta usando le librerie dovete<br />
 controllare cosa viene scritto allo startup nel log catalina.out.<br />
Questo è quello che potete trovare quando le APR non sono caricate da<br />
Tomcat:</p>
<p><!-- p, li { white-space: pre-wrap; } --></p>
<pre><!--StartFragment-->org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows
optimal performance in production environments was not found
on the java.library.path</pre>
<p>Procediamo quindi all’installazione delle librerie necessarie alla compilazione delle APR, vale a dire la libapr1 e la libssl:</p>
<pre><!-- p, li { white-space: pre-wrap; } -->
<pre><!--StartFragment--><strong>apt-get install libapr1-dev</strong></pre>
<pre><strong>apt-get install libssl-dev
</strong></pre>
</pre>
<p>I sorgenti delle librerie APR si trovano nel file<br />
tomcat-native.tar.gz dentro la directory bin/ dell’installazione di<br />
Tomcat. Scompattate tale file e procedete alla compilazione delle<br />
librerie:</p>
<pre><strong>cd $TOMCAT_HOME/bin/</strong></pre>
<pre><strong>tar xzf tomcat-native.tar.gz</strong></pre>
<pre><strong>cd tomcat-native-NN-src/jni/native/</strong></pre>
<p><!-- p, li { white-space: pre-wrap; } --><!--StartFragment--></p>
<pre><strong>./configure
  --with-apr=/usr/bin/apr-1-config
  --with-java-home=/usr/lib/jvm/java-6-sun</strong>
<strong>  --with-ssl
  --prefix=$TOMCAT_HOME
make
make install

</strong></pre>
<p>dove per $JAVA_HOME si intende la directory dove sono presenti i<br />
binari della JVM e per $TOMCAT_HOME si intende il path di installazione<br />
del Tomcat. Fatto questo, nella directory lib/ del Tomcat vi troverete<br />
le nuove librerie. Per verificare che tutto sia andato per il meglio non<br />
 vi resta che avviare il Tomcat e cercare nel file catalina.out le<br />
seguenti righe:</p>
<pre><!--StartFragment-->org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.20.
org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true],
accept filters [false], random [true].</pre>
<p>A questo punto il servizio sta già sfruttando le potenzialità delle librerie APR. <a href="http://tomcat.apache.org/tomcat-6.0-doc/apr.html#APR_Connectors_Configuration" target="_blank">Sul sito ufficiale</a> potete eventualmente trovare tutte le possibili configurazioni aggiuntive ai connector http, https e ajp.</p>
<pre><!--EndFragment--></pre>
<p><!--EndFragment--></p>
<pre><!--EndFragment--></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2010/07/28/come-installare-le-librerie-apr-di-apache-tomcat-su-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

