<?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>Rodolfo Pilas</title>
	<atom:link href="http://www.pilas.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pilas.net</link>
	<description>Rio Pilas</description>
	<lastBuildDate>Wed, 15 May 2013 16:45:11 +0000</lastBuildDate>
	<language>es-ES</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>IFTTT vinculando tus aplicaciones en la nube y mas</title>
		<link>http://www.pilas.net/20130515/ifttt-vinculando-tus-aplicaciones-en-la-nube-y-mas/</link>
		<comments>http://www.pilas.net/20130515/ifttt-vinculando-tus-aplicaciones-en-la-nube-y-mas/#comments</comments>
		<pubDate>Wed, 15 May 2013 16:38:46 +0000</pubDate>
		<dc:creator>rodolfo</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[tumblr]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.pilas.net/?p=1432</guid>
		<description><![CDATA[Bastante tiempo atrás, creo que en los inicios del servicio, El General me había hablado de IFTTT y sus posibilidades, pero recuerdo haberlo visto por arriba sin entender mucho cuál era su utilidad, a pesar de que El General me explicó. El otro día, ante una necesidad específica, cree mi cuenta en IFTTT y puse [...]]]></description>
				<content:encoded><![CDATA[<p><a href="https://ifttt.com"><img class="alignleft size-medium wp-image-1434" alt="ifttt-product-thumb" src="http://www.pilas.net/wp-content/uploads/2013/05/ifttt-product-thumb-300x176.png" width="300" height="176" /></a>Bastante tiempo atrás, creo que en los inicios del servicio, <a title="El General" href="https://plus.google.com/u/0/105596900664042506949/posts">El General</a> me había hablado de IFTTT y sus posibilidades, pero recuerdo haberlo visto por arriba sin entender mucho cuál era su utilidad, a pesar de que El General me explicó.</p>
<p>El otro día, ante una necesidad específica, cree mi cuenta en <a title="IFTTT" href="https://ifttt.com">IFTTT</a> y puse a funcionar mi primer receta y también estuve viendo las posibilidades de este servicio que, en conclusión, <strong>es maravilloso</strong> y aquí estoy escribiendo este artículo.</p>
<p>Todos conocemos los sitios que ofrecen compartir en Twitter o Facebook lo que se está leyendo, o de alguna extensión del navegador que permite guardar en Dropbox o Evernote un sitio web, video de Youtube o archivo.  Bueno, IFTTT lleva la vinculación entre distintas aplicaciones o sitios en la nube a donde tu imaginación o necesidades puedan llegar.</p>
<p>La idea que plantea IFTTT es simple: dada una cierta condición en algún servicio (Instagram, Facebook, Twitter, Dropbox, etc.) se produce una acción en otro servicio de la nube (Tumblr, Delicius, WordPress, Last.fm, o cualquiera de los ya nombrados).</p>
<div id="attachment_1435" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.pilas.net/wp-content/uploads/2013/05/IFTTT-800x496.jpg"><img class="size-medium wp-image-1435 " alt="esquema del artículo de JJ Velasco" src="http://www.pilas.net/wp-content/uploads/2013/05/IFTTT-800x496-300x186.jpg" width="300" height="186" /></a><p class="wp-caption-text">esquema del artículo de JJ Velasco</p></div>
<p>Las reglas las hace <strong>cada usuario</strong>, otorgando los accesos correspondientes a IFTTT para que pueda manejar sus cuentas en la nube. De ahí que tus necesidades y tu imaginación sean el límite  (claro que el poder de IFTTT tiene límites, pero&#8230;).</p>
<p>Imaginemos algunos escenarios de recetas de IFTTT:</p>
<p><a href="http://www.pilas.net/wp-content/uploads/2013/05/ifttt-Create-task.png"><img class="size-medium wp-image-1436 alignright" alt="ifttt services" src="http://www.pilas.net/wp-content/uploads/2013/05/ifttt-Create-task-238x300.png" width="238" height="300" /></a></p>
<ul>
<li>Cada vez que en twitter se publica una determinada #etiqueta me envía un correo</li>
<li>Cuando una determinada <em>acción de bolsa</em> (a través de <a title="Yahoo Finance" href="http://finance.yahoo.com">Yahoo Finance</a>) pasa un determinado umbral, publica un twitter</li>
<li>Cuando hay mal tiempo (a trvés de <a title="Yahoo Weather" href="http://weather.yahoo.com">Yahoo Weather</a>)  se activa la corriente eléctrica en un toma de mi casa (a través de de un <a title="Belkin WeMo" href="http://www.belkin.com/us/wemo">Belkin WeMo</a>)</li>
<li>A determinada hora o cuando se publica una foto en Instagram o se envía un determinado SMS,  se encienden las luces de mi casa en determinados colores con un sistema <a title="Philips Hue" href="https://www.meethue.com/en-US">Philips Hue</a>.</li>
<li>Cada vez que se promociona un nuevo par de anteojos en <a title="SVPPLY" href="https://svpply.com">Svppy</a>, envía un mensaje en mi Google Talk.</li>
<li>Cada vez que se publica un video en Youtube en un determinado canal, lo publica en mi blog de Tumblr.</li>
<li>Cuando recibo un determinado correo en GMail, me llama por teléfono.</li>
<li>Cuando el paquete que me han enviado por DHL, Fedex o UPS cambia de estado, prende la luz del <a title="blink" href="http://thingm.com/products/blink-1.html">Blink(1)</a> conectado al USB de mi equipo.</li>
<li>Cada vez que cambio la foto de mi perfil en Facebook, la cambia también en el de Twitter.</li>
</ul>
<p>Los servicios que permite vincular IFTTT son muchos y se van agregando nuevos.</p>
<p>Las recetas se pueden compartir, de hecho ya hay miles recetas compartidas para utilizar y adaptar a nuestras necesidades.</p>
<p>Para mi ha sido todo un descubrimiento, no solo de IFTTT, sino también un montón de servicios y gadgets que están disponibles.</p>
<p>JJ Velasco ha escrito un muy buen artículo en Bitelia con <a title="Recetas IFTT para sacarle partido a Evernote" href="http://bitelia.com/2013/05/recetas-ifttt-para-evernote">Recetas IFTTT para sacarle partido a Evernote</a>, que fue precisamente Evernote el motivo de mi ingreso a IFTTT.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pilas.net/20130515/ifttt-vinculando-tus-aplicaciones-en-la-nube-y-mas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Si eres el aprendiz, nunca cuestiones al maestro</title>
		<link>http://www.pilas.net/20130428/si-eres-el-aprendiz-nunca-cuestiones-al-maestro/</link>
		<comments>http://www.pilas.net/20130428/si-eres-el-aprendiz-nunca-cuestiones-al-maestro/#comments</comments>
		<pubDate>Mon, 29 Apr 2013 00:23:03 +0000</pubDate>
		<dc:creator>rodolfo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[quino]]></category>

		<guid isPermaLink="false">http://www.pilas.net/?p=1426</guid>
		<description><![CDATA[En los tiempos del Génesis: Gracias Quino por mostrarnos el mundo de esta forma&#8230;.]]></description>
				<content:encoded><![CDATA[<p>En los tiempos del Génesis:</p>
<p><a href="http://www.pilas.net/wp-content/uploads/2013/04/DiosAyudante.png"><img src="http://www.pilas.net/wp-content/uploads/2013/04/DiosAyudante-833x1024.png" alt="DiosAyudante" width="833" height="1024" class="aligncenter size-large wp-image-1427" /></a></p>
<p><em>Gracias Quino por mostrarnos el mundo de esta forma&#8230;.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pilas.net/20130428/si-eres-el-aprendiz-nunca-cuestiones-al-maestro/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Raspberry Pi como cliente torrent</title>
		<link>http://www.pilas.net/20130311/raspberry-pi-como-cliente-torrent/</link>
		<comments>http://www.pilas.net/20130311/raspberry-pi-como-cliente-torrent/#comments</comments>
		<pubDate>Mon, 11 Mar 2013 13:54:30 +0000</pubDate>
		<dc:creator>rodolfo</dc:creator>
				<category><![CDATA[Soft. Libre]]></category>
		<category><![CDATA[Utilidades]]></category>

		<guid isPermaLink="false">http://www.pilas.net/?p=1395</guid>
		<description><![CDATA[Hace ya tiempo pre-compré un Raspberry Pi, tuve mi plazo de espera (como de 3 meses) y lo recibí hace casi 6 meses atrás en casa; pero desde aquel momento no me hice un tiempo para atender a este hermoso aparatito. Pero esta semana comencé a armarlo en forma decidida hasta crear un cliente Bittorrent [...]]]></description>
				<content:encoded><![CDATA[<p>Hace ya tiempo pre-compré un <a href="http://es.wikipedia.org/wiki/Raspberry_Pi">Raspberry Pi</a>, tuve mi plazo de espera (como de 3 meses) y lo recibí hace casi 6 meses atrás en casa; pero desde aquel momento no me hice un tiempo para atender a este hermoso aparatito. Pero esta semana comencé a armarlo en forma decidida hasta crear un cliente Bittorrent y podes descargar archivos y compartirlos.</p>
<p>En este artículo describo brevemente cómo lo hice.</p>
<p><a href="http://www.pilas.net/wp-content/uploads/2013/03/2013-03-09-20.40.45.jpg"><img class="aligncenter size-medium wp-image-1396" alt="Raspberry Pi" src="http://www.pilas.net/wp-content/uploads/2013/03/2013-03-09-20.40.45-300x236.jpg" width="300" height="236" /></a></p>
<h2>Instalación</h2>
<p>Luego de tener <a href="http://www.edoyle.net/introduccion-raspberry-pi-e-instalacion-raspbian/">arrancado y configurado en la red el Raspberry Pi</a> con <a href="http://www.raspbian.org/">Raspbian</a> procedí a instalar <a href="http://www.transmissionbt.com/">transmission-daemon</a> que fue lo que encontré más adecuado luego de analizar un poco otras opciones como <a href="http://www.transmissionbt.com/">uTorrent</a></p>
<blockquote><p>apt-get install transmission-daemon</p></blockquote>
<p>Crear los directorios necesarios para transmission-daemon donde <a href="http://www.forat.info/2007/09/07/como-montar-unidades-externas-de-todo-tipo-en-linux/">esté montado el disco externo</a>, en este caso <strong>/data</strong> (que lo coloco en el <em>/etc/fstab</em> para que lo monte siempre):</p>
<blockquote><p>cd /data<br />
mkdir torrent<br />
cd torrent<br />
mkdir info finish temp<br />
chown debian-transmission info finish temp</p></blockquote>
<p>Editar archivo de configuración <strong>/etc/transmission-daemon/settings.json</strong> y cambiar</p>
<blockquote><p>&#8220;download-dir&#8221;: &#8220;/data/torrent/finish&#8221;,</p>
<p>&#8220;incomplete-dir&#8221;: &#8220;/data/torrent/temp&#8221;,<br />
&#8220;incomplete-dir-enabled&#8221;: true,</p></blockquote>
<p>editar archivo de daemon <strong>/etc/default/transmission-daemon</strong> y cambiar</p>
<blockquote><p>CONFIG_DIR=&#8221;/data/torrent/info&#8221;</p></blockquote>
<p>reiniciar transmission para que cree la estructura por defecto en <em>/data/torrent/info</em></p>
<blockquote><p>/etc/init.d/transmission-daemon restart</p></blockquote>
<p>detener transmisión:</p>
<blockquote><p>/etc/init.d/transmission-daemon stop</p></blockquote>
<p>Crear un symlink de la estructura creada al archivo en el <em>/etc/transmission-daemon/</em></p>
<blockquote><p>cd /data/torrent/info<br />
rm settings.json<br />
ln -s /etc/transmission-daemon/settings.json</p></blockquote>
<p>Iniciar transmisión nuevamente</p>
<blockquote><p>/etc/init.d/transmission-daemon start</p></blockquote>
<h2>Conectar la interfaz web (tunel ssh)</h2>
<p>Transmission-daemon quedará esperando conexiones en el puerto definido en <strong>rpc-port</strong> del archivo <em>/etc/transmission-daemon/settings.json</em>, por defecto el <strong>9091</strong>; así que <em>http://IP-RaspberryPi:9091</em> me conectará con <a href="http://ubunturoot.wordpress.com/2008/10/28/controla-transmission-via-web/">la interfaz de administración de transmission</a>.</p>
<p>Conectar desde internet requiere abrir los puertos y redirigirlos a al Raspberry Pi. Se podría hacer con el puerto 9091, pero la seguridad estaría basada en la validación de transmission, así que preferí reenviar el puerto 22 y armar cada vez <a href="http://www.vilecha.com/hellguest/ssh_tuneles.asp">un tunel con el servicio SSH</a>.</p>
<blockquote><p>ssh -p22 -L 9091:localhost:9091 pi@micasa.dyndns.org</p></blockquote>
<p>y conecto con el navegador desde cualquier lugar de internet a <em>http://localhost:9091</em> para acceder a la consola de administración que me pedirá primero usuario/clave de transmission.</p>
<h2>Descargar archivos del disco externo a mi notebook</h2>
<p><a href="http://www.electroensaimada.com/torrent.html">Algunos documentos en la web</a> sugieren utilizar <a href="https://owncloud.org">ownCloud</a> para bajar los archivos desde el Raspberry Pi. Es una solución interesante, pero requiere un servidor web con soporte PHP que van a recargar el Raspberry Pi, y una configuración adicional.</p>
<p>¿Para qué?, si tenemos SSH que es una puerta a la felicidad, entonces con <a href="http://www.pilas.net/20060525/sshfs-la-puerta-de-la-libertad/">SSHFS dejo disponibles los archivos descargados en mi notebook</a> y los puedo abrir y copiar normalmente como cualquier otro archivo; con la ventaja que no es necesario ningún nuevo servicio o configuración.</p>
<p>Este es el comando que utilizo, para montar en una carpeta bajo mi <em>home</em> que he creado con el nombre <em>RaspberryPi</em></p>
<blockquote><p>sshfs -p22 pi@micasa.dyndns.org:/data/torrent/finish RaspberryPi/</p></blockquote>
<h2>Otros documentos en la red</h2>
<p>De gran ayuda fue el artículo de <a href="http://www.electroensaimada.com/torrent.html">Electro titulado &#8220;Cliente Torrent con Raspberry Pi&#8221;</a>, que fue mi guía para toda mi configuración.</p>
<p>También encontré un documento de <a href="http://www.elboby.com/2012/10/raspberry-pi-como-cliente-torrent/">Jose L. Romero titulado &#8220;Raspberry Pi como cliente torrent&#8221;</a>, que me permitió obtener algunos otros tips para mi configuración original.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pilas.net/20130311/raspberry-pi-como-cliente-torrent/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Un nuevo uso de mi blog</title>
		<link>http://www.pilas.net/20130301/un-nuevo-uso-de-mi-blog/</link>
		<comments>http://www.pilas.net/20130301/un-nuevo-uso-de-mi-blog/#comments</comments>
		<pubDate>Fri, 01 Mar 2013 14:02:39 +0000</pubDate>
		<dc:creator>rodolfo</dc:creator>
				<category><![CDATA[Blogs]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.pilas.net/?p=1379</guid>
		<description><![CDATA[Ayer estaba en una computadora que no era la mía, haciendo la investigación en Internet de un determinado tema. Terminé encontrando bastante información de utilidad, pero no tenía como conservarla. Podría haber abierto mi correo electrónico y escribirme un correo (fue mi primera intención), también un documento en GoogleDocs, una nota en Evernote o, lo [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.pilas.net/wp-content/uploads/2013/03/notepad-tricks.jpg"><img src="http://www.pilas.net/wp-content/uploads/2013/03/notepad-tricks-300x263.jpg" alt="notepad-tricks" width="300" height="263" class="alignleft size-medium wp-image-1380" /></a> Ayer estaba en una computadora que no era la mía, haciendo la investigación en Internet de un determinado tema. Terminé encontrando bastante información de utilidad, pero no tenía como conservarla.</p>
<p>Podría haber abierto mi correo electrónico y escribirme un correo (fue mi primera intención), también un documento en <a href="https://docs.google.com">GoogleDocs</a>, una nota en <a href="http://evernote.com/intl/es/">Evernote</a> o, lo que hubiera sido natural, usar mi <a href="http://pi.lastr.us">propio wiki</a>&#8230; pero no recordaba ninguna clave.</p>
<p>Hace ya tiempo que tengo claves únicas para cada sitio y difíciles de recordar, de hecho <em>no las recuerdo</em> y tengo un software de repositorio de claves (nota mental: un día de estos escribir sobre esto) al que no tenía acceso en ese momento.</p>
<p>Así que vine al blog y busqué un artículo más o menos relacionado al tema y escribí un comentario con toda la información que quería recordar. Y ahí quedó la información guardada.</p>
<p>Hace tiempo que este blog se ha vuelto un lugar donde guardo las cosas que deseo recordar y compartir; pero encontré este uso <em>novedoso</em> (al menos para mi) que seguro estaré usufructuando más frecuentemente.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pilas.net/20130301/un-nuevo-uso-de-mi-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu Finder, cómo encontrar la ami que necesitas</title>
		<link>http://www.pilas.net/20130223/ubuntu-finder-como-encontrar-la-ami-que-necesitas/</link>
		<comments>http://www.pilas.net/20130223/ubuntu-finder-como-encontrar-la-ami-que-necesitas/#comments</comments>
		<pubDate>Sat, 23 Feb 2013 21:59:50 +0000</pubDate>
		<dc:creator>rodolfo</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://www.pilas.net/?p=1371</guid>
		<description><![CDATA[UbuntuFinder es una herramienta web creada por Gustavo Niemeyer que permite buscar la ami (Amazon Machine Image) Ubuntu que cumple con los parámetros que deseamos. Así, podemos configurar UbuntuFinder para buscar una máquina de 4 cores con 34G RAM y Ubuntu 12.04 y UbuntuFinder nos va a sugerir la instancia tipo m2.2xlarge con la imagen [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://ubuntufinder.com/" target="_blank">UbuntuFinder</a> es una herramienta web creada por <a href="https://twitter.com/gniemeyer" target="_blank">Gustavo Niemeyer</a> que permite buscar la <a href="https://aws.amazon.com/amis" target="_blank">ami (Amazon Machine Image)</a> Ubuntu que cumple con los parámetros que deseamos.  Así, podemos configurar UbuntuFinder para buscar una máquina de 4 cores con 34G RAM y Ubuntu 12.04 y UbuntuFinder nos va a sugerir la instancia tipo <strong>m2.2xlarge</strong> con la imagen <strong>ami-0cdf4965</strong></p>
<p>Una Amazon Machine Image (ami) es una imagen virtual pre-configurada con software que es usada para crear máquinas virtuales en la nube de Amazon (EC2). </p>
<p>Una vez que sabemos la ami que necesitamos, podemos iniciar nuestra propia instancia, basada en ella, con el comando:</p>
<blockquote><p><a href="http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ApiReference-cmd-RunInstances.html" target="_blank">ec2-run-instances</a> ami-0cdf4965 -t m2.2xlarge &#8211;region us-east-1 &#8211;key <em>keypar</em></p></blockquote>
<p>El uso de UbuntuFinder es realmente trivial y de alta utilidad, este video lo demuestra:</p>
<div class="wpv_videoc">
<div class="wpv_video"><object data="http://www.youtube.com/v/zMhIf4FbJTc" type="application/x-shockwave-flash" width="100%" height="100%"><param name="movie" value="http://www.youtube.com/v/zMhIf4FbJTc"></param></object></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.pilas.net/20130223/ubuntu-finder-como-encontrar-la-ami-que-necesitas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DomainKeys Identified Mail (DKIM) para Postfix Debian/GNU con multiple dominio</title>
		<link>http://www.pilas.net/20130118/domainkeys-identified-mail-dkim-para-postfix-debiangnu-con-multiple-dominio/</link>
		<comments>http://www.pilas.net/20130118/domainkeys-identified-mail-dkim-para-postfix-debiangnu-con-multiple-dominio/#comments</comments>
		<pubDate>Fri, 18 Jan 2013 04:51:49 +0000</pubDate>
		<dc:creator>rodolfo</dc:creator>
				<category><![CDATA[Soft. Libre]]></category>

		<guid isPermaLink="false">http://www.pilas.net/?p=1352</guid>
		<description><![CDATA[Sabiendo que cada vez más los servicios de correo electrónico están ajustando las medidas de seguridad para detectar el correo fraudulento, configuré DKIM en varios servidores desde los que se envía correo, como medida adicional al SPF que ya mantengo sistemáticamente desde hace varios años. DomainKeys Identified Mail (DKIM) es un método por el cual [...]]]></description>
				<content:encoded><![CDATA[<p>Sabiendo que cada vez más los servicios de correo electrónico están ajustando las medidas de seguridad para detectar el correo fraudulento, configuré DKIM en varios servidores desde los que se envía correo, como medida adicional al <a href="http://es.wikipedia.org/wiki/Sender_Policy_Framework" target="_blank">SPF</a> que ya mantengo sistemáticamente desde hace varios años.</p>
<p><a href="http://es.wikipedia.org/wiki/DomainKeys_Identified_Mail" target="_blank">DomainKeys Identified Mail (DKIM)</a> es un método por el cual los correos son verificados con la firma digital del servidor de origen; esto permite validar el dominio del remitente, evitar la suplantación de identidad, asegurar el remitente y la integridad, evitando la modificación de los correos.</p>
<p>La instalación que se presenta permite disponer de Postfix en Debian/GNU validando correo recibido con DKIM y firmando los mensajes salientes para todos los dominios, en un servidor multi-dominio.</p>
<h2>Instalación</h2>
<p>Si tenemos Postfix correctamente funcionando, solo debemos instalar <strong>dkim-filter</strong> que se encargará de firmar y verificar los correos.</p>
<blockquote><p># aptitude install dkim-filter</p></blockquote>
<h2>Llave digital</h2>
<blockquote><p># dkim-genkey -b 1024 -d dominio.com -s cartero</p></blockquote>
<p>Donde:</p>
<ul>
<li><strong>-d dominio.com</strong> &#8211; es el dominio del servidor de correo (MX)</li>
<li><strong>-s cartero</strong> &#8211; es la forma de identificar la llave y es el nombre del host (MX)</li>
</ul>
<p>El resultado de la ejecución son dos archivos: <em>cartero.private</em> y <em>cartero.txt</em></p>
<blockquote><p># cp cartero.private /etc/mail/dkim.key<br />
# chown dkim-filter /etc/mail/dkim.key</p></blockquote>
<p>y <em>cartero.txt</em> se usa para el DNS, como se ve más adelante.</p>
<h2>Filtro</h2>
<p>Habilitarlo para que escuche en un puerto de localhost, editando el archivo <em>/etc/default/dkim-filter</em> y dejando esta línea:</p>
<blockquote><p>SOCKET=&#8221;inet:1025@localhost&#8221;</p></blockquote>
<p>Luego configurar el archivo <em>/etc/dkim-filter.conf</em>:</p>
<blockquote><p>
Syslog			yes<br />
UMask			002</p>
<p>Domain			*<br />
KeyFile			/etc/mail/dkim.key<br />
Selector		cartero</p>
<p>AutoRestart		no<br />
Background		yes<br />
Canonicalization	simple<br />
DNSTimeout		5<br />
Mode			sv<br />
SignatureAlgorithm	rsa-sha256<br />
SubDomains		no<br />
X-Header		yes
</p></blockquote>
<p>Aquí son importante estas líneas (y por supuesto que las demás también):</p>
<ul>
<li><strong>Syslog yes</strong> &#8211; Dejará un registro del funcionamiento de dkim-filter en el <em>/var/log/mail.log</em></li>
<li><strong>Domain *</strong> &#8211; Hace que la firma de los correos salientes sea para todos los dominios</li>
<li><strong>Selector cartero</strong> &#8211; es el identificador que le pusimos a la llave cuando la creamos y que coincide con el nombre del host</li>
</ul>
<p>y podemos iniciar el daemon dkim-filter y verificar que efectivamente ha quedado escuchando en el puerto que configuramos (en este caso 1025)</p>
<h2>Postfix</h2>
<p>Resta decirle a Postfix que se vincule con dkim-filter para los correos entrantes y salientes, agregando estas líneas al <em>/etc/postfix/main.cf</em>:</p>
<blockquote><p>
milter_default_action = accept<br />
milter_protocol = 2<br />
smtpd_milters = inet:127.0.0.1:1025<br />
non_smtpd_milters = inet:127.0.0.1:1025
</p></blockquote>
<h2>DNS</h2>
<p>La configuración indicada previamente hace que <strong>todos</strong> los dominios de origen sean firmados por el servidor de correo, lo que puede no ser una escenario común.</p>
<p>Así, en <strong>cada dominio</strong> se debe agregar el registro TXT que contiene la llave pública con que será verificada la firma.</p>
<p>Para esto editar el archivo de zona DNS del dominio y colocar la información que ha queado en el archivo <em>cartero.txt</em>, así:</p>
<blockquote><p>cartero._domainkey.dominio.com. IN TXT &#8220;v=DKIM1; g=*; k=rsa; p=MIGfM&#8230;wIDAQAB&#8221;</p></blockquote>
<h2>Verificación</h2>
<p>Para verificar que todo anda como uno espera (hola Murhpy!), se pueden observar las líneas en el <em>/var/log/mail.log</em> de dkim-filter, semejantes a esta:</p>
<blockquote><p>Jan 18 01:23:12 cartero dkim-filter[6484]: Sendmail DKIM Filter v2.8.2 starting (args: -x /etc/dkim-filter.conf -u dkim-filter -P /var/run/dkim-filter/dkim-filter.pid -p inet:1025@localhost)</p></blockquote>
<p>y se puede enviar correo a una cuenta de <strong>yahoo.com</strong> (creadores de DKIM) y verificar que el correo no sea colocado en spam y que su cabezal tenga una línea semejante a esta:</p>
<blockquote><p>Authentication-Results: mta1052.mail.ac4.yahoo.com  from=dominio.com; domainkeys=neutral (no sig);  from=dominio.com; dkim=pass (ok)</p></blockquote>
<p>Basado en los artículos de:</p>
<ul>
<li><a href="http://www.kirya.net/articles/dkim-with-postfix/" target="_blank">Julien Valroff</a></li>
<li><a href="http://www.danielcoletti.com.ar/2008/04/03/dkim-domainkeys-identified-mail/" target="_blank">Daniel Coletti</a></li>
<li><a href="https://sites.google.com/site/oauthgoog/mlistsdkim" target="_blank">Google&#8217;s Internet Identity Research</a></li>
<li><a href="https://help.ubuntu.com/community/Postfix/DKIM" target="_blank">Ubuntu Community Help Wiki</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.pilas.net/20130118/domainkeys-identified-mail-dkim-para-postfix-debiangnu-con-multiple-dominio/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>2012 otro año de éxito para Linux</title>
		<link>http://www.pilas.net/20121213/2012-otro-ano-de-exito-para-linux/</link>
		<comments>http://www.pilas.net/20121213/2012-otro-ano-de-exito-para-linux/#comments</comments>
		<pubDate>Fri, 14 Dec 2012 01:45:05 +0000</pubDate>
		<dc:creator>rodolfo</dc:creator>
				<category><![CDATA[Lo leí por ahí]]></category>
		<category><![CDATA[Soft. Libre]]></category>

		<guid isPermaLink="false">http://www.pilas.net/?p=1339</guid>
		<description><![CDATA[El año 2012 ha sido para el sistema operativo GNU/Linux y su kernel Linux otro año de éxito y satisfacciones, en el que se recibieron varios galardones y se alcanzaron nuevos records. El sistema operativo continúa siendo la plataforma de mayor crecimiento en distintos ámbitos de aplicación, con nuevos proyectos y oportunidades de negocios cada [...]]]></description>
				<content:encoded><![CDATA[<p>El año 2012 ha sido para el sistema operativo GNU/Linux y su kernel Linux otro año de éxito y satisfacciones, en el que se recibieron varios galardones y se alcanzaron nuevos records. El sistema operativo continúa siendo la plataforma de mayor crecimiento en distintos ámbitos de aplicación, con nuevos proyectos y oportunidades de negocios cada día.</p>
<p>La <a href="http://www.linuxfoundation.org">Linux Foundation</a> ha publicado un video que resume en dos minutos el año 2012 para Linux, con palabras del propio Linus Torvalds:</p>
<div class="wpv_videoc">
<div class="wpv_video"><object data="http://www.youtube.com/v/Unfx2qCj6Ao" type="application/x-shockwave-flash" width="100%" height="100%"><param name="movie" value="http://www.youtube.com/v/Unfx2qCj6Ao"></param></object></div>
</div>
<p>&#8230; y cómo concluye el video&#8230;</p>
<h2 style="color: #990000">Se parte del proyecto de desarrollo colaborativo más grande del Mundo</h2>
<p>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pilas.net/20121213/2012-otro-ano-de-exito-para-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Amazon EC2 linea de comandos</title>
		<link>http://www.pilas.net/20121107/amazon-ec2-linea-de-comandos/</link>
		<comments>http://www.pilas.net/20121107/amazon-ec2-linea-de-comandos/#comments</comments>
		<pubDate>Wed, 07 Nov 2012 23:20:08 +0000</pubDate>
		<dc:creator>rodolfo</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://www.pilas.net/?p=1310</guid>
		<description><![CDATA[Las API Tools de Amazon permiten realizar acciones sobre la nube de Amazon como se hace desde la Consola Web, pero directamente desde la línea de comandos. En este artículo describo cómo tengo mi instalación en Mac OS X, aunque perfectamente es aplicable para Linux u otros Unix. Esta descripción también incluye la configuración para [...]]]></description>
				<content:encoded><![CDATA[<p>Las <a href="http://aws.amazon.com/developertools/351?_encoding=UTF8">API Tools de Amazon</a> permiten realizar acciones sobre la nube de Amazon como se hace desde la Consola Web, pero directamente desde la línea de comandos.</p>
<p>En este artículo describo cómo tengo <strong>mi instalación en Mac OS X</strong>, aunque perfectamente es aplicable para Linux u otros Unix.  Esta descripción también incluye la configuración para poder trabajar con varias cuentas de Amazon independientes.</p>
<p>Sin duda, esta instalación puede ser perfeccionada, así que espero sugerencias en los comentarios.</p>
<h2>Java JDK</h2>
<p>Las herramientas de Amazon requieren Java, sirve tanto sea JDK como JRE. El <a href="http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/SettingUp_CommandLine.html#java-runtime">documento de instalación oficial de Amazon</a> describe cómo realizar esta instalación.</p>
<p>Es mandatorio tener configurada la variable de ambiente JAVA_HOME.  Esto se se hace agregando la siguiente línea al archivo <em>~/.bashrc</em>:</p>
<blockquote><p>export JAVA_HOME=&#8221;/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home&#8221;</p></blockquote>
<h2>Amazon EC2 API Tools</h2>
<p>Descargar las herramientas de Amazon EC2 API Tools y descompactar en /usr/local; renombrar directorio de extracción a <em>amazon</em></p>
<blockquote><p>cd /usr/local<br />
unzip ec2-api-tools.zip<br />
mv ec2-api-tools-1.6.5.1 /usr/local/amazon
</p></blockquote>
<p>Configurar el entorno creado para dejarlo disponible, agregando las siguientes líneas en el archivo <em>~/.bashrc</em></p>
<blockquote><p>export EC2_HOME=/usr/local/amazon<br />
export EC2_AMITOOL_HOME=/usr/local/amazon<br />
export PATH=$PATH:$EC2_HOME/bin
</p></blockquote>
<h2>Certificados de Seguridad</h2>
<p>Crear y <a href="https://portal.aws.amazon.com/gp/aws/securityCredentials?">descargar los certificados X.509 de Credenciales de Acceso</a> en la cuenta de Amazon. Estos certificados digitales permiten validar SOAP para las herramientas de línea de comandos.</p>
<p>Se obtienen dos archivos:</p>
<ul>
<li>pk-33XYJMEMKWAFXK0UZ7OU6FWCRYBR99Y.pem<br />
Llave privada RSA: <strong>respaldar</strong> (si se extravía se debe generar una nueva)</li>
<li>cert-33XYJMEMKWAFXK0UZ7OU6FWCRYBR99LY.pem<br />
Certificado público X.509: se puede acceder y volver a bajar siempre.</li>
</ul>
<p>En caso de dudas de cómo funciona el sistema de validación en Amazon, consultar <a href="http://docs.amazonwebservices.com/AWSSecurityCredentials/1.0/AboutAWSCredentials.html#X509Credentials">la documentación oficial</a>.</p>
<p>Dejar esos dos archivos en un directorio “oculto” en el <em>home</em> el usuario</p>
<blockquote><p>cd<br />
mkdir .ec2<br />
chmod 700 .ec2</p>
<p>chmod 400 .ec2/pk-33XYJMEMKWAFXK0UZ7OU6FWCRYBR99Y.pem</p>
<p>ls .ec2/<br />
cert-33XYJMEMKWAFXK0UZ7OU6FWCRYBR99LY.pem   pk-33XYJMEMKWAFXK0UZ7OU6FWCRYBR99Y.pem
</p></blockquote>
<h2>Entorno para uso de certificados</h2>
<p>Crear un alias que cargue las variables de ambiente con los certificados, con la siguiente línea en el archivo <em>~/.bash_aliases</em> (o en el <em>~/.bashrc</em>):</p>
<blockquote><p>alias ec2cuentaA=&#8217;KEY=&#8221;33XYJMEMKWAFXK0UZ7OU6FWCRYBR99LY&#8221;;<br />
       export EC2_PRIVATE_KEY=$HOME/.ec2/pk-$KEY.pem;<br />
       export EC2_CERT=$HOME/.ec2/cert-$KEY.pem&#8217;</p></blockquote>
<p><em>(es una única línea, pero se muestra aquí en tres líneas para facilitar la lectura)</em></p>
<p>Para cada cuenta que se tenga de Amazon EC2 se crea un alias que cargue los certificados correspondientes, por ejemplo <em>ec2cuentaB</em>, <em>ec2empresa1</em>, etc.</p>
<h2>Probar Instalación</h2>
<p>Al abrir una nueva terminal se estará cargando el entorno definido en el <em>~/.bashrc</em> (si así está previamente definido en el archivo <em>~/.profile</em> o <em>~/.bash_profile</em> o <em>~/.bash_login</em>).</p>
<p>Cuando se desea conectar con una cuenta determinada, ejecutar el alias:</p>
<blockquote><p>ec2cuentaA</p></blockquote>
<p>Y ya se pueden usar dos comandos para consultar Amazon EC2:</p>
<blockquote><p>$ ec2-describe-regions<br />
REGION	eu-west-1	ec2.eu-west-1.amazonaws.com<br />
REGION	sa-east-1	ec2.sa-east-1.amazonaws.com<br />
REGION	us-east-1	ec2.us-east-1.amazonaws.com<br />
REGION	ap-northeast-1	ec2.ap-northeast-1.amazonaws.com<br />
REGION	us-west-2	ec2.us-west-2.amazonaws.com<br />
REGION	us-west-1	ec2.us-west-1.amazonaws.com<br />
REGION	ap-southeast-1	ec2.ap-southeast-1.amazonaws.com</p>
<p>$ ec2-describe-availability-zones<br />
AVAILABILITYZONE	us-east-1a	available	us-east-1<br />
AVAILABILITYZONE	us-east-1b	available	us-east-1<br />
AVAILABILITYZONE	us-east-1c	available	us-east-1<br />
AVAILABILITYZONE	us-east-1d	available	us-east-1<br />
AVAILABILITYZONE	us-east-1e	available	us-east-1
</p></blockquote>
<p>Los comandos de las Amazon API Tools quedan disponibles en el PATH y expandibles con el tabulador (en Bash). En caso de que algo no esté bien configurado muestra un error.</p>
<h2>Referencias</h2>
<p>El origen de este artículo es <a href="http://pi.lastr.us/doku.php/virtualizacion:cloud:amazon-ec2-comandos">una página de mi Wiki Pi.Lastr.Us</a> donde mantengo la información actualizada de este tema.</p>
<p>Los artículos de Hugh Gilmour &#8220;<a href="http://gilmation.com/es/articles/install-ec2-api-tools-on-mac-os-x-leopard/">Installar las herramientas de EC2 API en Mac OS X Leopard</a>&#8221; y de Robert Sosinski &#8220;<a href="http://www.robertsosinski.com/2008/01/26/starting-amazon-ec2-with-mac-os-x/">Starting Amazon EC2 with Mac OS X</a>&#8221; fueron de gran ayuda para escribir este artículo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pilas.net/20121107/amazon-ec2-linea-de-comandos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Copiar base de datos MySQL de un servidor a otro</title>
		<link>http://www.pilas.net/20121031/copiar-base-de-datos-mysql-de-un-servidor-a-otro/</link>
		<comments>http://www.pilas.net/20121031/copiar-base-de-datos-mysql-de-un-servidor-a-otro/#comments</comments>
		<pubDate>Wed, 31 Oct 2012 18:27:41 +0000</pubDate>
		<dc:creator>rodolfo</dc:creator>
				<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://www.pilas.net/?p=1301</guid>
		<description><![CDATA[Tengo un servidor en producción por allá en la nube y quiero tener otra réplica (asincrónica) de algunas bases de datos MySQL. Buscando la solución más sencilla y rápida llegue a este script que se ejecuta en el servidor de réplica y que trae la base de datos remota y la deja activa en el [...]]]></description>
				<content:encoded><![CDATA[<p>Tengo un servidor en producción por allá en la nube y quiero tener otra réplica (asincrónica) de algunas bases de datos MySQL. Buscando la solución más sencilla y rápida llegue a este script que se ejecuta en el servidor de réplica y que trae la base de datos remota y la deja activa en el MySQL local.</p>
<blockquote><p>
ssh shelluser@server.remoto.com &#8220;mysqldump -uusuario -pclave123 basedatos | gzip -c1&#8243; | gunzip -c | mysql -uroot -ppassword basedatos
</p></blockquote>
<p>Los comandos ente comillas <strong>mysqldump -uusuario -pclave123 basedatos | gzip -c1</strong> se ejecutan en el servidor remoto mediante la conexión ssh que debe poder realizar el usuario &#8216;shelluser&#8217;, para sacar por estándar output el dump compactado de la base de datos.</p>
<p>Localmente se recibe por estandar input con los comandos <strong>gunzip -c | mysql -uroot -ppassword basedatos</strong>, que descomprimen y ejecutan los comandos del dump en el mysql local contra la base de datos que se indica.</p>
<p>El gzip y el gunzip es opcional y lo que busca hacer es comprimir el tráfico que se transfiere mediante SSH, y solo sería necesario si la base que se está bajando es de cierto volumen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pilas.net/20121031/copiar-base-de-datos-mysql-de-un-servidor-a-otro/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Debug lighttpd magnet lua script</title>
		<link>http://www.pilas.net/20121003/debug-lighttpd-magnet-lua-script/</link>
		<comments>http://www.pilas.net/20121003/debug-lighttpd-magnet-lua-script/#comments</comments>
		<pubDate>Thu, 04 Oct 2012 00:30:54 +0000</pubDate>
		<dc:creator>rodolfo</dc:creator>
				<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Utilidades]]></category>
		<category><![CDATA[lighttpd]]></category>
		<category><![CDATA[magnet]]></category>

		<guid isPermaLink="false">http://www.pilas.net/?p=1294</guid>
		<description><![CDATA[El servidor web lighttpd mediante su módulo magnet (mod_magnet) permite incorporar la funcionalidad del lenguaje lua para el manejo las peticiones al servidor. La siguiente porción de código se puede incorporar al final del script lua para conocer cómo será recibida la petición para ser servida: print(&#8220;>>>>> parts of the URI&#8221;) print(&#8220;request.uri: &#8221; .. lighty.env["request.uri"]) [...]]]></description>
				<content:encoded><![CDATA[<p>El servidor web <a href="http://es.wikipedia.org/wiki/Lighttpd">lighttpd</a> mediante su módulo <a href="http://redmine.lighttpd.net/projects/1/wiki/Docs_ModMagnet">magnet (mod_magnet)</a> permite incorporar la funcionalidad del lenguaje <a href="http://es.wikipedia.org/wiki/Lua">lua</a> para el manejo las peticiones al servidor.</p>
<p>La siguiente porción de código se puede incorporar al final del script lua para conocer cómo será recibida la petición para ser servida:</p>
<blockquote><p>
print(&#8220;>>>>> parts of the URI&#8221;)<br />
print(&#8220;request.uri: &#8221; .. lighty.env["request.uri"])<br />
print(&#8220;uri.path: &#8221; .. lighty.env["uri.path"])<br />
print(&#8220;uri.path-raw: &#8221; .. lighty.env["uri.path-raw"])<br />
print(&#8220;uri.scheme: &#8221; .. lighty.env["uri.scheme"])<br />
print(&#8220;uri.authority: &#8221; .. lighty.env["uri.authority"])<br />
print(&#8220;uri.query: &#8221; .. lighty.env["uri.query"])<br />
print(&#8220;>> filenames, pathnames&#8221;)<br />
print(&#8220;physical.path: &#8221; .. lighty.env["physical.path"])<br />
print(&#8220;physical.rel-path: &#8221; .. lighty.env["physical.rel-path"])<br />
print(&#8220;physical.doc-root: &#8221; .. lighty.env["physical.doc-root"])
</p></blockquote>
<p>y la salida quedará guardada en el archivo <tt>/var/log/lighttpd/error.log</tt></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pilas.net/20121003/debug-lighttpd-magnet-lua-script/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
