<?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>Semilla de Software Libre (S.L.) &#187; Administración de sistemas</title>
	<atom:link href="http://www.semillasl.com/category/cosas-sobre-administracion-de-sistemas/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.semillasl.com</link>
	<description>Otra empresa de software libre</description>
	<lastBuildDate>Mon, 20 Jul 2009 09:04:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Buscando en un cachito de internet con mnogosearch</title>
		<link>http://www.semillasl.com/2009/07/buscando-en-un-cachito-de-internet-con-mnogosearch/</link>
		<comments>http://www.semillasl.com/2009/07/buscando-en-un-cachito-de-internet-con-mnogosearch/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 16:03:32 +0000</pubDate>
		<dc:creator>javier</dc:creator>
				<category><![CDATA[Administración de sistemas]]></category>
		<category><![CDATA[Consultoría]]></category>
		<category><![CDATA[buscador]]></category>
		<category><![CDATA[indexador]]></category>
		<category><![CDATA[mnogosearch]]></category>

		<guid isPermaLink="false">http://www.semillasl.com/?p=27</guid>
		<description><![CDATA[
Todo era tan bonito, que resultó ser mentira
Motivación
Hemos estado usando la api soap de google para hacer las búsquedas dentro de gloobal.net, pero Google ha decidido dejar de dar soporte a esto desde Agosto de 2009, así que hemos tenido que buscarnos para seguir dando el servicio de otra forma. Como después de la experiencia [...]]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 		H1 { margin-bottom: 0.21cm } 		H1.western { font-family: "Nimbus Sans L", sans-serif; font-size: 16pt } 		H1.cjk { font-family: "DejaVu Sans"; font-size: 16pt } 		H1.ctl { font-family: "DejaVu Sans"; font-size: 16pt } 		H2 { margin-bottom: 0.21cm } 		H2.western { font-family: "Nimbus Sans L", sans-serif; font-size: 14pt; font-style: italic } 		H2.cjk { font-size: 14pt; font-style: italic } 		H2.ctl { font-size: 14pt; font-style: italic } 		PRE.western { font-size: 8pt } --></p>
<blockquote><p>Todo era tan bonito, que resultó ser mentira</p></blockquote>
<h1>Motivación</h1>
<p>Hemos estado usando la <a href="http://code.google.com/intl/es-ES/apis/soapsearch/">api soap de google</a> para hacer las búsquedas dentro de <a href="http://www.gloobal.net/">gloobal.net</a>, pero Google ha decidido dejar de dar soporte a esto desde Agosto de 2009, así que hemos tenido que buscarnos para seguir dando el servicio de otra forma. Como después de la experiencia nos hemos dejado de fiar de google un poco, por lo que hemos decidido usar <a href="http://www.mnogosearch.org/">mnogosearch</a> para hacer esto, por aquello de apropiarnos de la tecnología.</p>
<p><span id="more-27"></span></p>
<h1>Instalación</h1>
<p style="margin-bottom: 0cm;">Partimos de una Debian Etch limpia recien sacada de la caja.</p>
<p style="margin-bottom: 0cm;">La versión de mnogosearch que viene con debian (etch) está obsoleta, por lo que se ha tenido que instalar desde los fuentes.</p>
<h2>Compilando mnogosearch</h2>
<p style="margin-bottom: 0cm;">Son unos pasos bastante sencillos los que hay que seguir,</p>
<pre>ssh root@buscador
root@buscador's password:
buscador:~# # de aqui en adelante quitaré esto para que sea más fácil copiar y pegar <img src='http://www.semillasl.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />
apt-get update
apt-get upgrade
apt-get install make gcc less vim mysql-server libmysql++-dev
cd /usr/src/
wget http://www.mnogosearch.org/Download/mnogosearch-3.3.8.tar.gz # pudes buscar algo más moderno
tar xzvf mnogosearch-3.3.8.tar.gz
cd mnogosearch-3.3.8
perl install.pl # a las preguntas, todas por defecto menos Build shared libraries? (yes/no) [no]: yes
make
make install</pre>
<p style="margin-bottom: 0cm;">Aqui ya estaría instalado el mnogosearch.</p>
<p style="margin-bottom: 0cm;">
<h2>Compilando el módulo PHP en debian</h2>
<p style="margin-bottom: 0cm;">Es importante hacer este paso después de haber instalado mnogosearch desde los fuentes.</p>
<pre>cd /usr/src
apt-get install libapache2-mod-php5
apt-get build-dep php5
apt-get source php5
cd php5-5.2.6.dfsg.1/ # puede cambiar dependiendo de la versión de php
./debian/rules patch
cp  -a ../mnogosearch-3.3.8/php ext/mnogosearc
vim debian/rules # busca donde estan todos los --with y en medio pon --with-mnogosearch=shared,/usr/local/mnogosearch \
echo mnogosearch mnoGoSearch &gt;&gt; debian/modulelist
mkdir -p debian/php5-mnogosearch/usr/share/doc/php5-mnogosearch
./debian/rules binary #espera sentao
cp apache2-build/modules/mnogosearch.so /usr/lib/php5/20060613/
echo extension=mnogosearch.so &gt; /etc/php5/conf.d/mnogosearch.ini
/etc/init.d/apache2 restart</pre>
<p style="margin-bottom: 0cm;">Con esto ya está instalado todo el software necesario, ahora hay que configurarlo y echarlo a rodar.</p>
<p style="margin-bottom: 0cm;">
<h1>Configuración</h1>
<h2>indexer.conf</h2>
<p style="margin-bottom: 0cm;">La idea es ver la documentación sobre el fichero para saber lo que se está haciendo, pero aqui va lo más importante (cambiado) ojo este fichero no sería funcional:</p>
<pre>DBAddr mysql://buscador:buscando@localhost/buscador/?dbmode=blob&amp;Deflate=yes&amp;zint4=yes
LocalCharset ISO-8859-1
StopwordFile stopwords/es.sl
HTTPHeader "User-Agent: Gloobal Crawler 0.3"
Disallow *html=1
Disallow *printview*
DefaultLang es
DetectClones yes
Server skip http://miweb/zonaoscura
Period 7d
Server http://miweb/
Period 1y
Server http://miweb/que_no_seactualiza/
Period 1h
Server HrefOnly http://miweb/novedades</pre>
<h2>La base de datos</h2>
<p style="margin-bottom: 0cm;">Espero que hayas puesto contraseña a la base de datos en la instalación <img src='http://www.semillasl.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<pre>mysql -u root -p
create database buscador DEFAULT CHARACTER SET latin1 COLLATE latin1_spanish_ci;
grant all privileges on buscador.* to "buscador"@"localhost" IDENTIFIED by "buscando";
\q
/usr/local/mnogosearch/sbin/indexer -Ecreate</pre>
<p>Con esto la base de datos está creada y compuesta, solo le falta ser rellenada.</p>
<h2>El sistema</h2>
<p style="margin-bottom: 0cm;">Para que la base de datos se rellene hay que correr períodicamente el indexer, en nuestro caso hemos estado haciendo pruebas para ver la frecuencia con la que cambia la información de nuestras páginas y hemos determinado que cada media hora hay cambios suficientes como para que venga bien buscar enlaces nuevos, por lo que cada 30 minutos lanzamos el indexador con 1 hilo para que recoja 1000 páginas. Cada día a las 21h lanzamos dos hilos para que indexen todo lo viejo que esté caducado o nuevo que no esté indexado.</p>
<p style="margin-bottom: 0cm;">Cada dos horas lanzamos el proceso para convertir a blob la base de datos. Esto es necesario y bastante largo, afinarlo y tened en cuenta que las páginas indexadas no empiezan a aparecer hasta que esto no se ha lanzado.</p>
<p style="margin-bottom: 0cm;">Simplemente añadimos al /etc/crontab lo siguiente:</p>
<pre>30 * * * * root /usr/local/mnogosearch/sbin/indexer -N 1 -n 1000 &gt; /dev/null 2&gt;/dev/null
00 21 * * * root /usr/local/mnogosearch/sbin/indexer -N 2  &gt; /dev/null 2&gt;/dev/null
20 */2 * * * root (/usr/local/mnogosearch/sbin/indexer -Eblob ; /bin/rm -f /usr/local/mnoGoSearch/var/cache/*) &gt; /dev/null 2&gt;/dev/null</pre>
<p style="margin-bottom: 0cm;">y casi siempre hay que cambiar esto en el /etc/php5/apache2/php.ini</p>
<pre>register_globals = On</pre>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">Con esto ya tendríamos el indexador recogiendo información, Nos falta hacer algo en php con lo que hacer las búsquedas&#8230; En el próximo número.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.semillasl.com/2009/07/buscando-en-un-cachito-de-internet-con-mnogosearch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transmisión de eventos a través de internet con software (y formatos) libres</title>
		<link>http://www.semillasl.com/2009/03/transmision-de-eventos-a-traves-de-internet-con-software-y-formatos-libres/</link>
		<comments>http://www.semillasl.com/2009/03/transmision-de-eventos-a-traves-de-internet-con-software-y-formatos-libres/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 11:12:41 +0000</pubDate>
		<dc:creator>javier</dc:creator>
				<category><![CDATA[Administración de sistemas]]></category>
		<category><![CDATA[eventos]]></category>
		<category><![CDATA[icecast2]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[streaming]]></category>
		<category><![CDATA[vlc]]></category>

		<guid isPermaLink="false">http://www.semillasl.com/?p=24</guid>
		<description><![CDATA[Como hacer una retransmisión de un evento usando software libre y formatos libres.]]></description>
			<content:encoded><![CDATA[<blockquote><p>Es tarde y todo se ha hecho en un par de días, las primeras gotas de rocio aparecen sobre la ventana y mis ojos enrojecidos se abren lentamente ante la aparición ¡Theodora!</p></blockquote>
<p>Hemos preparado la retransmisión en vivo y en directo del Seminario internacional <a href="http://www.justiciaporcolombia.org/?q=node/31">Colombia: Conflicto y derecho internacional humanitario</a>, lo hemos montado en muy poco tiempo pero el resultado es bastante funcional.</p>
<p>La petición era transmitir por internet las jornadas ya que en el primer día se habían agotado las plazas. Mucha gente se había quedado sin poder asistir, además por la temática era interesante que mucha gente de otros lugares del mundo pudieran asistir virtualmente.</p>
<p>Antes de empezar hay que tener claros varios conceptos y los voy a explicar tal cual los he entendido (o me los he inventado).</p>
<p><strong>Fuente</strong>: es lo que da el video y el audio al servidor de streaming.</p>
<p><strong>Servidor de streaming</strong>: Es lo que recoge como entrada lo que da la fuente y se lo da a los clientes que se quieran enganchar.</p>
<p><strong>Clientes</strong>: Son los que ven y escuchan lo que la fuente quiere transmitir.</p>
<p>Ningún concepto raro, ¿no? a mi me costó pillarlos, pero una vez claros continuamos, empezamos por el medio.<span id="more-24"></span></p>
<p>El servidor de streaming que hemos usado es icecast2, por qué icecast2 y no otro:</p>
<ul>
<li>Ya había usado icecast hace años para radio</li>
<li>Es software libre</li>
<li>apt-get install icecast2 # <img src='http://www.semillasl.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p>La parte del servidor en sí no requiere mucho, simplemente instalarlo, y cambiar las contraseñas por defecto:</p>
<p>apt-get install icecast2</p>
<p>vim /etc/icecast2/icecast.xml</p>
<p>Unas tareas sencillas:</p>
<ul>
<li>Buscar hackme y reemplazar por tu contraseña favorita <img src='http://www.semillasl.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Configurar el hostname</li>
<li>Cambiar el bind-address para que te puedas enganchar desde internet.</li>
</ul>
<p>Luego hay que editar el fichero /etc/default/icecas2 y habilitarlo para que funcione&#8230; esto es para que cambiemos las contraseñas, así que no seas gañán o gañana y cambiala antes de hacer este paso.</p>
<p>Si ahora reinicias el icecast2 deberías tener un servidor funcionando <img src='http://www.semillasl.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Icecast tiene un interfaz web de administración y estadísticas bastante sencillote ve a http://tuserver:8000 y entra con admin y su contraseña y verás sus funciones&#8230; esto te dejo que lo averigues tu.</p>
<p>Servidor funcionando&#8230; ahora deberíamos enchufarle algo para transmitir <img src='http://www.semillasl.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Este paso fue un auténtico dolor de cabeza. En el primer momento pensabamos usar vlc para coger la entrada de firewire, convertirlo a ogg y enviarlo al servidor y&#8230; hubo problemas. No conseguí que el vlc cogiera el firewire (no hubo manera), ni que cogiera la entrada estandar para que enchufarsela al servidor ni que la vida sonriera, así que lo que decidí hacer es coger la entrada del firewire, pasarla a mpeg a un fichero local y enchufar el vlc a leer el fichero local y reenviarlo ya en ogg al servidor de streaming.</p>
<p>Todo lo siguiente requiere que tengas cargados los módulos de firewire <img src='http://www.semillasl.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Asi que ejecutaba por un lado la conversión al vuelo de lo que entra por el firewire</p>
<blockquote><p>dvgrab -format dv1 &#8211; | ffmpeg -deinterlace -f dv -i &#8211; -vcodec mpeg1video \</p>
<p>-s 352&#215;288 -qscale 3.5 -acodec mp2 -ab 32k -ar 22050 de_la_camara.mpg</p></blockquote>
<p>y por otro el envío al servidor de lo que se iba guardando (también lo muestra en local):</p>
<blockquote><p>vlc -vv de_la_camara.mpg &#8211;sout\</p>
<p>&#8216;#transcode{vcodec=theo,vb=800,scale=1,acodec=vorb,ab=128,channels=2}\</p>
<p>:duplicate{dst=display,dst=std{access=shout,mux=ogg,\</p>
<p>dst=source:micontraseñafavoritita@miservidorpreferido:8000/mievento.ogg}}&#8217;</p></blockquote>
<p>Puedes hacer prueba de que funciona con el vlc:</p>
<blockquote><p>vlc http://miservidorpreferido:8000/mievento.ogg</p></blockquote>
<p>Esto mete un poco más de retraso pero, si lanzas las dos cosas separadas con un  &amp; sleep 5; no será mucho <img src='http://www.semillasl.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  . De todas formas el streaming ya hace bastante cache lo que hace que se vea con bastante retardo.</p>
<p>Ahora ya estamos emitiendo para toda la galaxia conocida nuestro evento, lo que pasa es que nadie nos conoce, pero seguro que tenemos una web que si conocen, así que vamos a embeber nuestro stream en la web. Para ello vamos a usar un script que hace que la etiqueta video de html5 funcione en navegadores que no lo soportan (o por lo menos lo intenta). Hay que aclarar que esto necesita que el cliente tenga instalado algo que le permita ver video ogg en el equipo y el plugin para el navegador (vlc, mplayer) o firefox 3.1 que ya soporta ogg nativamente <img src='http://www.semillasl.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>la cosa en cuestión es <a href="http://metavid.org/w/index.php/Mv_embed">Mv Embed</a> es bastante sencillo basta bajar el js ponerlo en el servidor y meter el siguiente código html en la web:</p>
<blockquote><p>&lt;script type=&#8221;text/javascript&#8221; src=&#8221;/PATH_AL_mv_embed/mv_embed.js&#8221;&gt;&lt;/script&gt;</p>
<p>&lt;video src=&#8221;http://miservidorpreferido:8000/mievento.ogg&#8221; thumbnail=&#8221;PONTE_UnA_FOTO_CHULA.png&#8221;&gt;&lt;/video&gt;</p></blockquote>
<p>Le puedes pasar opciones interesante como &#8220;autoplay=true&#8221; para que cargue el video automáticamente.</p>
<p>Tachan! ya tienes todo funcionando para restransmitir tu evento <img src='http://www.semillasl.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Muchas gracias a Santiago Ramos de <a href="http://www.grupoikusnet.com/">Ikusnet</a> por la orientación y el apoyo moral</p>
]]></content:encoded>
			<wfw:commentRss>http://www.semillasl.com/2009/03/transmision-de-eventos-a-traves-de-internet-con-software-y-formatos-libres/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Proxy inverso con squid</title>
		<link>http://www.semillasl.com/2008/06/proxy-inverso-con-squid/</link>
		<comments>http://www.semillasl.com/2008/06/proxy-inverso-con-squid/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 14:49:35 +0000</pubDate>
		<dc:creator>javier</dc:creator>
				<category><![CDATA[Administración de sistemas]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[optimización]]></category>
		<category><![CDATA[squid]]></category>

		<guid isPermaLink="false">http://www.semillasl.com/?p=3</guid>
		<description><![CDATA[Cómo configurar squid para hacer de proxy inverso.]]></description>
			<content:encoded><![CDATA[<p>Hemos estado haciendo pruebas sobre como afectaría al rendimiento de nuestros servidores el web el poner delante de ellos una serie de cachés inversos de forma que e tráfico vaya contra estos cachés, vean si esa petición es una petición dinámica, si lo es remitirla a los servidores web y si no es que lo resuelva el sólo.</p>
<p>Hemos quedado gratamente satisfechos con las pruebas y muy posiblemente lo empecemos a implantar en algunos servicios que empiezan a tener mucho tráfico. Esto es más o menos lo que hemos hecho.</p>
<p><span id="more-3"></span></p>
<p>Nuestro esquema actual sería algo parecido a esto:</p>
<p><a href="http://www.semillasl.com/wp-content/uploads/2008/06/netcache.jpg"><img class="aligncenter size-full wp-image-4" title="netcache" src="http://www.semillasl.com/wp-content/uploads/2008/06/netcache.jpg" alt="Esquema del servicio, nos riáis ya tendréis crios..." width="420" height="300" /></a></p>
<p>Bueno vamos al lío de cómo se haría esto, lo primero sería saber que servicios vamos a tener que tocar para poner esto en marcha, en nuestro caso serían:</p>
<ul>
<li>Apache, no mucho para decirle que ahora también escuche por real.example.com</li>
<li>Bind9, para decirle que www.example.com es la máquina de cache</li>
<li>Squid, el que va a hacer el trabajo sucio</li>
</ul>
<p>En nuestro esquema cada servicio corre en una máquina distinta, así que empezaremos por apache y bind, que es donde menos hay que tocar&#8230;</p>
<p>En apache simplemente añadimos esta línea por cada dominio que queramos que sea resuelto por el cache:</p>
<blockquote><p>/etc/apache/sites-enabled/example.com</p>
<p>[...]</p>
<p>ServerAlias real.example.com</p>
<p>[..]</p></blockquote>
<p>Esto únicamente nos sirve para cuando queramos acceder al servidor sin pasar por la cache.</p>
<p>En la parte de bind, también es bastante sencillo, en el archivo de definición de la zona cambiamos la entrada del www</p>
<blockquote><p>/etc/bind/db.example.com</p>
<p>[...]</p>
<p>www  IN  CNAME  cache</p>
<p>[...]</p></blockquote>
<p>Ahora llega la parte importante instalar el squid y modificar la configuración para que haga de cache inverso.</p>
<p>Lo primero sería instalar squid con su orden favorita, apt-get install squid, urpmi squid, &#8220;instalame el squid becario&#8221;. En nuestro caso la configuración está hecha sobre una debian 4.0, pero no debería haber mucha diferencia entre nuestros unixes. Vamos a configurar squid</p>
<blockquote><p>/etc/squid/squid.conf</p>
<p>http_port 80 vhost # Si vamos a escuchar en el puerto 80 haciendo la vhost (proxy inverso, esto sería todo <img src='http://www.semillasl.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>hierarchy_stoplist cgi-bin ?</p>
<p>acl QUERY urlpath_regex cgi-bin \?<br />
cache deny QUERY</p>
<p>cache_mem 600 MB # tenemos 750MB y esta máquina sólo va a hacer esto&#8230;</p>
<p>maximum_object_size 30 MB # nos interesa cachear también archivos mas o menos grandes</p>
<p>maximum_object_size_in_memory 128 KB<br />
access_log /var/log/squid/access.log squid</p>
<p>hosts_file /etc/hosts # esto es importante, por que aqui es donde resolvemos a la máquina que realmente tiene el apache</p>
<p>refresh_pattern .        0    20%    4320</p>
<p>collapsed_forwarding on<br />
acl all src 0.0.0.0/0.0.0.0<br />
acl manager proto cache_object<br />
acl localhost src 127.0.0.1/255.255.255.255<br />
acl to_localhost dst 127.0.0.0/8</p>
<p>acl Safe_ports port 80        # http</p>
<p>acl purge method PURGE<br />
acl CONNECT method CONNECT<br />
http_access allow manager localhost<br />
http_access deny manager<br />
http_access allow purge localhost<br />
http_access deny purge<br />
http_access deny !Safe_ports<br />
http_access deny to_localhost<br />
acl dominios dstdomain &#8220;/etc/squid/dominios&#8221; all # esto es importante en este fichero le decimos a squid los dominios que vamos a cachear<br />
http_access allow dominios<br />
always_direct allow dominios<br />
http_access allow localhost<br />
http_access deny all<br />
http_reply_access allow all</p>
<p>icp_access allow all</p>
<p>cache_effective_group proxy<br />
visible_hostname cache-001.example.com # podemos tener muchos <img src='http://www.semillasl.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>coredump_dir /var/spool/squid</p></blockquote>
<p>Tachan! ya casi lo tenemos, ahora hemos dejado dos ficheros más que debemos tocar</p>
<blockquote><p>/etc/squid/dominios</p>
<p>www.example.com</p>
<p>example.com</p>
<p>coreapp.example.com</p></blockquote>
<blockquote><p>/etc/hosts</p>
<p>[...]</p>
<p>192.168.0.2 www.example.com example.com</p>
<p>192.168.0.3 copreapp.example.com</p>
<p>[...]</p></blockquote>
<p>y ya releemos las configuraciones de todos los servicios y a ver como el dns va llevando poco a poco el tráfico al caché.</p>
<p>Es interesante que se instalen siempre algunas estadísticas&#8230; pero eso ya será otro artículo rápido como este.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.semillasl.com/2008/06/proxy-inverso-con-squid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
