<?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>:: syscallme :: &#187; Medium</title>
	<atom:link href="http://syscallme.2bopen.org/category/linux/experience/medium/feed/" rel="self" type="application/rss+xml" />
	<link>http://syscallme.2bopen.org</link>
	<description>segfault of my memory leak</description>
	<lastBuildDate>Mon, 26 Jul 2010 10:18:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>VNC via HTTP con Guacamole: vediamolo su Ubuntu!</title>
		<link>http://syscallme.2bopen.org/2010/07/26/vnc-via-http-con-guacamole-vediamolo-su-ubuntu/</link>
		<comments>http://syscallme.2bopen.org/2010/07/26/vnc-via-http-con-guacamole-vediamolo-su-ubuntu/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 10:16:56 +0000</pubDate>
		<dc:creator>daniele</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Medium]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[guacamole]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://syscallme.2bopen.org/?p=170</guid>
		<description><![CDATA[Come promesso scrivo qualche riga su un&#8217;applicazione che ho provato qualche mese fa e mi ha stupito veramente veramente tanto: Guacamole. No ragazzi, non parlo della (buonissima peraltro) salsa messicana! Guacamole è un viewer  VNC scritto in HTML5 e Javascript, che fa uso di piccolo proxy, server side scritto in Java. Per questo avrete necessità [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="lightbox" href="http://syscallme.2bopen.org/wp-content/uploads/2010/07/guacamole.png"><img class="alignleft size-medium wp-image-174" title="guacamole" src="http://syscallme.2bopen.org/wp-content/uploads/2010/07/guacamole-300x172.png" alt="" width="300" height="172" /></a>Come promesso scrivo qualche riga su un&#8217;applicazione che ho provato qualche mese fa e mi ha stupito veramente veramente tanto: <a href="http://guacamole.sourceforge.net/" target="_blank"><strong>Guacamole</strong></a>. No ragazzi, non parlo della (buonissima peraltro) salsa messicana!</p>
<p>Guacamole è un viewer  VNC scritto in HTML5 e Javascript, che fa uso di piccolo proxy, <em>server side</em> scritto in Java. Per questo avrete necessità di deployarla all&#8217;interno di un qualsiasi <em>servlet container</em>. Io ho sempre utilizzato <a href="http://tomcat.apache.org/">Apache Tomcat</a>.</p>
<p>Utilizzandola avrete la possibilità di accedere al server sul quale è installata da un comunissimo browser compliant con gli standard HTML5; da lì, avrete il &#8220;possesso&#8221; completo della vostra macchina, come se foste in console e&#8230;beh,  al diavolo il proxy HTTP che vi blocca le connessioni SSH (tanto per fare un piccolo riferimento al mio <a href="http://syscallme.2bopen.org/2010/07/21/corkscrew-tunneling-ssh-attraverso-un-proxy-http-https/" target="_blank">post precedente</a>)!</p>
<p>Cmq, mi sembra superfluo continuare le spiegazioni (anche perchè non c&#8217;è molto altro da dire). Io proporrei di vederlo all&#8217;opera&#8230;voi che dite?</p>
<p><span id="more-170"></span></p>
<h3>Il contesto</h3>
<p>Due righe per spiegare dove e come proveremo Guacamole. Anzitutto l&#8217;OS: trattasi di una fantastica <a href="http://www.ubuntu.com" target="_blank">GNU/Linux Ubuntu Lucid Lynx 10.04 LTS</a>; direi il capolavoro di <a href="http://www.canonical.com/" target="_blank">Canonical</a>. Quindi il servlet container scelto che, come detto, è Apache Tomcat in versione 6.0.24. In ultimo la versione della jdk: una 1.60_20 per piattaforma 64bit. Ok ora sappiamo tutto. Andiamo a provare Guacamole!</p>
<h3>Installare Guacamole su Ubuntu 10.04</h3>
<p>Anzitutto ci occorrerà installare un VNC server. Guacamole, come detto, utilizza un proxettino che si metterà in contatto con il questo VNC server e otterrà la view della vostra console che poi verrà ri-renderizzata in HTML5 e Javascript.</p>
<p>Io come VNC server ho utilizzato <a href="http://www.karlrunge.com/x11vnc/" target="_blank">X11VNC</a>. Perchè è semplice da installare (basta un <em>apt-get install</em>); perchè il deamon lo gestisci via xinetd (che comunque installeremo) e a me questa cosa piace; ma soprattutto perchè è consigliato dagli stessi creatori di Guacamole! Vediamo come installarlo:</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">root<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~<span style="color: #666666; font-style: italic;"># apt-get install x11vnc xinetd</span></div></div>
<p>e configuriamo xinetd per gestire X11VNC: creiamo il file /etc/xinetd.d/x11vnc che contenga:</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">service x11vnc<br />
<span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
port        = <span style="color: #000000;">5900</span><br />
only_from   = localhost<br />
<span style="color: #7a0874; font-weight: bold;">type</span>        = UNLISTED<br />
socket_type = stream<br />
protocol    = tcp<br />
<span style="color: #7a0874; font-weight: bold;">wait</span>        = no<br />
user        = root<br />
server      = <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>x11vnc<br />
server_args = <span style="color: #660033;">-inetd</span> <span style="color: #660033;">-display</span> :<span style="color: #000000;">0</span> <span style="color: #660033;">-o</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>x11vnc.log <span style="color: #660033;">-24to32</span> <span style="color: #660033;">-scr</span> always <span style="color: #660033;">-xkb</span><br />
disable     = no<br />
<span style="color: #7a0874; font-weight: bold;">&#125;</span></div></div>
<p>Delle stringhe inserite qua sopra, la più rilevante è quella relativa ai server_args. Su Ubuntu questa è la configurazione ottimale, tuttavia ho già verificato che su altre distro c&#8217;è qualcosa da modificare (tipo Debian Lenny&#8230;). Ovviamente le modifiche dipendono direttamente da come viene configurato e gestito l&#8217;X server dalle varie distro. Diciamo che anche nella situazione peggiore, una googlata e un po&#8217; di dimestichezza con l&#8217;X server dovrebbe risolvervi il problema.</p>
<p>Notate inoltre che il server VNC sarà in listening solo su localhost (istruzione &#8220;only_from&#8221;). Ovviamente, dato che il traffico VNC serve solo a guacamole che, nel nostro caso perlomeno, risiederà sulla stessa macchina server, non occorre esporre troppo il servizio.</p>
<p>Diciamo che le altre voci dovrebbero essere semplici da capire. Come semplice da capire è che il server VNC andrà in listening sulla porta 5900 e utilizzeremo il display :0.</p>
<p>In ogni modo ora X11VNC e xinetd sono installati e configurati. Un piccolo restart</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">root<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~<span style="color: #666666; font-style: italic;"># /etc/init.d/xinetd restart</span></div></div>
<p>e siamo apposto. Ora occupiamoci di Guacamole.</p>
<p>Chi non è nuovo di questo blog, sa che quando voglio installare un&#8217;applicativo che andrà in run da utente non privilegiato, io anzitutto creo un utente apposito e sfrutto la sua $HOME per installare l&#8217;applicazione che dovrà gestire. Apache Tomcat è un classico software che gira da utente non privilegiato. Di conseguenza creo l&#8217;utente &#8220;tomcat&#8221; che lo gestirà</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">root<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~<span style="color: #666666; font-style: italic;"># groupadd tomcat</span><br />
root<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~<span style="color: #666666; font-style: italic;"># useradd -g tomcat -d /home/tomcat -m -s /bin/bash tomcat</span></div></div>
<p>e divento utente tomcat.</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">root<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~<span style="color: #666666; font-style: italic;"># su - tomcat</span><br />
tomcat<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~$</div></div>
<p>Tutto quello che accadrà da ora in poi sarà completamente &#8220;responsabilità&#8221; del nuovo utente <img src='http://syscallme.2bopen.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Siamo pronti per procurarci (prima di tutto) il software che ci serve. Quindi, prima di continuare la vostra lettura, assicurative di scaricare:</p>
<ul>
<li>la JDK a questo indirizzo: http://java.sun.com/javase/downloads/widget/jdk6.jsp</li>
<li>Apache Tomcat a questo: http://tomcat.apache.org/download-60.cgi</li>
<li>Guacamole sulla sua pagina Sourceforge: http://sourceforge.net/projects/guacamole/</li>
</ul>
<p>Mettiamo tutto in una directory di proprietà dell&#8217;utente &#8220;tomcat&#8221; che chiameremo &#8220;pkg&#8221; e diamo i giusti permessi.</p>
<p>Come prima cosa installiamo la JDK e mettiamola nel $PATH dell&#8217;utente tomcat. Anzitutto diamo al .bin appena scaricato i permessi di eseguibilità</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">tomcat<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~$ <span style="color: #c20cb9; font-weight: bold;">chmod</span> u+x jdk-6u20-linux-x64.bin</div></div>
<p>e quindi runniamo l&#8217;eseguibile</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">tomcat<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~<span style="color: #000000; font-weight: bold;">/</span>pkg $ .<span style="color: #000000; font-weight: bold;">/</span>jdk-6u20-linux-x64.bin</div></div>
<p>Creiamo un link simbolico per la dir della jdk. Questo ci darà due vantaggi:</p>
<ul>
<li>semplificare la path</li>
<li>effettuare tutti i settings relativi alla messa in PATH della JavaVM utilizzando un percorso che <strong>non cambierà mai</strong> a prescindere le versioni della JDK che cambierete nel tempo.</li>
</ul>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">tomcat<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~$ <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> .<span style="color: #000000; font-weight: bold;">/</span>jdk1.6.0_22 java</div></div>
<p>Quindi modifichiamo il .bashrc dell&#8217;utente inserendo queste due righe:</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">JAVA_HOME</span>=<span style="color: #ff0000;">&quot;/home/tomcat/java&quot;</span><br />
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">PATH</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$JAVA_HOME</span>/bin:<span style="color: #007800;">$PATH</span>&quot;</span></div></div>
<p>e ricarichiamo le impostazioni utente</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">tomcat<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~$ . .bashrc</div></div>
<p>Se ora diamo un colpetto di <em>which</em> dovremo vedere che java viene correttamente identificato</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">tomcat<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~$ <span style="color: #c20cb9; font-weight: bold;">which</span> java<br />
<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>tomcat<span style="color: #000000; font-weight: bold;">/</span>java<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>java</div></div>
<p>A questo punto passiamo a Tomcat. Spacchettiamo il .tar.gz che abbiamo scaricato (ricordo che stiamo provando con la versione 6.0.24) e spostiamolo nella home dell&#8217;utente.</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">tomcat<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~<span style="color: #000000; font-weight: bold;">/</span>pkg $ <span style="color: #c20cb9; font-weight: bold;">tar</span> zxvf apache-tomcat-6.0.24.tar.gz<br />
tomcat<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~<span style="color: #000000; font-weight: bold;">/</span>pkg $ <span style="color: #c20cb9; font-weight: bold;">mv</span> apache-tomcat6.0.24 ..</div></div>
<p>Ora, sempre nella dir ~/pkg spacchettiamo anche Guacamole:</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">tomcat<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~<span style="color: #000000; font-weight: bold;">/</span>pkg $ <span style="color: #c20cb9; font-weight: bold;">tar</span> zxvf guacamole-<span style="color: #000000;">0.26</span>.tar.gz</div></div>
<p>All&#8217;interno della directory spacchettata troverete i seguenti files:</p>
<ul>
<li><strong>guacamole.war</strong>: è il compilato dell&#8217;applicazione che deployeremo più tardi all&#8217;interno di Tomcat</li>
<li><strong>guacamole.xml</strong>: l&#8217;xml del contesto. Poche modifiche ed è già bello e pronto</li>
<li><strong>guacamole-users.xml</strong>: è il file xml che definisce l&#8217;autenticazione HTTP per accedere a guacamole. Anche questo provvederemo a modificarlo</li>
<li><strong>guacamole-src.tar</strong>: per chiunque ne senta il bisogno&#8230;ecco il sorgente!</li>
<li><strong>LICENSE.txt</strong>: la tua copia della licenza con cui è rilasciato Guacamole. Che è la GPL3.</li>
</ul>
<p>Cominciamo l&#8217;installazione. Anzitutto copiamo il file guacamole.war all&#8217;interno della folder &#8220;webapps&#8221; del vostro tomcat.</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">tomcat<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~<span style="color: #000000; font-weight: bold;">/</span>pkg<span style="color: #000000; font-weight: bold;">/</span>guacamole-<span style="color: #000000;">0.26</span> $ <span style="color: #c20cb9; font-weight: bold;">cp</span> guacamole.war <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>tomcat<span style="color: #000000; font-weight: bold;">/</span>apache-tomcat6.0.24<span style="color: #000000; font-weight: bold;">/</span>webapps</div></div>
<p>Quindi copiamo il file guacamole-users.xml nella folder di conf di tomcat. Se aprite questo file, inoltre, vi accorgerete che la password è settata a &#8220;changeme&#8221;. Beh lo dice la parola stessa&#8230;modificatela!</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">tomcat<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~<span style="color: #000000; font-weight: bold;">/</span>pkg<span style="color: #000000; font-weight: bold;">/</span>guacamole-<span style="color: #000000;">0.26</span> $ <span style="color: #c20cb9; font-weight: bold;">cp</span> guacamole-users.xml <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>tomcat<span style="color: #000000; font-weight: bold;">/</span>apache-tomcat6.0.24<span style="color: #000000; font-weight: bold;">/</span>conf</div></div>
<p>Ora tocca al file di contesto. Apriamolo e modifichiamo la docBase del Context, specificando la path assoluta di dove si trova il nostro file .war. In poche parole sostituiamo questa riga qui:</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&amp;</span>lt;Context <span style="color: #007800;">antiJARLocking</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #007800;">path</span>=<span style="color: #ff0000;">&quot;/guacamole&quot;</span> <span style="color: #007800;">docBase</span>=<span style="color: #ff0000;">&quot;/var/lib/guacamole/guacamole.war&quot;</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;</div></div>
<p>con questa qui</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&amp;</span>lt;Context <span style="color: #007800;">antiJARLocking</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #007800;">path</span>=<span style="color: #ff0000;">&quot;/guacamole&quot;</span> <span style="color: #007800;">docBase</span>=<span style="color: #ff0000;">&quot;/home/tomcat/apache-tomcat6.0.24/webapps/guacamole.war&quot;</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;</div></div>
<p>Richiudetelo e spostatelo nella folder Catalina/localhost da creare all&#8217;interno della directory &#8220;conf&#8221;. Così</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">tomcat<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~$ <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> apache-tomcat6.0.24<span style="color: #000000; font-weight: bold;">/</span>conf<span style="color: #000000; font-weight: bold;">/</span>Catalina<span style="color: #000000; font-weight: bold;">/</span>localhost<br />
tomcat<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~$ <span style="color: #c20cb9; font-weight: bold;">cp</span> pkg<span style="color: #000000; font-weight: bold;">/</span>guacamole.xml apache-tomcat6.0.24<span style="color: #000000; font-weight: bold;">/</span>conf<span style="color: #000000; font-weight: bold;">/</span>Catalina<span style="color: #000000; font-weight: bold;">/</span>localhost</div></div>
<p>Ok signori. Abbiamo finito. Startiamo tomcat</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">tomcat<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~$ <span style="color: #7a0874; font-weight: bold;">cd</span> apache-tomcat6.0.24<span style="color: #000000; font-weight: bold;">/</span>bin<br />
tomcat<span style="color: #000000; font-weight: bold;">@</span>ubuntu ~<span style="color: #000000; font-weight: bold;">/</span>apache-tomcat6.0.24<span style="color: #000000; font-weight: bold;">/</span>bin $ .<span style="color: #000000; font-weight: bold;">/</span>catalina.sh start</div></div>
<p>e visitiamo la paginetta http://localhost:8080/guacamole. Inseriamo user e password specificati nel file guacamole-users.xml e&#8230; UALA&#8217;! Il VNC via HTTP è servito!</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fsyscallme.2bopen.org%2F2010%2F07%2F26%2Fvnc-via-http-con-guacamole-vediamolo-su-ubuntu%2F&amp;title=VNC+via+HTTP+con+Guacamole%3A+vediamolo+su+Ubuntu%21" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fsyscallme.2bopen.org%2F2010%2F07%2F26%2Fvnc-via-http-con-guacamole-vediamolo-su-ubuntu%2F&amp;title=VNC+via+HTTP+con+Guacamole%3A+vediamolo+su+Ubuntu%21" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fsyscallme.2bopen.org%2F2010%2F07%2F26%2Fvnc-via-http-con-guacamole-vediamolo-su-ubuntu%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fsyscallme.2bopen.org%2F2010%2F07%2F26%2Fvnc-via-http-con-guacamole-vediamolo-su-ubuntu%2F&amp;title=VNC+via+HTTP+con+Guacamole%3A+vediamolo+su+Ubuntu%21" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fsyscallme.2bopen.org%2F2010%2F07%2F26%2Fvnc-via-http-con-guacamole-vediamolo-su-ubuntu%2F&amp;T=VNC+via+HTTP+con+Guacamole%3A+vediamolo+su+Ubuntu%21" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fsyscallme.2bopen.org%2F2010%2F07%2F26%2Fvnc-via-http-con-guacamole-vediamolo-su-ubuntu%2F&amp;title=VNC+via+HTTP+con+Guacamole%3A+vediamolo+su+Ubuntu%21" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fsyscallme.2bopen.org%2F2010%2F07%2F26%2Fvnc-via-http-con-guacamole-vediamolo-su-ubuntu%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+VNC+via+HTTP+con+Guacamole%3A+vediamolo+su+Ubuntu%21+@+http%3A%2F%2Fsyscallme.2bopen.org%2F2010%2F07%2F26%2Fvnc-via-http-con-guacamole-vediamolo-su-ubuntu%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fsyscallme.2bopen.org%2F2010%2F07%2F26%2Fvnc-via-http-con-guacamole-vediamolo-su-ubuntu%2F&amp;t=VNC+via+HTTP+con+Guacamole%3A+vediamolo+su+Ubuntu%21" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://syscallme.2bopen.org/2010/07/26/vnc-via-http-con-guacamole-vediamolo-su-ubuntu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Bind9 in chroot su Centos 5.4</title>
		<link>http://syscallme.2bopen.org/2009/10/25/bind9-in-chroot-su-centos-54/</link>
		<comments>http://syscallme.2bopen.org/2009/10/25/bind9-in-chroot-su-centos-54/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 11:14:25 +0000</pubDate>
		<dc:creator>daniele</dc:creator>
				<category><![CDATA[Experience]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Medium]]></category>
		<category><![CDATA[Bind9]]></category>
		<category><![CDATA[CentOs]]></category>
		<category><![CDATA[chroot]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Sicurezza]]></category>

		<guid isPermaLink="false">http://syscallme.2bopen.org/?p=58</guid>
		<description><![CDATA[Sono in serie positiva, altro giro altra corsa, altro post altro how-to. In queste (poche) righe che seguono, vedremo come installare e configurare un dominio sul popolare DNS Server Bind9 ospitato su una Centos 5.4 (latest release ad oggi) in chroot mode. L&#8217;environment scelto, come detto, è una Centos, ma (a parte i posizionamenti dei [...]]]></description>
			<content:encoded><![CDATA[<p>Sono in serie positiva, altro giro altra corsa, altro post altro how-to. In queste (poche) righe che seguono, vedremo come installare e configurare un dominio sul popolare DNS Server <a href="http://www.bind9.net/" target="_blank">Bind9</a> ospitato su una Centos 5.4 (latest release ad oggi) in <strong><a href="http://it.wikipedia.org/wiki/Chroot" target="_blank">chroot</a> mode</strong>.</p>
<p>L&#8217;environment scelto, come detto, è una Centos, ma (a parte i posizionamenti dei files e delle directory che può cambiare, la configurazione di Bind9 è piuttosto generica e quindi, la guida, può essere &#8220;traslata&#8221; facilmente anche su sistemi &#8220;debian-based&#8221;.</p>
<p><span id="more-58"></span><br />
Non è questo il luogo dove illustreremo le peculiarità e i vantaggi in termini di sicurezza che stanno dietro alla scelta di installare e configurare in modo che sia startato dal sistema in chroot. Googlando un po&#8217; troverete molte guide e manuali che vi possono spiegare tutto ciò.</p>
<p>Come primo passo installeremo i pacchetti necessari utilizzando yum</p>
<div class="codecolorer-container bash blackboard" style="border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">yum <span style="color: #c20cb9; font-weight: bold;">install</span> <span style="color: #7a0874; font-weight: bold;">bind</span> bind-chroot bind-libs bind-utils caching-nameserver</div></div>
<p>Ad installazione conclusa spostiamoci nella directory /var/named/chroot/etc e cominciamo le configurazioni</p>
<div class="codecolorer-container bash blackboard" style="border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>named<span style="color: #000000; font-weight: bold;">/</span>chroot<span style="color: #000000; font-weight: bold;">/</span>etc<br />
rndc-confgen <span style="color: #000000; font-weight: bold;">&gt;</span> rndc.key<br />
<span style="color: #c20cb9; font-weight: bold;">chown</span> root:named rndc.key</div></div>
<p>Controllate che il file <strong>rndc.key</strong> appaia così:</p>
<div class="codecolorer-container bash blackboard" style="border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;"># Start of rndc.conf</span><br />
key <span style="color: #ff0000;">&quot;rndckey&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
algorithm hmac-md5;<br />
secret <span style="color: #ff0000;">&quot;n0nV8Jd1nbAby8m3yJMmUw==&quot;</span>;<br />
<span style="color: #7a0874; font-weight: bold;">&#125;</span>;</div></div>
<p>Non vi occorre nient&#8217;altro, quindi potete anche rimuovere le altre righe che troverete nel file.<br />
Date un&#8217;occhiata all&#8217;interno di /etc: dovreste avere un symlink all&#8217;rndc.key. E&#8217; importante che questo symlink esista e dovrebbe essere correttamente creato da yum durante la fase di spacchettamento dell&#8217;rpm. Se, tuttavia, così non fosse preoccupatevi di crearlo, perchè poi il demone <strong>named</strong> si aspetta di trovarlo lì&#8230;è bene che non lo deludiate.</p>
<p>Ora configuriamo il file named.conf</p>
<div class="codecolorer-container php blackboard" style="border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">// qui includiamo l'rndc.key con un bel copia-incolla</span><br />
<a href="http://www.php.net/key"><span style="color: #990000;">key</span></a> <span style="color: #0000ff;">&quot;rndckey&quot;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; algorithm hmac<span style="color: #339933;">-</span><a href="http://www.php.net/md5"><span style="color: #990000;">md5</span></a><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; secret <span style="color: #0000ff;">&quot;n0nV8Jd1nbAby8m3yJMmUw==&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// assumiamo che il nostro dns server abbia l'ip 192.168.13.75 </span><br />
<span style="color: #666666; font-style: italic;">// e serva la subnet 192.168.13.0/24. Ovviamente customizzate in </span><br />
<span style="color: #666666; font-style: italic;">// base alle vostre esigenze</span><br />
controls <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; inet 127<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>1 allow <span style="color: #009900;">&#123;</span> 127<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>1<span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span> keys <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;rndckey&quot;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; inet 192<span style="color: #339933;">.</span>168<span style="color: #339933;">.</span>13<span style="color: #339933;">.</span>75 allow <span style="color: #009900;">&#123;</span> 192<span style="color: #339933;">.</span>168<span style="color: #339933;">.</span>13<span style="color: #339933;">.</span>0<span style="color: #339933;">/</span><span style="color: #cc66cc;">24</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span> keys <span style="color: #009900;">&#123;</span> <span style="color: #0000ff;">&quot;rndckey&quot;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
<br />
options <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; directory <span style="color: #0000ff;">&quot;/var/named&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; pid<span style="color: #339933;">-</span><a href="http://www.php.net/file"><span style="color: #990000;">file</span></a> <span style="color: #0000ff;">&quot;/var/run/named/named.pid&quot;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; recursion yes<span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; allow<span style="color: #339933;">-</span>recursion <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; 127<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>1<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; 192<span style="color: #339933;">.</span>168<span style="color: #339933;">.</span>13<span style="color: #339933;">.</span>0<span style="color: #339933;">/</span><span style="color: #cc66cc;">24</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// inserite i vostri dns server. </span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Io ho messo quelli di OpenDns</span><br />
&nbsp; &nbsp; forwarders <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; 208<span style="color: #339933;">.</span>67<span style="color: #339933;">.</span>222<span style="color: #339933;">.</span>222<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; 208<span style="color: #339933;">.</span>67<span style="color: #339933;">.</span>220<span style="color: #339933;">.</span>220<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; listen<span style="color: #339933;">-</span>on <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; 127<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>1<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; 192<span style="color: #339933;">.</span>168<span style="color: #339933;">.</span>13<span style="color: #339933;">.</span>75<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">/*<br />
&nbsp; &nbsp; &nbsp;* Se avete un firewall fra voi e i nameservers &nbsp;<br />
&nbsp; &nbsp; &nbsp;* che dovete contattare potreste aver bisogno <br />
&nbsp; &nbsp; &nbsp;* di scommentare la direttiva query-source che <br />
&nbsp; &nbsp; &nbsp;* trovate qui sotto. &nbsp;Versioni precedenti di Bind <br />
&nbsp; &nbsp; &nbsp;* facevano sempre query attraverso la porta 53, <br />
&nbsp; &nbsp; &nbsp;* ma da BIND 8.1 viene utilizzata una porta<br />
&nbsp; &nbsp; &nbsp;* non privilegiata (sopra la 1024) di default.<br />
&nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; &nbsp;query<span style="color: #339933;">-</span>source address <span style="color: #339933;">*</span> port <span style="color: #cc66cc;">53</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// questa istruzione è per non rendere pubblica </span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// la versione di bind utilizzata</span><br />
&nbsp; &nbsp; version <span style="color: #0000ff;">&quot;REFUSED&quot;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; allow<span style="color: #339933;">-</span>query <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; 127<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>1<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; 192<span style="color: #339933;">.</span>168<span style="color: #339933;">.</span>13<span style="color: #339933;">.</span>0<span style="color: #339933;">/</span><span style="color: #cc66cc;">24</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
<br />
server 192<span style="color: #339933;">.</span>168<span style="color: #339933;">.</span>13<span style="color: #339933;">.</span>75 <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; keys <span style="color: #009900;">&#123;</span> rndckey<span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
<br />
zone <span style="color: #0000ff;">&quot;.&quot;</span> IN <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; type hint<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/file"><span style="color: #990000;">file</span></a> <span style="color: #0000ff;">&quot;named.ca&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Questa è la zona del nostro dominio</span><br />
zone <span style="color: #0000ff;">&quot;example.com&quot;</span> IN <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; type master<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/file"><span style="color: #990000;">file</span></a> <span style="color: #0000ff;">&quot;data/example.com.zone&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; allow<span style="color: #339933;">-</span>update <span style="color: #009900;">&#123;</span> none<span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// per abilitare il master/slave scommenta sotto</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// allow-transfer { 192.168.13.76; };</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></div></div>
<p>Ok: ora configuriamo la nostra zona. Per farlo creiamo il file /var/named/chroot/var/named/data/example.com.zone. Sarà qualcosa che appare più o meno così:</p>
<div class="codecolorer-container bash blackboard" style="border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #007800;">$ttl</span> <span style="color: #000000;">38400</span><br />
example.com. &nbsp; &nbsp;IN &nbsp; &nbsp;SOA &nbsp; &nbsp; ns.example.com. admin.example.com. <span style="color: #7a0874; font-weight: bold;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000;">2009102402</span> &nbsp; &nbsp;; Serial<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000;">10800</span> &nbsp; &nbsp; &nbsp; &nbsp; ; Refresh after <span style="color: #000000;">3</span> hours<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000;">3600</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;; Retry after <span style="color: #000000;">1</span> hour<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000;">604800</span> &nbsp; &nbsp; &nbsp; &nbsp;; Expire after <span style="color: #000000;">1</span> week<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000;">86400</span> <span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp; &nbsp; ; Minimum TTL of <span style="color: #000000;">1</span> day<br />
<br />
example.com. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IN &nbsp; &nbsp; &nbsp;NS &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ns.example.com.<br />
ns.example.com. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IN &nbsp; &nbsp; &nbsp;A &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 192.168.13.75<br />
dns.example.com. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IN &nbsp; &nbsp; &nbsp;A &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 192.168.13.75<br />
server1.example.com. &nbsp; &nbsp; &nbsp;IN &nbsp; &nbsp; &nbsp;A &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 192.168.13.31<br />
server2.example.com. &nbsp; &nbsp; &nbsp;IN &nbsp; &nbsp; &nbsp;A &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 192.168.13.38<br />
www.example.com. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IN &nbsp; &nbsp; &nbsp;CNAME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;example.com.</div></div>
<p>Ovviamente la parte in fondo customizzatela a secondo dei record che volete propagare.<br />
Ok abbiamo finito. Come avete visto è veramente semplice. Ora startiamo named e assicuriamoci che parta al boot</p>
<div class="codecolorer-container bash blackboard" style="border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">service named start<br />
chkconfig named on</div></div>
<p>E ora controlliamo che tutto sia startato correttamente dando un colpetto di &#8220;rndc status&#8221;</p>
<div class="codecolorer-container bash blackboard" style="border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;"># rndc status</span><br />
number of zones: <span style="color: #000000;">1</span><br />
debug level: <span style="color: #000000;">0</span><br />
xfers running: <span style="color: #000000;">0</span><br />
xfers deferred: <span style="color: #000000;">0</span><br />
soa queries <span style="color: #000000; font-weight: bold;">in</span> progress: <span style="color: #000000;">0</span><br />
query logging is OFF<br />
recursive clients: <span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">1000</span><br />
tcp clients: <span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">100</span><br />
server is up and running</div></div>
<p>Ok è tutto &#8220;folks!&#8221;. Per essere sicuri che tutto funziona fate qualche query con nslookup o con dig, sia dal server dns che dagli altri server.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fsyscallme.2bopen.org%2F2009%2F10%2F25%2Fbind9-in-chroot-su-centos-54%2F&amp;title=Bind9+in+chroot+su+Centos+5.4" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fsyscallme.2bopen.org%2F2009%2F10%2F25%2Fbind9-in-chroot-su-centos-54%2F&amp;title=Bind9+in+chroot+su+Centos+5.4" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fsyscallme.2bopen.org%2F2009%2F10%2F25%2Fbind9-in-chroot-su-centos-54%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fsyscallme.2bopen.org%2F2009%2F10%2F25%2Fbind9-in-chroot-su-centos-54%2F&amp;title=Bind9+in+chroot+su+Centos+5.4" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fsyscallme.2bopen.org%2F2009%2F10%2F25%2Fbind9-in-chroot-su-centos-54%2F&amp;T=Bind9+in+chroot+su+Centos+5.4" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fsyscallme.2bopen.org%2F2009%2F10%2F25%2Fbind9-in-chroot-su-centos-54%2F&amp;title=Bind9+in+chroot+su+Centos+5.4" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fsyscallme.2bopen.org%2F2009%2F10%2F25%2Fbind9-in-chroot-su-centos-54%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Bind9+in+chroot+su+Centos+5.4+@+http%3A%2F%2Fsyscallme.2bopen.org%2F2009%2F10%2F25%2Fbind9-in-chroot-su-centos-54%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fsyscallme.2bopen.org%2F2009%2F10%2F25%2Fbind9-in-chroot-su-centos-54%2F&amp;t=Bind9+in+chroot+su+Centos+5.4" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://syscallme.2bopen.org/2009/10/25/bind9-in-chroot-su-centos-54/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Load Balancing Tomcat con Apache 2.2</title>
		<link>http://syscallme.2bopen.org/2008/04/17/load-balancing-tomcat-apache/</link>
		<comments>http://syscallme.2bopen.org/2008/04/17/load-balancing-tomcat-apache/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 09:54:05 +0000</pubDate>
		<dc:creator>daniele</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Medium]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Clustering]]></category>
		<category><![CDATA[Load Balancing]]></category>
		<category><![CDATA[mod_proxy]]></category>
		<category><![CDATA[Tomcat]]></category>

		<guid isPermaLink="false">http://syscallme.2bopen.org/2008/04/17/load-balancing-tomcat-apache/</guid>
		<description><![CDATA[In questo documento vedremo come effettuare load balancing su tomcat utilizzando il nuovo mod_proxy_balancer di Apache HTTPD 2.2. Si da per scontato che il lettore abbia un minimo di familiarità con i prodotti Apache Httpd e Apache Tomcat, e con il concetto di clustering e, di conseguenza, di bilanciamento di carico. In ogni modo definiamo [...]]]></description>
			<content:encoded><![CDATA[<p>In questo documento vedremo come effettuare load balancing su tomcat utilizzando il nuovo mod_proxy_balancer di Apache HTTPD 2.2. Si da per scontato che il lettore abbia un minimo di familiarità con i prodotti Apache Httpd e Apache Tomcat, e con il concetto di <a class="urlextern" title="http://it.wikipedia.org/wiki/Computer_cluster" rel="nofollow" href="http://it.wikipedia.org/wiki/Computer_cluster">clustering</a> e, di conseguenza, di bilanciamento di carico. <span id="more-28"></span>In ogni modo definiamo comunque dei termini che ci torneranno utili nella discussione seguente:</p>
<ul>
<li> <strong>Load balancing</strong>: le richieste degli utenti vengono processate da più server che si dividono il carico equamente.</li>
<li> <strong>Server affinity (sticky session)</strong>: Attraverso il sistema di “server affinity” le richieste di uno stesso utente vengono processate dallo stesso server.</li>
<li> <strong>jsessionid</strong>: E&#8217; un codice univoco che viene rilasciato dal Tomcat al browser dell&#8217;utente finale e che identifica univocamente la sessione dell&#8217;utente sull&#8217;applicazione deployata dal Tomcat.</li>
<li> <strong>Worker name</strong>: E&#8217; il nome che viene assegnato univocamente al Tomcat. Ogni Tomcat che compone il cluster ha un worker name differente.</li>
</ul>
<h4><a id="load_balancing_con_server_affinity" name="load_balancing_con_server_affinity">Load Balancing con server affinity</a></h4>
<p>Come detto Apache implementa server affinity attraverso la riscrittura del <strong>jsessionid</strong> inviato dal Tomcat al browser. Il Tomcat <strong>worker name</strong> viene aggiunto alla fine del jsessionid, prima che tale id venga inviato dal Tomcat al browser. Alla prossima richiesta che l&#8217;utente effettua con un determinato jsessionid, il Tomcat che la riceve legge il worker name e la richiesta viene delegata al Tomcat “proprietario” del worker name.</p>
<p>Ora andiamo alla configurazione. Ipotizziamo di avere una struttura simile a quella della figura qui sotto</p>
<div id="attachment_123" class="wp-caption aligncenter" style="width: 310px"><a href="http://syscallme.bonsaimeme.net/wp-content/uploads/2008/04/clip_image002.gif" rel="lightbox"><img class="size-medium wp-image-123" title="Schema Load-Balancing" src="http://syscallme.bonsaimeme.net/wp-content/uploads/2008/04/clip_image002-300x175.gif" alt="Schema Load-Balancing" width="300" height="175" /></a><p class="wp-caption-text">Schema Load-Balancing</p></div>
<p>nella quale un Apache accetta le richieste destinate ad una webapp in cluster all&#8217;interno di due istanze di Tomcat.</p>
<p>Il primo step è controllare di aver abilitato i seguenti moduli Apache:</p>
<ul>
<li> mod_proxy</li>
<li> mod_proxy_balancer</li>
<li> mod_proxy_ajp</li>
<li> mod_proxy_connect</li>
<li> mod_proxy_ftp</li>
<li> mod_proxy_http</li>
</ul>
<p>Quindi apriamo il file di configurazione httpd.conf e inseriamo questa parte di codice</p>
<div class="codecolorer-container bash blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">ProxyPass <span style="color: #000000; font-weight: bold;">/</span>balancer-manager <span style="color: #000000; font-weight: bold;">!</span><br />
ProxyPass <span style="color: #000000; font-weight: bold;">/</span>apache-balancing balancer:<span style="color: #000000; font-weight: bold;">//</span>mycluster<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #007800;">stickysession</span>=JSESSIONID<br />
<br />
BalancerMember ajp:<span style="color: #000000; font-weight: bold;">//</span>tomcat1_server:tomcat1_ajp_port<span style="color: #000000; font-weight: bold;">/</span>apache-balancing &nbsp;<span style="color: #007800;">route</span>=worker_name1 <span style="color: #007800;">loadfactor</span>=<span style="color: #000000;">50</span><br />
BalancerMember ajp:<span style="color: #000000; font-weight: bold;">//</span>tomcat2_server:tomcat2_ajp_port<span style="color: #000000; font-weight: bold;">/</span>apache-balancing &nbsp;<span style="color: #007800;">route</span>=worker_name2 <span style="color: #007800;">loadfactor</span>=<span style="color: #000000;">50</span></div></div>
<p>Abbiamo deciso di far dialogare Apache e Tomcat attraverso ajp, ma è possibile effettuare la medesima configurazione anche contattando tomcat via http. Ovviamente è necessario customizzare alcune parti:</p>
<ul>
<li> al posto di ”/apache-balancing” inserite il vostro context (che deve essere uguale a quello di Tomcat). Ovviamente può anche essere /.</li>
<li> al posto di tomcat1_server e tomcat1_ajp_port inserite l&#8217;ip o il FQDN del server 1 e la porta AJP. Stessa cosa con tutti gli altri nodi (BalancerMember) che definite.</li>
<li> al posto di worker_name1 inserite il worker name che volete identifichi univocamente il tomcat. Stessa cosa con tutti gli altri nodi che definite.</li>
<li> il _loadfactor_ può essere un numero compreso fra 1 e 100.</li>
</ul>
<p>Ora continuiamo la configurazione che interessa il file di configurazione dei Tomcat, server.xml aggiungendo il worker name, in questa maniera.</p>
<div class="codecolorer-container xml blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">...<br />
<br />
...</div></div>
<p>Stessa cosa facciamo col file server.xml del tomcat che corrisponde al worker_name2. Quindi abilitiamo sempre su ogni server.xml (se non fosse già abilitato) il Connector Ajp, decommentando queste righe</p>
<div class="codecolorer-container xml blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;</div></div>
<p>Dovrebbe bastare. Restartiamo i due Tomcat e l&#8217;Apache di frontend e proviamo a puntare l&#8217;indirizzo mod_proxato sull&#8217;Apache: dovremmo riuscire a navigare l&#8217;applicazione tranquillamente. Possiamo controllare la jsessionid attraverso Firefox o utilizzando l&#8217;add-on Firebug sempre per Firefox.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fsyscallme.2bopen.org%2F2008%2F04%2F17%2Fload-balancing-tomcat-apache%2F&amp;title=Load+Balancing+Tomcat+con+Apache+2.2" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fsyscallme.2bopen.org%2F2008%2F04%2F17%2Fload-balancing-tomcat-apache%2F&amp;title=Load+Balancing+Tomcat+con+Apache+2.2" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fsyscallme.2bopen.org%2F2008%2F04%2F17%2Fload-balancing-tomcat-apache%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fsyscallme.2bopen.org%2F2008%2F04%2F17%2Fload-balancing-tomcat-apache%2F&amp;title=Load+Balancing+Tomcat+con+Apache+2.2" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fsyscallme.2bopen.org%2F2008%2F04%2F17%2Fload-balancing-tomcat-apache%2F&amp;T=Load+Balancing+Tomcat+con+Apache+2.2" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fsyscallme.2bopen.org%2F2008%2F04%2F17%2Fload-balancing-tomcat-apache%2F&amp;title=Load+Balancing+Tomcat+con+Apache+2.2" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fsyscallme.2bopen.org%2F2008%2F04%2F17%2Fload-balancing-tomcat-apache%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Load+Balancing+Tomcat+con+Apache+2.2+@+http%3A%2F%2Fsyscallme.2bopen.org%2F2008%2F04%2F17%2Fload-balancing-tomcat-apache%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fsyscallme.2bopen.org%2F2008%2F04%2F17%2Fload-balancing-tomcat-apache%2F&amp;t=Load+Balancing+Tomcat+con+Apache+2.2" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://syscallme.2bopen.org/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://syscallme.2bopen.org/2008/04/17/load-balancing-tomcat-apache/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
