<?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; Informatica</title>
	<atom:link href="http://www.ilsitodiluca.it/category/informatica/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>Ngxcmd.bat &#8211; Windows batch script per la gestione di Nginx</title>
		<link>http://www.ilsitodiluca.it/2011/12/03/ngxcmd-bat-windows-batch-script-per-la-gestione-di-nginx/</link>
		<comments>http://www.ilsitodiluca.it/2011/12/03/ngxcmd-bat-windows-batch-script-per-la-gestione-di-nginx/#comments</comments>
		<pubDate>Sat, 03 Dec 2011 11:39:35 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=1678</guid>
		<description><![CDATA[Nginx è un HTTP server apparso da qualche anno sulla scena che ha raggiunto, con la versione 1.x, la maturità sufficiente per un utilizzo in ambiente di produzione. Per semplificare la gestione del servizio, ho creato uno script batch utilizzabile su sistemi Microsoft Windows. Nginx non richiede una installazione su Windows, è sufficiente scaricare il [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a title="Nginx" href="http://nginx.org/" target="_blank">Nginx</a></strong> è un HTTP server apparso da qualche anno sulla scena che ha raggiunto, con la versione 1.x, la maturità sufficiente per un utilizzo in ambiente di produzione. Per semplificare la gestione del servizio, ho creato uno script batch utilizzabile su sistemi <strong>Microsoft Windows</strong>.</p>
<p style="text-align: center;"><span id="more-1678"></span><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/12/nginx-logo.png" rel="lightbox[1678]"><img class="aligncenter size-full wp-image-1680" style="margin-left: 50px; margin-right: 50px;" title="nginx logo" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/12/nginx-logo.png" alt="" width="350" height="90" /></a></p>
<p><strong>Nginx</strong> non richiede una installazione su <strong>Windows</strong>, è sufficiente scaricare il pacchetto nella <a title="Nginx download" href="http://nginx.org/en/download.html" target="_blank">pagina di download</a> e decomprimerlo dove si preferisce. Il file eseguibile nginx.exe è quello che consente di gestirne l&#8217;avvio ed altre operazioni. Ho pensato di semplificarne l&#8217;utilizzo creando <strong>Ngxcmd.bat,</strong> uno <strong>script batch</strong> che, copiato nella stessa directory del file <strong>nginx.exe</strong>, facilita le operazioni di:</p>
<ul>
<li>startup del server &#8211; ngxcmd start</li>
<li>shutdown del server &#8211; ngxcmd stop</li>
<li>reload delle configurazioni &#8211; ngxcmd reload</li>
<li>verifica dello stato dei processi nginx avviati &#8211; ngxcmd status</li>
<li>test delle configurazioni &#8211; ngxcmd test</li>
</ul>
<div>Lanciando ngxcmd senza argomenti otterrete la lista delle possibili opzioni.</div>
<div>Potete eseguire il <strong>download di ngxcmd.bat</strong> al seguente link: <a class="downloadlink" href="http://www.ilsitodiluca.it/wp-content/plugins/download-monitor/download.php?id=4" title=" downloaded 11 times" >NGXCMD.BAT (11)</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2011/12/03/ngxcmd-bat-windows-batch-script-per-la-gestione-di-nginx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mule ESB service startup script</title>
		<link>http://www.ilsitodiluca.it/2011/11/24/mule-esb-service-startup-script/</link>
		<comments>http://www.ilsitodiluca.it/2011/11/24/mule-esb-service-startup-script/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 21:04:53 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mule]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=1661</guid>
		<description><![CDATA[Mule ESB è un enterprise service bus scritto in java comparso sulla scena da qualche anno e che ha saputo ritagliarsi uno spazio importante fra le piattaforme di integrazione. Mi è stato chiesto di configurarlo per essere avviato come servizio in un ambiente di produzione linux, così ho preparato uno script di avvio in modalità [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Mule ESB" href="http://www.mulesoft.org/" target="_blank"><strong>Mule ESB</strong></a> è un <strong>enterprise service bus</strong> scritto in <strong>java</strong> comparso sulla scena da qualche anno e che ha saputo ritagliarsi uno spazio importante fra le piattaforme di integrazione. Mi è stato chiesto di configurarlo per essere avviato come servizio in un ambiente di produzione linux, così ho preparato uno script di avvio in modalità demone.</p>
<p style="text-align: center;"><span id="more-1661"></span><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/11/mule_esb.gif" rel="lightbox[1661]"><img class="aligncenter size-full wp-image-1662" style="margin-left: 65px; margin-right: 65px;" title="mule esb" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/11/mule_esb.gif" alt="" width="319" height="121" /></a></p>
<p>Lo script di startup utilizzato è stato testato in un sistema operativo <strong>Linux Centos 5.x</strong> per la versione <strong>Mule ESB 3.2 standalone</strong>. Potete eseguire il <strong>download</strong> dello script al link seguente: <a class="downloadlink" href="http://www.ilsitodiluca.it/wp-content/plugins/download-monitor/download.php?id=3" title=" downloaded 15 times" >Mule ESB service startup script (15)</a></p>
<p>Ci sono alcune configurazioni da modificare nello script che dipendono dalle installazioni di Mule e della JDK necessaria per il suo avvio. Nel mio caso, infatti, l&#8217;installazione di java non è da repository ma direttamente dal pacchetto fornito da Oracle. Quindi:</p>
<ul>
<li>JAVA_HOME=/path/to/java/home &#8211; modificate questo valore in base al path di installazione della JVM; se invece questa variabile si trova già fra le variabili d&#8217;ambiente del server, potete commentare la riga;</li>
<li>MULE_HOME=/path/to/mule/home &#8211; modificate questo valore in base al path di installazione di Mule ESB standalone;</li>
<li>MULE_OWNER=mule &#8211; modificate questo valore con il nome dell&#8217;utente con cui volete avviare il processo; è sempre buona norma evitare di dare permessi eccessivi al servizio.</li>
</ul>
<p>A questo punto per eseguire lo start di Mule ESB come servizio si deve eseguire il comando</p>
<p><em>/etc/init.d/mule_service.sh start</em></p>
<p>mentre per fermarlo</p>
<p><em>/etc/init.d/mule_service.sh stop</em></p>
<p>Sono previsti inoltre altri due comandi:</p>
<p><em>/etc/init.d/mule_service.sh restart</em></p>
<p>per riavviare il servizio e</p>
<p><em>/etc/init.d/mule_service.sh status</em></p>
<p>per verificare lo stato del servizio, confrontando il valore del file pid generato all&#8217;avvio con i processi attivi sul server.</p>
<p>Per impostare l&#8217;<strong>avvio di Mule ESB come demone</strong>, lo script deve essere copiato nel path /etc/init.d, assegnando come utente e gruppo proprietari root</p>
<p><em>chown root:root mule_service.sh</em></p>
<p>e come permessi 755</p>
<p><em>chmod 775 mule_service</em></p>
<p>Poi si deve configurare lo script per l&#8217;avvio come servizio, ad esempio utilizzando il comando chkconfig:</p>
<p><em>chkconfig  &#8211;add mule_service.sh</em></p>
<p><em>chkconfig  &#8211;level 345 mule_service.sh on</em></p>
<p>A questo punto siamo sicuri che il servizio partirà con un eventuale riavvio del server.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2011/11/24/mule-esb-service-startup-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Relic: uno strumento di monitoraggio in tempo reale per applicazioni Java</title>
		<link>http://www.ilsitodiluca.it/2011/10/30/new-relic-uno-strumento-di-monitoraggio-in-tempo-reale-per-applicazioni-java/</link>
		<comments>http://www.ilsitodiluca.it/2011/10/30/new-relic-uno-strumento-di-monitoraggio-in-tempo-reale-per-applicazioni-java/#comments</comments>
		<pubDate>Sun, 30 Oct 2011 08:48:29 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[monitoring]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=1504</guid>
		<description><![CDATA[New Relic è uno strumento molto interessante e innovativo per il monitoraggio in tempo reale di applicazioni Java, Ruby, Php, .NET e Python. Ne ho testato la versione lite, che consente di avere caratteristiche di monitoraggio base senza scadenze temporali. La prima caratteristica interessante di questo strumento consiste nel fatto che il server che colleziona [...]]]></description>
			<content:encoded><![CDATA[<p><a title="New Relic" href="http://newrelic.com" target="_blank"><strong>New Relic</strong></a> è uno strumento molto interessante e innovativo per il <strong>monitoraggio in tempo reale di applicazioni Java</strong>, Ruby, Php, .NET e Python. Ne ho testato la versione lite, che consente di avere caratteristiche di monitoraggio base senza scadenze temporali.</p>
<p><span id="more-1504"></span><img class="aligncenter" title="New Relic" src="http://newrelic.com/images/logo/new-relic-logo-alt.png" alt="" width="277" height="50" /></p>
<p>La prima caratteristica interessante di questo strumento consiste nel fatto che il server che colleziona i dati di monitoraggio e li espone tramite interfaccia web è gestito esternamente, e l&#8217;unica cosa di cui ci si deve preoccupare è l&#8217;installazione del client che invierà i dati. Personalmente ho eseguito l&#8217;installazione del client su un <strong>Apache Tomcat</strong>, e devo ammettere che la procedura è stata molto semplice.</p>
<p>Di seguito la <span style="text-decoration: underline;">procedura per installare il client di monitoraggio di New Relic su un Apache Tomcat</span>:</p>
<ol>
<li>iscrivetevi gratuitamente sul sito di New Relic al seguente indirizzo: <a title="New Relic Login" href="http://newrelic.com/signup" target="_blank">http://newrelic.com/signup</a></li>
<li>scaricate il pacchetto di installazione del client che vi serve (nel mio caso l&#8217;agent per Apache Tomcat)</li>
<li>scompattate il pacchetto in una directory del server su cui è installato il Tomcat; nel mio caso si trattava di un server con sistema operativo Linux, in cui il servizio Tomcat era configurato per essere eseguito come utente &#8216;tomcat&#8217;; ho quindi scompattato l&#8217;agent nel path <span style="color: #0000ff;">/home/tomcat/newrelic</span> assicurandomi che l&#8217;utente tomcat avesse accesso in lettura e scrittura a tale directory;</li>
<li>modificate il file <span style="color: #0000ff;">newrelic.yml</span> assegnando un valore alla property &#8216;Application Name&#8217; ( <span style="color: #0000ff;">app_name</span> ) che sia descrittivo del sistema che dovete monitorare; in un momento successivo potrete analizzare le molte configurazioni presenti, che vi consentono di limare secondo le vostre preferenze lo strumento;</li>
<li>modificate la variabile d&#8217;ambiente <span style="color: #0000ff;">JAVA_OPTS</span> presente nello script di startup del servizio Apache Tomcat, piuttosto che nel file setenv.sh o direttamente in catalina.sh sotto la sua bin di installazione, inserendo la seguente configurazione<code><span style="color: #0000ff;"> -javaagent:/path/to/newrelic.jar </span></code>che nel mio caso era <span style="color: #0000ff;">-javaagent:/home/tomcat/newrelic/newrelic.jar</span></li>
<li><code>avviare (o riavviare) il servizio Apache Tomcat<br />
</code></li>
</ol>
<p>Noterete che nel path di installazione del agent è comparsa una directory logs con al suo interno alcuni file con nome newrelic_agent.log*, in cui avete visibilità sulle operazione del agent:</p>
<p><span style="color: #0000ff;">ambtest1:/home/tomcat/newrelic/logs# cat /home/tomcat/newrelic/logs/newrelic_agent.log</span></p>
<p><span style="color: #0000ff;">NewRelic INFO: Writing to New Relic log file : /home/tomcat/newrelic/logs/newrelic_agent.log</span><br />
<span style="color: #0000ff;">NewRelic INFO: Configuration file is /home/tomcat/newrelic/./newrelic.yml</span><br />
<span style="color: #0000ff;">NewRelic INFO: java.util.logging.LogManager class is org.apache.juli.ClassLoaderLogManager</span><br />
<span style="color: #0000ff;">NewRelic WARNING: The apdex_t setting is obsolete and is ignored! Set the apdex_t value for an application in New Relic UI</span><br />
<span style="color: #0000ff;">NewRelic INFO: The New Relic Agent v2.0.2 has started</span><br />
<span style="color: #0000ff;">NewRelic INFO: Initializing Apache Tomcat system sampler</span><br />
<span style="color: #0000ff;">NewRelic INFO: Collector redirection to collector-1.newrelic.com:80</span><br />
<span style="color: #0000ff;">NewRelic INFO: Agent 17530@ambtest1 connected to collector-1.newrelic.com:80</span><br />
<span style="color: #0000ff;">NewRelic INFO: The agent received 2 url normalization rule(s)</span><br />
<span style="color: #0000ff;">NewRelic INFO: Real user monitoring is enabled with auto instrumentation</span><br />
<span style="color: #0000ff;">NewRelic INFO: Transaction traces will be sent to New Relic</span><br />
<span style="color: #0000ff;">NewRelic INFO: Errors will be sent to New Relic</span><br />
<span style="color: #0000ff;">NewRelic INFO: Agent is configured to send obfuscated SQL to New Relic</span></p>
<p>A questo punto le operazioni lato client sono terminate, e non vi resta che attendere qualche minuto per consentire l&#8217;attivazione della console di monitoraggio. Una volta che i dati cominceranno a popolare i grafici, avrete la possibiltà di verificare varie caratteristiche del vostro server, il comportamento delle singole richieste che perveranno ai vostri applicativi, eventuali picchi di carico, e una mail riassuntiva settimanale con un riassunto dell&#8217;andamento. I seguenti grafici si riferiscono alla versione lite, che racchiude un numero limitato di caratteristiche ma resta comunque gratuita a tempo indeterminato. Nella <a title="New Relic Pricing" href="http://newrelic.com/pricing" target="_blank">pagina dei prezzi</a> potete verificare quali sono le altre possibilità offerte dallo strumento, come le notifiche in caso di problemi reali o potenziali o l&#8217;analisi degli errori.</p>
<h2>New Relic &#8211; Time Spent in Database Processing</h2>
<p style="text-align: center;"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/newrelic_time_spent_in_db1.jpg" rel="lightbox[1504]"><img class="aligncenter size-full wp-image-1509" title="newrelic time spent in database" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/newrelic_time_spent_in_db1.jpg" alt="" width="450" /></a></p>
<h2>New Relic &#8211; Time Spent In DOM Processing</h2>
<p style="text-align: center;"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/newrelic_time_spent_in_dom.jpg" rel="lightbox[1504]"><img class="aligncenter size-full wp-image-1510" title="newrelic time spent in dom" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/newrelic_time_spent_in_dom.jpg" alt="" width="450" /></a></p>
<h2>New Relic &#8211; Time Spent In JVM Processing</h2>
<p style="text-align: center;"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/newrelic_time_spent_in_jvm.jpg" rel="lightbox[1504]"><img class="aligncenter size-full wp-image-1511" title="newrelic time spent in jvm" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/newrelic_time_spent_in_jvm.jpg" alt="" width="450" /></a></p>
<h2>New Relic &#8211; Time Spent In Network Processing</h2>
<p style="text-align: center;"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/newrelic_time_spent_in_network.jpg" rel="lightbox[1504]"><img class="aligncenter size-full wp-image-1513" title="newrelic time spent in network" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/newrelic_time_spent_in_network.jpg" alt="" width="450" /></a></p>
<h2>New Relic &#8211; Time Spent In Rendering Processing</h2>
<p style="text-align: center;"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/newrelic_time_spent_in_rendering.jpg" rel="lightbox[1504]"><img class="aligncenter size-full wp-image-1514" title="newrelic time spent in rendering" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/newrelic_time_spent_in_rendering.jpg" alt="" width="450" /></a></p>
<h2>New Relic &#8211; Web Transactions</h2>
<p style="text-align: center;"> <a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/newrelic_time_web_transactions.jpg" rel="lightbox[1504]"><img class="aligncenter size-full wp-image-1515" title="new relic web transactions" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/newrelic_time_web_transactions.jpg" alt="" width="450" /></a></p>
<h2 style="text-align: left;">New Relic &#8211; Weekly Performance Metrics</h2>
<p style="text-align: center;"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/newrelice_weekly_performance_metrics.jpg" rel="lightbox[1504]"><img class="aligncenter size-full wp-image-1526" title="newrelic  weekly performance metrics" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/newrelice_weekly_performance_metrics.jpg" alt="" width="450" /></a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2011/10/30/new-relic-uno-strumento-di-monitoraggio-in-tempo-reale-per-applicazioni-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come gestire gallery multiple nella stessa pagina con Gallerific</title>
		<link>http://www.ilsitodiluca.it/2011/10/30/come-gestire-gallery-multiple-nella-stessa-pagina-con-gallerific/</link>
		<comments>http://www.ilsitodiluca.it/2011/10/30/come-gestire-gallery-multiple-nella-stessa-pagina-con-gallerific/#comments</comments>
		<pubDate>Sun, 30 Oct 2011 07:43:54 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[gallerific]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=1485</guid>
		<description><![CDATA[Gallerific è un plugin di Jquery pensato per la visualizzazione di gallery di immagini, con numerose caratteristiche come la navigazione tramite thumbnail, l&#8217;effetto slideshow e la possibilità di integrazione con il plugin di history. Partendo da uno degli esempi proposti nel pacchetto di installazione, ho apportato qualche modifica alla struttura della pagina html ed al [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Gallerific" href="http://www.twospy.com/galleriffic/" target="_blank"><strong>Gallerific</strong></a> è un plugin di <a title="Jquery" href="http://jquery.com/" target="_blank"><strong>Jquery</strong></a> pensato per la visualizzazione di <strong>gallery di immagini</strong>, con numerose caratteristiche come la navigazione tramite thumbnail, l&#8217;effetto slideshow e la possibilità di integrazione con il plugin di history. Partendo da uno degli esempi proposti nel pacchetto di installazione, ho apportato qualche modifica alla struttura della pagina html ed al codice javascript per visualizzare più di una gallery nella stessa pagina.</p>
<p style="text-align: center;"><span id="more-1485"></span><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/gallerific_multi_gallery.jpeg" rel="lightbox[1485]"><img class="aligncenter size-full wp-image-1486" title="Gallerific multi gallery" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/gallerific_multi_gallery.jpeg" alt="" width="450" /></a></p>
<p style="text-align: left;">La pagina che dovevo realizzare consisteva in una <strong>multi gallery di foto di quadri</strong>, di cui però ne doveva essere visibile una sola alla volta, con la possibilità ovviamente di sceglierne un&#8217;altra tra le varie disponibili ma senza cambiare pagina. La modifica effettuata sull&#8217;esempio proposto da <strong>Gallerific</strong> (quello relativo al caso di thumb con dimensioni differenti) consiste essenzialmente in tre punti:</p>
<ul>
<li>numerare progressivamente i blocchi div che vengono utilizzati dal codice javascript presente in pagina per associarli ad una gallery specifica<br />
<address><span style="color: #0000ff;">&lt;div class=&#8221;navigation-container&#8221;&gt;&lt;div id=&#8221;thumbs0&#8243; class=&#8221;navigation&#8221;&gt;&#8230;</span></address>
<address id="line67"><span style="color: #0000ff;">&#8230;&lt;div class=&#8221;slideshow-container&#8221;&gt;&lt;div id=&#8221;controls0&#8243; class=&#8221;controls&#8221;&gt;&lt;/div&gt;&lt;div id=&#8221;loading0&#8243; class=&#8221;loader&#8221;&gt;&lt;/div&gt;&lt;div id=&#8221;slideshow0&#8243; class=&#8221;slideshow&#8221;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&#8221;caption0&#8243; class=&#8221;caption-container&#8221;&gt;&#8230;</span></address>
</li>
<li>includere i blocchi html relativi alla singola gallery in un div nascosto, ad eccezione del primo, che verrà quindi visualizzato inizialmente<br />
<address id="line74"><span style="color: #0000ff;">&lt;div id=&#8221;nc1&#8243; style=&#8221;display:none;&#8221;&gt;&lt;div class=&#8221;navigation-container&#8221;&gt;&#8230;</span></address>
</li>
<li>adattare il codice javascript eseguito in pagina che inizializza la gallery per funzionare in modalità multi-gallery, iterando sui blocchi specifici e sfruttando  la numerazione progressiva che era stata assegnata ai singoli elementi.</li>
</ul>
<p>Infine, ho aggiunto una semplice select all&#8217;inizio della pagina con la quale visualizzare una specifica gallery tra quelle disponibili. L&#8217;esempio realizzato è visibile nel sito del pittore <a title="Giuseppe Iovio" href="http://www.giuseppeiovio.it" target="_blank"><strong>Giuseppe Iovio</strong></a> a questo indirizzo: <strong><a title="Giuseppe Iovio - Gallery" href="http://www.giuseppeiovio.it/gallery/" target="_blank">http://www.giuseppeiovio.it/gallery/</a></strong> . E&#8217; chiaro che un numero elevato di gallery sulla stessa pagina implica un tempo di caricamento maggiore della stessa, a causa delle immagini precaricate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2011/10/30/come-gestire-gallery-multiple-nella-stessa-pagina-con-gallerific/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>Come replicare un database MySQL tra 2 server</title>
		<link>http://www.ilsitodiluca.it/2011/10/24/come-replicare-un-database-mysql-tra-2-server/</link>
		<comments>http://www.ilsitodiluca.it/2011/10/24/come-replicare-un-database-mysql-tra-2-server/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 05:40:29 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=1453</guid>
		<description><![CDATA[Può capitare, come è successo a me recentemente, di dover replicare un database MySQL tra due server, escludendo però tra gli schema quelli utilizzati internamente dal servizio, cioè i due che si chiamano &#8216;mysql&#8217; e &#8216;information_schema&#8217;, oltre che al tipico &#8216;test&#8217;, nel caso in cui le versioni del servizio non fossero equivalenti o per evitare [...]]]></description>
			<content:encoded><![CDATA[<p>Può capitare, come è successo a me recentemente, di dover <strong>replicare un database MySQL tra due server</strong>, escludendo però tra gli schema quelli utilizzati internamente dal servizio, cioè i due che si chiamano &#8216;mysql&#8217; e &#8216;information_schema&#8217;, oltre che al tipico &#8216;test&#8217;, nel caso in cui le versioni del servizio non fossero equivalenti o per evitare di sovrascrivere informazioni già presenti sul database di destinazione. Vediamo una semplice procedura per eseguire la replica.</p>
<p><span id="more-1453"></span><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/mysql.jpg" rel="lightbox[1453]"><img class="aligncenter size-full wp-image-1454" title="mysql" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/mysql.jpg" alt="" width="399" height="291" /></a>Condizioni necessarie per poter eseguire questa operazione sono:</p>
<ul>
<li>poter accedere ad entrambi i server dal pc su cui verrà lanciata la procedura (potrebbe essere anche uno dei due server stessi, se sono visibili tra di loro);<br />
se si accede direttamente dal  proprio pc, assicurarsi di poter utilizzare i binari mysql, mysqladmin e mysqldump;</li>
<li>avere accesso ai servizi MySQL con un utente con permessi sufficienti.</li>
</ul>
<p>Nella mia situazione si trattava di due macchine presenti in ufficio, di cui avevo accesso completo come utente root, quindi è stato tutto molto più facile. Ecco lo script da lanciare (i valori relativi a user, password e host sono chiaramente da adattare al vostro caso) per ambiente linux, ma facilmente replicabile per un windows:</p>
<address>#!/bin/bash# mysql source server<br />
MSUSER=&#8221;user&#8221;<br />
MSPASS=&#8221;pwd&#8221;<br />
MSHOST=&#8221;SRC_SERVER_IP&#8221;# mysql destination server<br />
MDUSER=&#8221;user&#8221;<br />
MDPASS=&#8221;pwd&#8221;<br />
MDHOST=&#8221;DEST_SERVER_IP&#8221;# get all database listing except mysql and information_schema<br />
DBS=&#8221;$(mysql -u $MSUSER -p$MSPASS -h $MSHOST -Bse &#8216;show databases&#8217; | GREP -v mysql | GREP -v information_schema | GREP -v test)&#8221;# start to dump database one by one<br />
for db in $DBS<br />
doecho Creating new database $db&#8230;<br />
mysqladmin -u $MDUSER -p$MDPASS -h $MDHOST create $db<br />
echo Transfering database $db&#8230;<br />
mysqldump &#8211;complete-insert -u $MSUSER -p$MSPASS -h $MSHOST $db | mysql -u $MDUSER -p$MDPASS -h $MDHOST $dbdone</address>
<address> </address>
<p>La prima operazione eseguita sul database sorgente consente di ricavare il nome di tutti gli schema presenti, escludendo come detto mysql, information_schema e test. Si itera poi sulla lista cosi ottenuta per eseguire in serie le operazioni di creazione del nuovo schema sul server destinazione, dump del database sorgente ed esecuzione dei comandi sql del dump sul database destinatario. Un paio di osservazioni sul risultato della copia:</p>
<ul>
<li>l&#8217;esclusione dello schema mysql implica anche l&#8217;esclusione della copia degli utenti e dei permessi associati, che vanno quindi ripristinati successivamente sul database destinatario;</li>
<li>i nuovi database creati hanno charset e collation di default, che potrebbero non rispecchiare quelli sorgenti, ed anche in questo caso potrebbe essere necessaria una conversione successiva.</li>
</ul>
<p>Per comodità metto a disposizione lo script bash per il download:</p>
<a class="downloadlink" href="http://www.ilsitodiluca.it/wp-content/plugins/download-monitor/download.php?id=1" title=" downloaded 10 times" >MySQL server trasfer script (10)</a>
<p>Vi segnalo anche che il progetto <a title="MySQL Workbench" href="http://www.mysql.com/products/workbench/" target="_blank"><strong>MySQL Workbench</strong></a> prevede alcuni script da riga di comando (per ambienti Windows, Linux e Mac) molto interessanti per interagire con server remoti che potrebbero essere utilizzati allo scopo (vedere ad esempio <strong>mysqldbcopy</strong>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2011/10/24/come-replicare-un-database-mysql-tra-2-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come migrare da CVSNT su Windows 2003 Server a CVS su Mac OS X 10.6</title>
		<link>http://www.ilsitodiluca.it/2011/10/23/come-migrare-da-cvsnt-su-windows-2003-a-cvs-su-mac-os-x-10-6/</link>
		<comments>http://www.ilsitodiluca.it/2011/10/23/come-migrare-da-cvsnt-su-windows-2003-a-cvs-su-mac-os-x-10-6/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 19:28:37 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[mac os]]></category>
		<category><![CDATA[windows server 2003]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=1444</guid>
		<description><![CDATA[Recentemente ho eseguito una migrazione di svariati servizi ed applicativi da un server Microsoft Windows 2003 ad un Mac OS X 10.6 Snow Leopard, tra cui un CVSNT in cui erano versionati progetti aziendali da svariati anni. Nel passaggio alla gestione tramite cvs offerta dal server Mac, ci siamo imbattuti in un serio problema relativo [...]]]></description>
			<content:encoded><![CDATA[<p>Recentemente ho eseguito una migrazione di svariati servizi ed applicativi da un server Microsoft Windows 2003 ad un Mac OS X 10.6 Snow Leopard, tra cui un CVSNT in cui erano versionati progetti aziendali da svariati anni. Nel passaggio alla gestione tramite cvs offerta dal server Mac, ci siamo imbattuti in un serio problema relativo ai file binari.</p>
<p><span id="more-1444"></span><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/cvs.jpeg" rel="lightbox[1444]"><img class="aligncenter size-full wp-image-1445" title="cvs" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/cvs.jpeg" alt="" width="311" height="218" /></a></p>
<p><strong>Tutti i file binari venivano interpretati come ascii</strong>, divenendo quindi inutilizzabili in seguito ad un checkout/export eseguito da un client non UNIX, ovvero quando i caratteri di fine linea e fine file venivano adattati al nuovo sistema operativo. Dopo aver verificato l&#8217;intestazione dei file binari sul server cvs (vale a dire i file con estensione &#8216;,v&#8217;), ci siamo accorti che la direttiva che identificava tali file come non ascii non era presente, ma era sostituita da una adottata a questo scopo su CVSNT. Per la precisione, mentre su <strong>CVS</strong> di identifica un file binario con la direttiva &#8216;<strong>kopt b</strong>&#8216;, su <strong>CVSNT</strong> questa viene sostituita da &#8216;<strong>expand @b@</strong>&#8216;. Non siamo stati certo i primi ad aver affrontato questo problema, e San Google, tanto per cambiare, ci ha aiutato. Su <a href="http://firefang.net/english/converting-cvsnt-repository-format-to-cvs-repository-format">questo sito</a> il tema era già stato trattato, ma la soluzione adottata non era direttamente applicabile al server Mac OS a causa di svariate limitazioni ai comandi bash &#8216;sed&#8217; e &#8216;xargs&#8217; nonché ad una gestione custom del carattere di capo riga per i file di testo che ci hanno costretto ad effettuare delle modifiche. In sintesi, l&#8217;idea è stata quella di inserire nei file del server cvs che presentavano la direttiva &#8216;kopt b&#8217; anche quella utilizzata ufficialmente dai cvs. Per farlo, abbiamo lanciato il seguente comando bash sui vari path di installazione dei repository:</p>
<address>find . -not -name &#8220;*,v.bak&#8221; -exec grep -q &#8220;kopt.*b&#8221; {} \; -not -exec grep -q &#8220;expand.*@b@;&#8221; {} \; -print0 | xargs -0 -I &#8216;{}&#8217; sh -c &#8220;sed -i &#8216;.bak&#8217; &#8216;s/access;/access;\&#8217;$'\nexpand @b@;/&#8217; {}&#8221;</address>
<p>&nbsp;</p>
<p>Il comando, piuttosto complesso, estrae tutti i file della directory in cui viene lanciato e delle directory figlie che contengono la riga &#8216;kopt b&#8217;, che non contengono la riga &#8216;expand @b@&#8217; e il cui nome non termina per &#8216;,v.bak&#8217;. Su ognuno di questi file viene inserita la riga &#8216;expand @b@;&#8217; immediatamente dopo la riga &#8216;access;&#8217;, ma prima viene fatta una copia di backup per sicurezza. Dopo questo processamento, tutti i file binari sono stati interpretati correttamente. C&#8217;è solo un&#8217;osservazione da fare: lo script non gradisce nomi di file o directory con spazi o simboli come &#8216;$&#8217;, e la loro presenza impedisce il corretto processamento di questi casi.</p>
<p>Per una verifica preventiva su quali siano i file che necessitano della fix, ecco un comando innocuo che ne stampa la lista dei nomi:</p>
<address>find . -not -name &#8220;*,v.bak&#8221; -exec grep -q &#8220;kopt.*b&#8221; {} \; -not -exec grep -q &#8220;expand.*@b@;&#8221; {} \; -print0 | xargs -0 -I &#8216;{}&#8217; sh -c &#8220;echo conv {};&#8221;</address>
<address> </address>
<p>Per comodità qui trovate un link per il download dello zip che contiene due script bash relativi ai comandi sopra citati, che vengono eseguiti a partire dalla directory in cui si trovano e ricorsivamente su tutte quelle contenute:</p>
<a class="downloadlink" href="http://www.ilsitodiluca.it/wp-content/plugins/download-monitor/download.php?id=2" title=" downloaded 11 times" >CVSNT 2 CVS FIX SCRIPT (11)</a>
<p>Mi raccomando, meglio avere sempre un backup prima di fare qualunque cosa.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2011/10/23/come-migrare-da-cvsnt-su-windows-2003-a-cvs-su-mac-os-x-10-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come visualizzare file mpp su Windows senza utilizzare Microsoft Project</title>
		<link>http://www.ilsitodiluca.it/2011/10/03/come-visualizzare-file-mpp-su-windows-senza-utilizzare-microsoft-project/</link>
		<comments>http://www.ilsitodiluca.it/2011/10/03/come-visualizzare-file-mpp-su-windows-senza-utilizzare-microsoft-project/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 05:05:14 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=1417</guid>
		<description><![CDATA[I file con estensione mpp sono generati dal software Microsoft Project. Se non si è in possesso del programma, si può comunque visualizzare il file su Windows utilizzando (almeno) un paio di soluzioni alternative. Una prima soluzione è di utilizzare uno dei numerosi tool gratuiti online per convertire il file in un altro formato (ad [...]]]></description>
			<content:encoded><![CDATA[<p>I file con estensione <strong>mpp</strong> sono generati dal software <strong>Microsoft Project</strong>. Se non si è in possesso del programma, si può comunque visualizzare il file su Windows utilizzando (almeno) un paio di soluzioni alternative.</p>
<p style="text-align: left;"><span id="more-1417"></span><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/mpp.jpg" rel="lightbox[1417]"><img class="aligncenter size-full wp-image-1418" title="mpp" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/10/mpp.jpg" alt="" width="450" /></a>Una prima soluzione è di utilizzare uno dei numerosi <a title="I migliori tool online" href="http://www.ilsitodiluca.it/2011/10/02/come-visualizzare-file-microsoft-project-in-linux/www.ilsitodiluca.it/2009/09/03/la-lista-dei-migliori-tool-online/" target="_blank"><strong>tool gratuiti online</strong></a> per convertire il file in un altro formato (ad esempio un pdf o un jpg), vedi ad esempio <a title="Mpp in Linux" href="http://www.ilsitodiluca.it/2011/10/02/come-visualizzare-file-microsoft-project-in-linux/" target="_blank">questo</a>. Altrimenti, per Windows c&#8217;è una soluzione anche più interessante. Si tratta di <a title="MPP Viewer" href="http://mppviewer.sourceforge.net/" target="_blank"><strong>MPP Viewer</strong></a>, un software specificatamente pensato per la lettura dei file <strong>mpp</strong>. Il programma è gratuito e permette, oltre alla lettura, la stampa e l&#8217;esportazione in formato excel. I requisiti minimi di sistema sono i seguenti:</p>
<ul>
<li>Windows XP Sp3 or later</li>
<li>Windows Vista Sp1 or later</li>
<li>Windows 7 or later</li>
</ul>
<p>oltre ad avere installato Microsoft .Net Framework 4. E&#8217; una soluzione molto interessante, soprattutto in quelle situazioni in cui i dettagli del progetto sono solo da conoscere, e non da impostare o modificare.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2011/10/03/come-visualizzare-file-mpp-su-windows-senza-utilizzare-microsoft-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come visualizzare file Microsoft Project in Linux</title>
		<link>http://www.ilsitodiluca.it/2011/10/02/come-visualizzare-file-microsoft-project-in-linux/</link>
		<comments>http://www.ilsitodiluca.it/2011/10/02/come-visualizzare-file-microsoft-project-in-linux/#comments</comments>
		<pubDate>Sun, 02 Oct 2011 11:38:03 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=1409</guid>
		<description><![CDATA[Da qualche tempo sono inserito in un progetto lavorativo con un gruppo di lavoro molto ampio e dislocato a livello nazionale. Il lavoro è organizzato da un Project Manager che utilizza uno strumento piuttosto classico per le sue necessità: Microsoft Project. Peccato però che quando riceviamo gli aggiornamenti del Gantt i file siano in formato [...]]]></description>
			<content:encoded><![CDATA[<p>Da qualche tempo sono inserito in un progetto lavorativo con un gruppo di lavoro molto ampio e dislocato a livello nazionale. Il lavoro è organizzato da un Project Manager che utilizza uno strumento piuttosto classico per le sue necessità: <strong>Microsoft Project</strong>. Peccato però che quando riceviamo gli aggiornamenti del <a title="Diagramma di Gantt" href="http://it.wikipedia.org/wiki/Diagramma_di_Gantt" target="_blank">Gantt </a>i file siano in <strong>formato mpp</strong>, e per un sistema operativo <strong>Linux</strong> ci sono alcune difficoltà nel poterlo aprire. Come fare quindi per <strong>visualizzare un file mpp Microsoft Project in Linux</strong>?</p>
<p><span id="more-1409"></span></p>
<p style="text-align: center;"> <a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/09/microsoft_project_for_linux.jpg" rel="lightbox[1409]"><img class="aligncenter size-full wp-image-1412" title="Microsoft Project for Linux" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/09/microsoft_project_for_linux.jpg" alt="" width="450" /></a></p>
<p>Una soluzione veloce c&#8217;è: sfruttare uno dei numerosi <a title="Lista dei migliori tool online" href="www.ilsitodiluca.it/2009/09/03/la-lista-dei-migliori-tool-online/" target="_blank">servizi online di conversione dei file</a>. Come ad esempio <a title="Free Pdf Convert" href="http://www.freepdfconvert.com/" target="_blank"><strong>Free Pdf Convert</strong></a>. Questo servizio consente di trasformare un file di vari formati, tra cui anche <strong>mpp</strong>, in un pdf. Non serve una iscrizione, e si riceve via mail il link da cui scaricare il file pdf risultato. E&#8217; inoltre possibile poi richiederne la cancellazione, sempre tramite un url specifico. Evviva i servizi online!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2011/10/02/come-visualizzare-file-microsoft-project-in-linux/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Google Chrome speed tests</title>
		<link>http://www.ilsitodiluca.it/2011/07/30/google-chrome-speed-tests/</link>
		<comments>http://www.ilsitodiluca.it/2011/07/30/google-chrome-speed-tests/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 12:01:55 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=1337</guid>
		<description><![CDATA[Vi propongo un interessante video dai contenuti molto tecnici su vari test di velocità del browser di Google, Chrome.]]></description>
			<content:encoded><![CDATA[<p>Vi propongo un interessante video dai contenuti molto tecnici su vari test di velocità del browser di Google, <strong>Chrome</strong>.</p>
<p><a href="http://www.ilsitodiluca.it/2011/07/30/google-chrome-speed-tests/"><em>Clicca qui per vedere il video incorporato.</em></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2011/07/30/google-chrome-speed-tests/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come estrarre l&#8217;audio da un video di Youtube</title>
		<link>http://www.ilsitodiluca.it/2011/03/10/come-estrarre-laudio-da-un-video-di-youtube/</link>
		<comments>http://www.ilsitodiluca.it/2011/03/10/come-estrarre-laudio-da-un-video-di-youtube/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 07:58:11 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=1098</guid>
		<description><![CDATA[Youtube può essere una sorgente di audio estremamente prolifica se si usa uno dei numerosi tool online che consentono di estrarlo da uno dei suoi video. Recentemente ho avuto occasione di provarne un altro, GetAudioFromVideo,  che fa quello che promette: inserisci il link del video di youtube, e dopo un breve tempo di processamento appare [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Youtube</strong> può essere una sorgente di audio estremamente prolifica se si usa uno dei <a title="I migliori tool online" href="http://www.ilsitodiluca.it/2009/09/03/la-lista-dei-migliori-tool-online/" target="_blank"><strong>numerosi tool online</strong></a> che consentono di estrarlo da uno dei suoi video.</p>
<p style="text-align: center;"><span id="more-1098"></span><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/03/youtube.jpg" rel="lightbox[1098]"><img class="aligncenter size-medium wp-image-1100" title="youtube" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/03/youtube.jpg" alt="" width="450" /></a></p>
<p style="text-align: left;">Recentemente ho avuto occasione di provarne un altro, <a href="http://www.getaudiofromvideo.com/" target="_blank"><strong>GetAudioFromVideo</strong></a>,  che fa quello che promette: inserisci il link del video di youtube, e dopo un breve tempo di processamento appare il tasto per eseguire il download. Semplice ed efficace.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2011/03/10/come-estrarre-laudio-da-un-video-di-youtube/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come disabilitare il controllo del disco su Windows 7</title>
		<link>http://www.ilsitodiluca.it/2011/03/09/come-disabilitare-il-controllo-del-disco-su-windows-7/</link>
		<comments>http://www.ilsitodiluca.it/2011/03/09/come-disabilitare-il-controllo-del-disco-su-windows-7/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 21:50:11 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[windows 7]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=1089</guid>
		<description><![CDATA[E&#8217; capitato in ufficio che spesso all&#8217;avvio di un nuovo portatile con sistema operativo Microsoft Windows 7 partiva la procedura di controllo del filesystem, che terminava senza trovare errori. Abbiamo deciso di disabilitarne l&#8217;avvio in automatico. Per disabilitare l&#8217;avvio automatico del controllo del filesystem si deve modificare una chiave del registro che si trova seguendo [...]]]></description>
			<content:encoded><![CDATA[<p>E&#8217; capitato in ufficio che spesso all&#8217;avvio di un nuovo portatile con sistema operativo <strong>Microsoft Windows 7</strong> partiva la procedura di controllo del filesystem, che terminava senza trovare errori. Abbiamo deciso di disabilitarne l&#8217;avvio in automatico.</p>
<p style="text-align: center;"><span id="more-1089"></span><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/03/windows-7.jpg" rel="lightbox[1089]"><img class="aligncenter size-medium wp-image-1090" style="margin-left: 70px; margin-right: 70px;" title="windows-7" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/03/windows-7-300x300.jpg" alt="" width="300" height="300" /></a></p>
<p>Per disabilitare l&#8217;avvio automatico del controllo del filesystem si deve modificare una chiave del registro che si trova seguendo questo percorso dell&#8217;alberatura:</p>
<p><strong>HKEY_LOCAL_MACHINE -&gt; SYSTEM -&gt; CurrentControlSet -&gt; ControlSession         -&gt; Manager</strong></p>
<p>Senza però doversi avventurare nel meraviglioso mondo del regedit, ecco un comando da eseguire dalla console del prompt per sistemare la faccenda:</p>
<blockquote><p><strong>chkntfs /X C:</strong></p></blockquote>
<p>dove C è la partizione del vostro disco. Se le partizioni fossero molteplici, basta aggiungerle in serie al comando precedente:</p>
<blockquote><p><strong>chkntfs /X C: D: E:</strong></p></blockquote>
<p><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2011/03/09/come-disabilitare-il-controllo-del-disco-su-windows-7/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>Microsoft Webmatrix: un ambiente di sviluppo completo di applicativi web per essere subito produttivi</title>
		<link>http://www.ilsitodiluca.it/2011/01/29/microsoft-webmatrix-un-ambiente-di-sviluppo-completo-di-applicativi-web-per-essere-subito-produttivi/</link>
		<comments>http://www.ilsitodiluca.it/2011/01/29/microsoft-webmatrix-un-ambiente-di-sviluppo-completo-di-applicativi-web-per-essere-subito-produttivi/#comments</comments>
		<pubDate>Sat, 29 Jan 2011 15:01:24 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=1014</guid>
		<description><![CDATA[A mio parere in ambito informatico c&#8217;è un bisogno sempre più crescente di semplificazione. Nascono tecnologie nuove ogni giorno, si moltiplicano sempre più i framework di sviluppo e servizi a cui interfacciarsi, ed è dura rimanere al passo. Nessuno che pensi alle salute delle coronarie dei programmatori? Meno male che ogni tanto spunta qualche iniziativa [...]]]></description>
			<content:encoded><![CDATA[<p>A mio parere in ambito informatico c&#8217;è un bisogno sempre più crescente di semplificazione. Nascono tecnologie nuove ogni giorno, si moltiplicano sempre più i framework di sviluppo e servizi a cui interfacciarsi, ed è dura rimanere al passo. Nessuno che pensi alle salute delle coronarie dei programmatori? Meno male che ogni tanto spunta qualche iniziativa volta a semplificare e unificare gli ambienti di sviluppo e di lavoro. Parliamo in questo caso di <strong><a href="http://www.microsoft.com/web/webmatrix/" target="_blank">Microsoft Webmatrix</a></strong>.</p>
<p><span id="more-1014"></span></p>
<p style="text-align: center;"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_download.png" rel="lightbox[1014]"><img class="aligncenter size-medium wp-image-1015" title="microsoft_webmatrix_download" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_download.png" alt="" width="420" /></a></p>
<p><strong>Microsoft Webmatrix</strong> è un ambiente di lavoro per tecnologie Microsoft che riunisce in sé un set di software (IDE e servizi) per essere subito produttivi in ambito web. La lista dei programmi compresi nel pacchetto è la seguente (nelle immagini ne vedete un dettaglio maggiore):</p>
<ul>
<li>Microsoft .NEt Framework 4</li>
<li>ASP.NET Web PAges</li>
<li>ASP.NET Web Pages Language Packs</li>
<li>Strumenti di Microsoft SQL Server Compact 4.0</li>
<li>IIS 7.5 Express</li>
<li>TIpi CLR di sistema di SQL Server</li>
<li>SQL Server Native Client</li>
<li>Microsoft SQL Server Compact 4.0</li>
<li>SQL Server 2008 Management Objects</li>
<li>Strumento di distribuzione Web 2.0</li>
<li>Microsoft Webmatrix</li>
</ul>
<p style="text-align: center;"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_programmi_installati_dettaglio1.png" rel="lightbox[1014]"><img class="aligncenter size-full wp-image-1016" title="Microsoft Webmatrix: programmi installati" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_programmi_installati_dettaglio1.png" alt="" width="420" /></a></p>
<p style="text-align: center;"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_programmi_installati_dettaglio2.png" rel="lightbox[1014]"><img class="aligncenter size-full wp-image-1017" title="Microsoft Webmatrix: programmi installati" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_programmi_installati_dettaglio2.png" alt="" width="420" /></a></p>
<p style="text-align: left;">Nella lista dei prodotti installati abbiamo quindi il set minimo di servizi per poter testare un applicativo web: un web server (IIS Express), un database (SQL Server Compact) e le librerie di ASP.NET per poter sviluppare. L&#8217;avvio dell&#8217;applicazione comprende anche lo startup dei servizi. L&#8217;ambiente di lavoro è sito-centrico, nel senso che ogni progetto è relativo ad un sito web che potenzialmente può essere anche uploadato direttamente sul server di produzione via ftp.</p>
<p style="text-align: center;"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_ambiente_di_lavoro.png" rel="lightbox[1014]"><img class="aligncenter size-full wp-image-1018" title="Microsoft Webmatrix: ambiente di lavoro" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_ambiente_di_lavoro.png" alt="" width="420" /></a></p>
<p style="text-align: left;">L&#8217;interfaccia di lavoro per editore file o per accedere al database è la stessa, e le varie funzionalità si attivano tramite una serie di pulsanti in basso a sinistra.</p>
<p style="text-align: center;"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_editor.png" rel="lightbox[1014]"><img class="aligncenter size-full wp-image-1019" title="Microsoft Webmatrix: editor" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_editor.png" alt="" width="420" /></a></p>
<p style="text-align: center;"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_database.png" rel="lightbox[1014]"><img class="aligncenter size-full wp-image-1020" title="Microsoft Webmatrix: database" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_database.png" alt="" width="420" /></a></p>
<p style="text-align: left;">L&#8217;editor gestisce le seguenti tipologie di file: html,css,jscript,cshtml,vbhtml,aspx,asp,php,txt,xml. Una nota: php non è presente nel pacchetto di installazione, non essendo proprietario Microsoft, però l&#8217;ambiente consente di utilizzarlo e notifica l&#8217;assenza delle librerie all&#8217;utente.</p>
<p style="text-align: center;"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_php_non_installato.png" rel="lightbox[1014]"><img class="aligncenter size-full wp-image-1021" title="Microsoft Webmatrix: php non installato" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_php_non_installato.png" alt="" width="420" /></a></p>
<p style="text-align: center;"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_selezione_php.png" rel="lightbox[1014]"><img class="aligncenter size-full wp-image-1022" title="Microsoft Webmatrix: selezione php" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_selezione_php.png" alt="" width="420" /></a></p>
<p style="text-align: left;">Ci sono poi una serie di impostazioni relativi a IIS e al servizio di upload FTP comodamente configurabili dall&#8217;utente. Infine, esiste anche un tool di monitoraggio delle richieste effettuare al server IIS locale, con il dettaglio della request e l&#8217;esito della risposta dal server.</p>
<p style="text-align: center;"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_impostazioni_iis.png" rel="lightbox[1014]"><img class="aligncenter size-full wp-image-1023" title="Microsoft Webmatrix: impostazioni IIS" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_impostazioni_iis.png" alt="" width="420" /></a></p>
<p style="text-align: center;"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_impostazioni_ftp.png" rel="lightbox[1014]"><img class="aligncenter size-full wp-image-1024" title="Microsoft Webmatrix: impostazioni FTP" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_impostazioni_ftp.png" alt="" width="420" /></a></p>
<p style="text-align: center;"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_monitoraggio_richieste_http.png" rel="lightbox[1014]"><img class="aligncenter size-full wp-image-1025" title="Microsoft Webmatrix: monitoraggio richieste http" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_webmatrix_monitoraggio_richieste_http.png" alt="" width="420" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2011/01/29/microsoft-webmatrix-un-ambiente-di-sviluppo-completo-di-applicativi-web-per-essere-subito-produttivi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft Interoperability Bridges: un ponte verso le tecnologie Microsoft</title>
		<link>http://www.ilsitodiluca.it/2011/01/17/microsoft-interoperability-bridges-un-ponte-verso-le-tecnologie-microsoft/</link>
		<comments>http://www.ilsitodiluca.it/2011/01/17/microsoft-interoperability-bridges-un-ponte-verso-le-tecnologie-microsoft/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 22:41:27 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=992</guid>
		<description><![CDATA[Ho trovato molto utile e interessante questa iniziativa di casa Microsoft chiamata Interoperability Bridges. In questo portale si trovano progetti il cui intento è di facilitare la comunicazione tra le tecnologie Microsoft e quelle non Microsoft. Indubbiamente un contributo interessante. I progetti presentati spaziano tra vari linguaggi di  programmazione: C, Java, Php, Ruby. Ci sono [...]]]></description>
			<content:encoded><![CDATA[<p>Ho trovato molto utile e interessante questa iniziativa di casa Microsoft chiamata <strong><a href="http://www.interoperabilitybridges.com/" target="_blank">Interoperability Bridges</a></strong>. In questo portale si trovano progetti il cui intento è di facilitare la comunicazione tra le tecnologie Microsoft e quelle non Microsoft. Indubbiamente un contributo interessante.</p>
<p style="text-align: center;"><span id="more-992"></span><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_interoperability_bridges.jpeg" rel="lightbox[992]"><img class="aligncenter size-medium wp-image-993" title="microsoft interoperability bridges" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/microsoft_interoperability_bridges-300x183.jpg" alt="" width="445" height="271" /></a></p>
<p style="text-align: left;">I progetti presentati spaziano tra vari linguaggi di  programmazione: C, Java, Php, Ruby. Ci sono tool di integrazione per Eclipse, SDK di sviluppo per vari servizi (AppFabric, OData, SQL Server, Window Azure), librerie per interfacciamento con Bing, per inclusione di Silverlight nel proprio sito, per l&#8217;interazione con documento del formato OpenXML. Ci sono anche vari progetti presenti nel Microsoft Labs. La lista è davvero lunga, e consiglio di <a href="http://www.interoperabilitybridges.com/Projects.aspx" target="_blank">darci un&#8217;occhiata</a>. Per finire, c&#8217;è anche un <a href="http://www.interoperabilitybridges.com/Blog.aspx" target="_blank">blog</a> con notizie aggiornate e ultime novità. Sicuramente è un&#8217;interessante fonte di materiale per chi si occupa di sviluppare o di gestire applicativi che non appartengono al mondo Microsoft ma che hanno però la necessità di comunicare con quelli che invece vi appartengono.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2011/01/17/microsoft-interoperability-bridges-un-ponte-verso-le-tecnologie-microsoft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Authentication refused: bad ownership or modes for directory</title>
		<link>http://www.ilsitodiluca.it/2011/01/03/authentication-refused-bad-ownership-or-modes-for-directory/</link>
		<comments>http://www.ilsitodiluca.it/2011/01/03/authentication-refused-bad-ownership-or-modes-for-directory/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 21:14:10 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=958</guid>
		<description><![CDATA[Oggi mi sono imbattuto in un problema relativo alla configurazione di una autenticazione ssh tramite chiave dsa. E dopo aver ripetuto le stesse operazioni più volte e googlato per mezza giornata, ho finalmente risolto. Ho seguito alla lettera una delle numerose guide presenti online per configurare l&#8217;autenticazione ssh tra 2 server utilizzando una chiave dsa, [...]]]></description>
			<content:encoded><![CDATA[<p>Oggi mi sono imbattuto in un problema relativo alla configurazione di una <strong>autenticazione ssh tramite chiave dsa</strong>. E dopo aver ripetuto le stesse operazioni più volte e googlato per mezza giornata, ho finalmente risolto.</p>
<p style="text-align: center;"><span id="more-958"></span><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/ssh.jpeg" rel="lightbox[958]"><img class="aligncenter size-medium wp-image-959" title="ssh" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/ssh-300x155.jpg" alt="" width="430" height="207" /></a></p>
<p style="text-align: left;">Ho seguito alla lettera una delle numerose guide presenti online per configurare l&#8217;autenticazione ssh tra 2 server utilizzando una chiave dsa, generata con il comando</p>
<blockquote>
<p style="text-align: left;"><strong>ssh-keygen -t dsa </strong></p>
</blockquote>
<p style="text-align: left;">sul server client e poi copiata (quella pubblica, cioè la <strong>/home/YOUR_USER/.ssh/id_dsa.pub</strong>) sul server di destinatione nel file <strong>/home/YOUR_USER/.ssh/authorization_keys</strong>. Nonostante questo, mi veniva sempre richiesta la password. L&#8217;utilizzo dei parametri di verbose sul comando ssh</p>
<blockquote>
<p style="text-align: left;"><strong>ssh -vvv user@hostname</strong></p>
</blockquote>
<p style="text-align: left;">non mi dava alcuna particolare indicazione. Verificando invece i log del server sshd su cui tentavo di effettuare il login, che nel mio caso si trovavano nel file <strong>/var/log/secure</strong>, ho notato numerose segnalazioni di errore di questo tipo:</p>
<blockquote>
<p style="text-align: left;"><strong>Authentication refused: bad ownership or modes for directory XXX<br />
</strong></p>
</blockquote>
<p style="text-align: left;">dove XXX era la directory home dell&#8217;utente. Mi ero preoccupato di verificare solo i permessi relativi alla directory .ssh/ (700) e al file .ssh/authorization_keys (600) contenuti nella home dell&#8217;utente, ma mai avrei pensato di dover verificare pure quelli della home stessa. Sono stato illuminato da un paio di segnalazioni su questo tema (<a href="http://recursive-design.com/blog/2010/09/14/ssh-authentication-refused/" target="_blank">http://recursive-design.com/blog/2010/09/14/ssh-authentication-refused/</a>,           <a href="http://ubuntuforums.org/showthread.php?t=892686" target="_blank">http://ubuntuforums.org/showthread.php?t=892686</a>), nelle quali viene specificato che anche la home dell&#8217;utente sul server in cui si vuole effettuare il login deve avere permessi pari a 700:</p>
<blockquote>
<p style="text-align: left;"><strong>chmod g-w /home/YOUR_USER</strong></p>
</blockquote>
<p style="text-align: left;">Come si dice, &#8220;all&#8217;s well that ends well&#8221;!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2011/01/03/authentication-refused-bad-ownership-or-modes-for-directory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Port Qry: uno strumento di verifica delle porte di rete</title>
		<link>http://www.ilsitodiluca.it/2011/01/02/port-qry-uno-strumento-di-verifica-delle-porte-di-rete/</link>
		<comments>http://www.ilsitodiluca.it/2011/01/02/port-qry-uno-strumento-di-verifica-delle-porte-di-rete/#comments</comments>
		<pubDate>Sun, 02 Jan 2011 19:30:36 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=949</guid>
		<description><![CDATA[Port Qry (Port Query) è uno strumento semplice ma efficace per testare la raggiungibilità di porte TCP/IP in una rete locale, cosi come sulla WAN. Oltre alla versione da riga di comando (PortQry.exe), esiste una interfaccia a finestre (PortQueryUI) per Windows, di cui vedremo ora l&#8217;utilizzo. I parametri per eseguire un test sono pochi: indirizzo [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://support.microsoft.com/kb/832919" target="_blank"><strong>Port Qry</strong></a> (Port Query) è uno strumento semplice ma efficace per testare la raggiungibilità di porte TCP/IP in una rete locale, cosi come sulla WAN. Oltre alla versione da riga di comando (PortQry.exe), esiste una interfaccia a finestre (<strong>PortQueryUI</strong>) per Windows, di cui vedremo ora l&#8217;utilizzo.</p>
<p style="text-align: center;"><span id="more-949"></span><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/port_query.jpg" rel="lightbox[949]"><img class="size-medium wp-image-950 aligncenter" title="Port Qry" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/port_query-276x300.jpg" alt="" width="276" height="300" /></a></p>
<p>I parametri per eseguire un test sono pochi:</p>
<ul>
<li>indirizzo IP o dominio;</li>
<li>lista di porte da testare con relativo protocollo (TCP o UDP) oppure un tipo di servizio scelto da una lista (web, sql, exchange, &#8230;).</li>
</ul>
<p>A questo punto basta lanciare il test premendo il tasto &#8220;Query&#8221;, ed il risultato viene scritto sul box &#8220;Query result&#8221;. Ad esempio, provando a raggiungere la porta 3306 del mio pc ottengo come risultato &#8220;Listening&#8221;, in quanto ho un Mysql funzionante. Se invece provo a raggiungere la porta 80 sempre del mio pc il risultato è di &#8220;Not listening&#8221; in quanto non ci sono servizi in ascolto su questa porta. Provando infine sul dominio www.ilsitodiluca.it la porta 3306 ottengo un &#8220;Filtered&#8221;, in quanto l&#8217;accesso è stato bloccato da un firewall.</p>
<p><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/port_query_listening.jpg" rel="lightbox[949]"><img class="aligncenter size-medium wp-image-952" title="Port Qry: listening" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/port_query_listening-276x300.jpg" alt="" width="276" height="300" /></a></p>
<p><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/port_query_listening.jpg" rel="lightbox[949]"></a><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/port_query_not_listening.jpg" rel="lightbox[949]"><img class="aligncenter size-medium wp-image-953" title="Port Qry: not listening" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/port_query_not_listening-277x300.jpg" alt="" width="277" height="300" /></a></p>
<p><a href="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/port_query_filtered.jpg" rel="lightbox[949]"><img class="aligncenter size-medium wp-image-954" title="Port Qry: filtered" src="http://www.ilsitodiluca.it/wp-content/uploads/2011/01/port_query_filtered-278x300.jpg" alt="" width="278" height="300" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2011/01/02/port-qry-uno-strumento-di-verifica-delle-porte-di-rete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Dude: uno strumento di monitoraggio di rete</title>
		<link>http://www.ilsitodiluca.it/2010/12/28/the-dude-uno-strumento-di-monitoraggio-di-rete/</link>
		<comments>http://www.ilsitodiluca.it/2010/12/28/the-dude-uno-strumento-di-monitoraggio-di-rete/#comments</comments>
		<pubDate>Tue, 28 Dec 2010 20:48:42 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[network monitor]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=920</guid>
		<description><![CDATA[The Dude è uno strumento potente e molto completo per tutti gli amministratori di rete che hanno necessità di eseguire un monitoraggio continuo della propria lan aziendale. Vediamo le operazioni per un suo utilizzo di base. Per prima cosa eseguite il download del pacchetto di installazione per Windows. La versione stabile attualmente è la 3.6, [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://www.mikrotik.com/thedude.php" target="_blank">The Dude</a></strong> è uno strumento potente e molto completo per tutti gli amministratori di rete che hanno necessità di eseguire un monitoraggio continuo della propria lan aziendale. Vediamo le operazioni per un suo utilizzo di base.</p>
<p><span id="more-920"></span></p>
<div id="attachment_921" class="wp-caption alignleft" style="width: 440px"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2010/12/the_dude_ricerca_generale.jpg" rel="lightbox[920]"><img class="size-medium wp-image-921" title="The Dude: ricerca dei dispositivi" src="http://www.ilsitodiluca.it/wp-content/uploads/2010/12/the_dude_ricerca_generale.jpg" alt="" width="430" /></a><p class="wp-caption-text">The Dude: ricerca dei dispositivi</p></div>
<p>Per prima cosa eseguite il <a href="http://download.mikrotik.com/dude-install-3.6.exe" target="_blank">download</a> del pacchetto di installazione per Windows. La versione stabile attualmente è la 3.6, mentre in beta è pronta la 4.0. Per gli utenti di Linux è comunque possibile utilizzare il programma attraverso Wine (<a href="http://wiki.mikrotik.com/wiki/Dude_Linux_Installation" target="_blank">qui</a> le istruzioni). Al primo avvio vi verrà proposta la finestra della ricerca, in cui dovrete inserire i parametri relativi alla rete su cui volete eseguire il monitoraggio. Notare che l&#8217;applicativo suggerisce già le reti possibili in base alle impostazione di rete del computer su cui viene eseguito. La ricerca può essere personalizzata filtrando per tipo di dispositivi (windows, router, stampanti, switch , &#8230;), tipo di servizi (ssh, telnet, pop3, &#8230;) ed altre configurazioni avanzate.</p>
<div id="attachment_922" class="wp-caption alignleft" style="width: 210px"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2010/12/the_dude_ricerca_tipo_di_dispositivi.jpg" rel="lightbox[920]"><img class="size-medium wp-image-922" title="The Dude: ricerca per tipo di dispositivi" src="http://www.ilsitodiluca.it/wp-content/uploads/2010/12/the_dude_ricerca_tipo_di_dispositivi.jpg" alt="" /></a><p class="wp-caption-text">The Dude: ricerca per tipo di dispositivi</p></div>
<p></p>
<div id="attachment_925" class="wp-caption alignleft" style="width: 440px"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2010/12/the_dude_ricerca_tipo_di_servizi1.jpg" rel="lightbox[920]"><img class="size-medium wp-image-925" title="The Dude: ricerca per tipo di servizi" src="http://www.ilsitodiluca.it/wp-content/uploads/2010/12/the_dude_ricerca_tipo_di_servizi1.jpg" alt="" width="430" /></a><p class="wp-caption-text">The Dude: ricerca per tipo di servizi</p></div>
<p></p>
<div id="attachment_926" class="wp-caption alignleft" style="width: 440px"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2010/12/the_dude_ricerca_opzioni_avanzate.jpg" rel="lightbox[920]"><img class="size-medium wp-image-926" title="The Dude: opzioni avanzate per la ricerca" src="http://www.ilsitodiluca.it/wp-content/uploads/2010/12/the_dude_ricerca_opzioni_avanzate.jpg" alt="" width="430" /></a><p class="wp-caption-text">The Dude: opzioni avanzate per la ricerca</p></div>
<p style="clear:both;">
Il risultato della ricerca è un grafico che rappresenta la rete &#8220;vista&#8221; dall&#8217;applicativo, in cui ogni riquadro identifica un pc o un dispositivo connesso in rete, con il suo nome o IP, e un eventuale simbolo ad indicare un web server, un router, un server di stampa o altro. Nell&#8217;immagine sottostante potete vedere il risultato della ricerca eseguita sulla rete della ditta per cui lavoro.
</p>
<div id="attachment_927" class="wp-caption alignleft" style="width: 440px"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2010/12/the_dude_network_map.jpg" rel="lightbox[920]"><img class="size-medium wp-image-927" title="The Dude: network map" src="http://www.ilsitodiluca.it/wp-content/uploads/2010/12/the_dude_network_map.jpg" alt="" width="430" /></a><p class="wp-caption-text">The Dude: network map</p></div>
<p>Su ogni singolo riquadro, che rappresenta un nodo della rete, è possibile eseguire un insieme di operazioni specifiche:</p>
<ul>
<li>ping</li>
<li>traceroute</li>
<li>snmpwalk</li>
<li>scan</li>
<li>apertura di un terminale (solo se è installato <a href="http://www.mikrotik.com/software.html" target="_blank">router os</a>)</li>
<li>apertura di una connessione remota (solo se è installato <a href="http://www.mikrotik.com/software.html" target="_blank">router os</a>)</li>
</ul>
<p>Oltre al grafico della rete, sono disponibili:</p>
<ul>
<li>il listato dei dispositivi trovati, con nome, IP, tipologia, eventuali servizi attivi;</li>
<li>il listato dei servizi trovati, con IP della macchina e tipologia.</li>
</ul>
<p>The Dude può essere eseguito sia in modalità client che come servizio.</p>
<div id="attachment_928" class="wp-caption alignleft" style="width: 440px"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2010/12/the_dude_lista_dispositivi.jpg" rel="lightbox[920]"><img class="size-medium wp-image-928" title="The Dude: lista dei dispositivi" src="http://www.ilsitodiluca.it/wp-content/uploads/2010/12/the_dude_lista_dispositivi.jpg" alt="" width="430" /></a><p class="wp-caption-text">The Dude: lista dei dispositivi</p></div>
<div id="attachment_929" class="wp-caption alignleft" style="width: 440px"><a href="http://www.ilsitodiluca.it/wp-content/uploads/2010/12/the_dude_lista_servizi.jpg" rel="lightbox[920]"><img class="size-medium wp-image-929" title="The Dude: lista dei servizi" src="http://www.ilsitodiluca.it/wp-content/uploads/2010/12/the_dude_lista_servizi.jpg" alt="" width="430" /></a><p class="wp-caption-text">The Dude: lista dei servizi</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2010/12/28/the-dude-uno-strumento-di-monitoraggio-di-rete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse MAT: uno strumento di analisi dei memory leaks di applicativi Java</title>
		<link>http://www.ilsitodiluca.it/2010/11/28/eclipse-mat-uno-strumento-di-analisi-dei-memory-leaks-di-applicativi-java/</link>
		<comments>http://www.ilsitodiluca.it/2010/11/28/eclipse-mat-uno-strumento-di-analisi-dei-memory-leaks-di-applicativi-java/#comments</comments>
		<pubDate>Sun, 28 Nov 2010 18:56:39 +0000</pubDate>
		<dc:creator>Luca</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.ilsitodiluca.it/?p=863</guid>
		<description><![CDATA[Eclipse MAT (Eclipse Memory Analyzer) è una versione di Eclipse pensata per consentire un&#8217;analisi approfondita dello stato di utilizzo della memoria di un applicativo Java ed individuarne eventuali memory leak. Vediamone più in dettaglio le peculiarità. Ottenere un heap dump della memoria Per iniziare l&#8217;analisi della memoria è necessario ottenere un heap dump dell&#8217;applicativo Java. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.eclipse.org/mat/" target="_blank"><strong>Eclipse MAT (Eclipse Memory Analyzer)</strong></a> è una versione di <strong>Eclipse</strong> pensata per consentire un&#8217;analisi approfondita dello stato di utilizzo della memoria di un applicativo Java ed individuarne eventuali <strong>memory leak</strong>. Vediamone più in dettaglio le peculiarità.</p>
<p><span id="more-863"></span><a href="http://www.eclipse.org/mat/downloads.php" target="_blank"><strong> </strong></a></p>
<h2>Ottenere un heap dump della memoria</h2>
<p>Per iniziare l&#8217;analisi della memoria è necessario ottenere un heap dump dell&#8217;applicativo Java. <strong>Eclipse MAT</strong> consente di ottenerne uno dai processi attualmente eseguiti sul pc, che vengono presentati con un comodo elenco. Nel caso in cui l&#8217;applicativo risieda su un&#8217;altra macchina, sarà necessario procurarsi il dump della memoria in un altro modo (usando ad esempio i binari <strong>Jmap</strong> o <strong><a href="http://www.ilsitodiluca.it/2010/07/29/come-monitorare-le-performance-di-un-applicativo-java/" target="_blank">Jconsole</a></strong> disponibili nel pacchetto di una JVM).</p>
<p><a href="http://www.ilsitodiluca.it/wp-content/uploads/2010/11/mat_acquire_heap_dump.jpg" rel="lightbox[863]"><img class="alignleft size-medium wp-image-864" title="Eclipse MAT - Acquire heap dump" src="http://www.ilsitodiluca.it/wp-content/uploads/2010/11/mat_acquire_heap_dump.jpg" alt="" width="400" /></a></p>
<h2>Overview dello consumo di memoria</h2>
<p>Un primo grafico a torta ci presenta lo stato complessivo della memoria del processo. Si ha subito un&#8217;indicazione visiva degli oggetti che occupano più spazio.</p>
<p><a href="http://www.ilsitodiluca.it/wp-content/uploads/2010/11/mat_overview.jpg" rel="lightbox[863]"><img class="alignleft size-medium wp-image-872" title="Eclipse MAT - Overview" src="http://www.ilsitodiluca.it/wp-content/uploads/2010/11/mat_overview.jpg" alt="" width="400" /></a></p>
<p>Con il grafico di tipo &#8220;Dominator Tree&#8221;, invece, si ottiene una lista ordinata di tutti gli oggetti con relativo package, con l&#8217;indicazione dettagliata della percentuale di memoria heap occupata.</p>
<p><a href="http://www.ilsitodiluca.it/wp-content/uploads/2010/11/mat_dominator_tree.jpg" rel="lightbox[863]"><img class="alignleft size-medium wp-image-873" title="Eclipse MAT - Dominator tree" src="http://www.ilsitodiluca.it/wp-content/uploads/2010/11/mat_dominator_tree.jpg" alt="" width="400"  /></a></p>
<div style="clear:both;"></div>
<h2>Class reference</h2>
<p>Con lo strumento Inspector si ottiene il dettaglio della &#8220;Class Reference&#8221;, in cui vengono elencate tutte le classi con il tipo, il numero e la dimensione degli oggetti utilizzati al loro interno, oltre ad una serie di altri dati.</p>
<p><a href="http://www.ilsitodiluca.it/wp-content/uploads/2010/11/mat_class_reference.jpg" rel="lightbox[863]"><img class="alignleft size-medium wp-image-866" title="Eclipse Mat: class reference" src="http://www.ilsitodiluca.it/wp-content/uploads/2010/11/mat_class_reference.jpg" alt="" width="400" /></a></p>
<div style="clear:both;"></div>
<h2>Leak suspects</h2>
<p>Con i grafici relativi ai sospetti leak entriamo nella caratteristica a mio avviso più interessante di <strong>Eclipse MAT</strong>. C&#8217;è infatti l&#8217;indicazione precisa delle potenziali cause di un out of memory, descritte sia come grafico a torta sia con una breve descrizione lista degli oggetti relativi.</p>
<p><a href="http://www.ilsitodiluca.it/wp-content/uploads/2010/11/mat_leak_suspects.jpg" rel="lightbox[863]"><img class="alignleft size-medium wp-image-867" title="Eclipse MAT - Leak suspects" src="http://www.ilsitodiluca.it/wp-content/uploads/2010/11/mat_leak_suspects.jpg" alt="" width="400" /></a><br />
<a href="http://www.ilsitodiluca.it/wp-content/uploads/2010/11/mat_leak_suspects_problems.jpg" rel="lightbox[863]"><img class="alignleft size-medium wp-image-868" title="Eclipse MAT - Leak suspects problems" src="http://www.ilsitodiluca.it/wp-content/uploads/2010/11/mat_leak_suspects_problems.jpg" alt="" width="400" /></a></p>
<div style="clear:both;"></div>
<h2>Top consumers</h2>
<p>Infine, i Top Consumers sono gli oggetti che occupano la dimensione maggiore nella memoria heap.</p>
<p><a href="http://www.ilsitodiluca.it/wp-content/uploads/2010/11/mat_top_consumers.jpg" rel="lightbox[863]"><img class="alignleft size-medium wp-image-869" title="Eclipse MAT - Top consumers" src="http://www.ilsitodiluca.it/wp-content/uploads/2010/11/mat_top_consumers.jpg" alt="" width="400" /></a></p>
<p><a href="http://www.ilsitodiluca.it/wp-content/uploads/2010/11/mat_top_consumers_biggest_objects.jpg" rel="lightbox[863]"><img class="alignleft size-medium wp-image-870" title="Eclipse MAT - Top consumers biggest objects" src="http://www.ilsitodiluca.it/wp-content/uploads/2010/11/mat_top_consumers_biggest_objects.jpg" alt="" width="400" /></a></p>
<div style="clear:both;"></div>
<p><a href="http://www.eclipse.org/mat/downloads.php" target="_blank"><strong>Scarica Eclipse MAT dal sito ufficiale</strong></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilsitodiluca.it/2010/11/28/eclipse-mat-uno-strumento-di-analisi-dei-memory-leaks-di-applicativi-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

