Sal Aguilar's Adventures in IT

computers are easier to deal with than people

Google I/O 2017 LiveStream — May 17, 2017

Google I/O 2017 LiveStream


Advertisements
WordCamp Managua 2017 – Canal 6 Nicaragua — May 8, 2017
WordCamp Miami 2017 Interview — April 5, 2017

WordCamp Miami 2017 Interview


I gave this interview during #WCMIA2017 where I share 3 tips to keep your website secure! Enjoy!

Meetup Testimonial Costa Rica — March 13, 2017

Meetup Testimonial Costa Rica


Este testimonio en el WordCamp de Costa Rica en el 2016 es inspirador. Gracias a los coordinadores por invitarme a ser parte del evento.

Nos vemos este año en el WordCamp Managua 2017 en Mayo y luego en el WordCamp Costa Rica 2017 en Septiembre!

WordPress.tv

View original post

Descarga WordPress 4.7.2 HOY — January 26, 2017

Descarga WordPress 4.7.2 HOY


El día de hoy, ha sido liberado WordPress 4.7.2 que es una versión que parcha 3 vulnerabilidades de seguridad de la versión anterior.

Descargar WordPress 4.7.2 en formato ZIP

Descargar WordPress 4.7.2 en formato TGZ

Para mayor información puedes leer las notas sobre esta versión:

https://wordpress.org/news/2017/01/wordpress-4-7-2-security-release/

Y como siempre: ACTUALICEN, ACTUALICEN, ACTUALICEN!!!!

4 cosas que NO me gustan de WordPress — January 20, 2017

4 cosas que NO me gustan de WordPress


WordPress esta en 1 de cada 4 sitios web en internet. Es el CMS más usado del mundo, tiene miles de integraciones y un sin numero de diferentes temas y plugins, pero, a como todo en esta vida, no es perfecto.

Mi experiencia en Sucuri y compartiendo comentarios con amigos de SiteGround, he creado esta breve lista sobre 5 cosas que no me gustan sobre este CMS.

1. Bitácoras o Logs?

WordPress Core no trae bitácoras o logs sobre lo que pasa detrás del sitio. No podés saber quien entró al sitio, cuando, que cambios hizo; no podés saber cuantas veces intento entrar o cuantas veces ha pedido la contraseña. Desde mi punto de vista de SysAdmin es como manejar con una venda en los ojos, y no puedo determinar problemas sino tengo datos que analizar. Y confiar en los logs de Apache o NGINX no es suficiente.

2. Indefenso ante ataques de fuerza bruta

WordPress te permite intentar logiarte y equivocarte de usuario y contraseña un sin número de veces. El ataque #1 que vemos en Sucuri son los ataques de fuerza bruta para intentar adivinar la contraseña de un usuario administrador del sitio. Y en mi limitada experiencia es una de las mayores razones de infección & inyección de SEO SPAM a las páginas administradas por WordPress.

3. Plugins & Plantillas (themes) Premium

La comunidad de WordPress hace un excelente trabajo revisando cada plugin & theme gratuito, debido a que son de código abierto y estos mismos tienen que apegarse a los standards de programación establecidos. Pero los plugins y themes premium no pasan por tal escrutinio y aunque se vean muy bien estéticamente, muchas veces son muy susceptibles a infecciones o inyecciones de código debido al descuido de sus autores.

4. No trae Cache incluído

Hasta Joomla y Magento traen un cache incluído en el core. Pero WordPress no, entonces cada petición, cada pageview son varias llamadas a la base de datos, desperdiciando CPU & Memoria.

¿Qué cosas no les gustan a ustedes de WordPress? 

Compartan sus comentarios en este artículo o en las redes sociales. Si les gustó por favor compartanlo y denle like en su red social favorita.

¿Cómo escoger un hosting para WordPress? Parte 1 — January 19, 2017

¿Cómo escoger un hosting para WordPress? Parte 1


Siempre en los grupos de usuarios de WordPress no falta alguien que siempre pregunte:

¿Que hosting me recomiendan para mi sitio WordPress?

Luego siempre saltan los fanboys a recomendar el hosting que ellos usan sin antes tener datos que te permitan responder responsablemente la pregunta. Y muchas veces genera frustración en los usuarios cuando contratan un servicio que no era exactamente lo que estaban buscando.

Por eso me decidí a escribir este artículo, para todas esas personas que necesitan saber como escoger un hosting adecuado a sus necesidades y posibilidades.

Antes de empezar

Este artículo les va a realizar preguntas que ustedes deben de poder contestar, si alguna de las preguntas no las pueden contestar entonces les recomiendo que tomen tiempo primero para determinar la visión de su sitio web. Cosas que parecen tan  tontas como visión, nicho de mercado, localidad del mercado objetivo, nivel de visitantes concurrentes, plan de contingencia y demás se vuelven importantes porque no todos los servicios ofrecen las mismas bondades. Por eso antes de empezar les sugiero que tengan ya bien definido que quieren hacer con su sitio web para poder garantizar el mejor funcionamiento posible.

Requisitos básicos

Como ya deben de saber, WordPress está hecho en PHP y depende de una base de datos MySQL, por lo que el host debe de tener cualquiera de las siguientes configuraciones:

Servidor Web: Apache, NGINX, LiteSpeed o IIS.

Servidor Aplicativo: PHP o PHP-FPM.

Base de Datos: MySQL, MariaDB o Percona DB.

Ahora vamos a ver paso a paso lo que tenemos que saber para poder escoger un hosting.

¿Cual es la localidad de los visitantes que quieres atraer?

Algunos me han preguntado en eventos: ¿que tiene que ver con el que tipo de hosting? Y la respuesta es sumamente sencilla. Si estás en Nicaragua o Costa Rica no vas a comprar un hosting que tenga los servidores en Australia o India, porque tendría impacto en la velocidad de carga del sitio web.

En el caso especifico de Nicaragua, que nuestro internet viene de USA, siempre lo mejor es buscar servidores que estén cerca de Miami, para poder así tener una ruta más corta hacia el mismo. Una elección popular es Dallas, luego New York y luego Miami. También vale la pena recalcar que algunos proveedores como Siteground tienen sus servidores en Chicago y Amazon Web Services en Virginia.

En el caso específico de Costa Rica, que cuenta con enlaces tanto a la costa este como a la costa oeste, podría agregar que Los Angeles, San Francisco & Oregon.

Siempre es bueno hacer un traceroute para poder determinar cual hosting es el que queda más cerca de nuestro mercado meta.

¿Cuantos visitantes pretendemos que visiten mi sitio al mes?

Muchos hosting limitan los recursos como CPU, procesos PHP, Memoria, consultas MySQL, etc. Por esto mismo es super importante que tengamos definido cuanta gente queremos que visiten nuestro sitio.

Analicemos Siteground como ejemplo, en su página de WordPress ellos anuncian 3 paquetes y te dicen un aproximado de visitantes que soporta cada plan.  Esto es importante saber ya que hosting como HostGator, BlueHost, Site5 (todos pertenecen a EIG) tienen varias limitantes en la letra pequeña y por eso es que los costos so bajos. Los problemas de rendimiento ocurren luego del tercer visitante concurrente al sitio. Y no solo cuentan los visitantes que son personas, sino todos los bots, crawlers y scanners que a diaro visitan nuestros sitios sin que nos demos cuenta.

Si querés tener más de 5 visitantes al mismo tiempo y que tu sitio no pierda velocidad entonces hay que evitar cualquier plan de shared hosting. Una vez que definís que querés tener capacidad de recibir más visitantes entonces hay que usar un servidor dedicado.

En el caso específico de SiteGround, ellos ofrecen dos tipos de servidores dedicados: servidor en la nube o servidor dedicado. El servidor en la nube es sencillamente un contenedor/servidor virtual que convive en el mismo hardware que otros servidores y que puede ser movido a otro hardware con facilidad sin perder ninguna información. El servidor dedicado, por otra parte, significa que es un hardware dedicado a tu cuenta y que no hay otros sitios en el, sino que todos los recursos son unicamente tuyos. Por motivos de escalabilidad y flexibilidad recomiendo los servidores en nube, por que asi se puede escalar hacia arriba cuando vamos a esperar algun pico en el trafico debido a alguna oferta o alguna estrategia de marketing activa. Y te permite luego bajar a un servidor con menos recursos una vez este exceso de trafico haya bajado. Te ayuda principalmente a disminuir costos. El caso del servidor dedicado, para un upgrade toma más tiempo porque hay que migrar tu sitio a un servidor nuevo, que tenga mas capacidad entonces esto lleva mucho mas tiempo que el simple redimensionamiento de un servidor en la nube.

Otro caso similar es WPEngine, quien es un proveedor de sitio que únicamente ofrece el servicio de Alojamiento de WordPress Administrado. Ellos te ofrecen servicios extras dentro del precio mensual: certificados SSL gratuitos y remoción de malware via Sucuri.net incluído dentro del precio mensual. Ellos en cada plan te muestran más o menos cuanto tráfico soporta cada plan, pero tomen nota que esto es un aproximado nada más. Con ellos igual se puede ir subiendo de plan a medida de que aumenta o disminuye el trafico. Este es un servicio más orientado a empresas que necesitan altos niveles tanto de rendimiento como de soporte y por eso el costo es más alto, pero es super recomendado si tienen el presupuesto.

¿Quiero un servicio administrado o quiero administrar el servidor?

Esta pregunta es una que muy pocas personas se hacen. Servicios como SiteGroundWPEngine son servicios completamente administrados donde el personal de la compañía se encarga de la administración del servidor, actualizaciones, parches de seguridad, logs, backups, etc. El usuario nunca llega a tener acceso administrativo o de super usuario al servidor.

En el caso intermedio podemos ubicar a KnownHost, que es un proveedor que te ofrece un servicio administrado, pero que si te dan acceso a nivel de administrador al servidor bajo ciertos lineamientos. Ellos te ofrecen 3 tipos de planes: Servidores Dedicados, Servidores VPS (cloud) & Servidores VPS con SSD.

Y finalmente en el caso de que quieras administrar tu mismo el servidor: instalar, configurar, actualizaciones, parches, problemas de memoria, etc, entonces te puedo recomendar darte una vuelta por Digital Ocean y probar con un dVPS de USD5 al mes. Usa este link y Digital Ocean te va a regalar USD 10 en saldo para poder probar el VPS gratis por 2 meses. Lo bueno es que es super flexible ya que tu mismo puedes armar el stack que quieras: LEMP, LAMP, etc. Lo malo es que necesitas mucho conocimiento y tiempo para poder configurar las cosas y hacer el troubleshooting cuando algo salga mal.

Vale la pena comentar que Digital Ocean cuenta con un servicio de backup bastante bueno pero que tiene un costo extra. Es muy buena idea usarlo en vez de usar plugins de backup de WordPress ya que le quitamos peso al aplicativo y todo lo hace el proveedor a nivel externo sin impactar CPU o Memoria de tu VPS.

 

Clearing CloudProxy cache via PHP — October 18, 2016

Clearing CloudProxy cache via PHP


For those who are not familiar let me explain what CloudProxy is. CloudProxy is the Web Application Firewall & Caching service from my employer, Sucuri.net. This service is setup at the DNS level and helps filtering all the HTTP requests that get to your website and speeding the performance a the same time.

Below is a simple graphic to explains how it works:

sucuri-cloudproxy-how-it-works
A brief explanation on how Sucuri’s CloudProxy works

How can I clear CloudProxy Cache?

It’s simple there are two ways:

  • Via CloudProxy‘s dashboard on Sucuri’s website
  • Using the API

Clearing the cache via the dashboard

Just follow this steps:

  1. Login to your account via https://login.sucuri.net
  2. Then go to CloudProxy (check your left menu) or simply type this: https://waf.sucuri.net on your browser address bar.
  3. Once on the CloudProxy Dashboard, click on settings and select the website you want to clear the cache for.
  4. Once there click on Performance, and then simply on the button to clear the cache. And in less than 2 minutes the cache will be trashed from all the CDN servers.

You can also check their tutorial on their Knowledge Base: CloudProxy – Clearing Cache

This is convenient when you are not making that many changes into your website. However if you are pushing changes everyday or building an webapp, then you need something easier.

Clearing the cache via PHP

I am currently building a web app with some friends and we faced the issue that after deploying each change, I needed to login to my account and clear the cache manually. This becomes tediously when you are committing changes several times a day 5 days a week. So I had to come up with a simple solution to get the job done.

That is why I turned to CloudProxy’s API, which offers me the ability to clear the cache by calling a simple string. You can see the basic code  below:

<?php
/**
 * Simple Script in PHP to clear sucuri's cloudproxy cache via php 
 * 
 * Author: Salvador Aguilar
 * Email: sal.aguilar81@gmail.com
 * Web: salrocks.com
 */
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => 'https://waf.sucuri.net/api?v2',
    CURLOPT_POST => 1,
    CURLOPT_POSTFIELDS => array(
        // this is the Sucuri CloudProxy API key for this website
        k => 'your-cloudproxy-api-key-goes-here',
        // this is the Sucuri CloudProxy API secret for this website
        s => 'your-cloudproxy-api-secret-goes-here',
        // this is the Sucuri CloudProxy API action for this website
        a => 'clear_cache'
    )
));
// Send the request & save response to $resp
$resp = curl_exec($curl);
echo '<pre>' . $resp . '</re>';
// Close request to clear up some resources
curl_close($curl);

https://gist.github.com/riper81/2f070c485f8172364bf4efd7a30f2b2c.js

That is the initial version of the script, if you want other features or to fork it you can get it from GitHub: https://github.com/riper81/clear_cache_cloudproxy_php 

What’s next?

Once you have the file, you simply put it on your website root and you edit with the proper values from your Sucuri account and then simply run it via a web browser or command line and you cache will be cleared.

I added this script into my deployment script so I can update from my git repo and then clear the cache from Sucuri. Making things easy for us 🙂

If you have an idea, hit me up!

#BlogsNI – Festival de Blogs de Nicaragua — September 18, 2016

#BlogsNI – Festival de Blogs de Nicaragua


What is #BlogsNI?

Next week, I set sail to the #BlogsNI, which is Nicaragua’s Blogs Festival. An event oriented to talk about the local nicaraguan blogosphere, a review of the past, present and future. The event will hold different local experts from Social Communication, Marketing and Technology,

What I would be doing on #BlogsNI?

I was invited by the organizers to participate on the event on the technology side of things. After all I’m an IT guy that loves teaching about WordPress. I will represent Sucuri (talk to me if you need help with WordPress & Website Security) and I will be giving a talk about WordPress and e-Commerce and I will give a WorkShop about Advanced WordPress. Below is the full agenda and the banner for my workshop.

#blogsni - agenda

Join my workshop if you want to learn further about WordPress!

#BlogsNi - Advanced WordPress

More info on the event:

When:

  • September 21 – #BlogsNI Workshops
  • September 22 – #BlogsNI Talks

Where:

Universidad Centro Americana. UCA. Managua, Nicaragua.

Facebook Page: https://www.facebook.com/FestivalBlogsNicaragua

Facebook Event: https://www.facebook.com/events/646689258837645/

Be sure to contact me if you want to setup some time to talk!

Cheers!

 

WP Nicaragua: walking towards a WordCamp in Nicaragua on 2017 — August 25, 2016

WP Nicaragua: walking towards a WordCamp in Nicaragua on 2017


First I must admit that I love that as part of my job in Sucuri I get to  assist to WordPress events like WordCamps. I had the opportunity to assist the first WP Campus in Sarasota, Florida. This event was for all the Universities and other Higher Education entities that use WordPress on their campus for their websites. It was pretty cool to see all the talks from Developers from 10up, Modern Tribe, Lynda.com, WP Engine, Pantheon and other companies which made the event possible.

This year, I met the organizer of the Costa Rica WordPress group , Roberto Remedios, and I had the opportunity to give a talk remotely to their group, and after that I realized that he was organizing the WordCamp San Jose, Costa Rica 2016 and I offered my assistance as a volunteer and to speak at the event.

nicaragua
WordCamp Nicaragua 2014 – Suyapa Beach, Las Peñitas

As a Nicaraguan, I’m truly excited to have a WordCamp in Central America. We did hold a WordCamp here in Nicaragua in 2014 and also in 2013, and we will he hosting a DrupalCon as well on Nicaragua this year, but I don’t have much details for now, but I will make a post as soon as I get all the inside scoop.

This year we are trying to push for at least a monthly meetup in our Managua WordPress Group, and we have had a good discipline and have held all the following meetups:

And this month we will held another, to keep meeting and sharing good practices and cool new tricks about WordPress, come and join us: http://www.meetup.com/Managua-WordPress-Meetup/events/233562086/

The ultimate goal, for us as a group/community is to hold a WordCamp next year, so we do not compete with Costa Rica for speakers or sponsors. So we are meeting regularly and have started the talk about who would volunteer to help organize such event in Nicaragua, so we can plan ahead, and have a great event as well as a good attendance from other Central American countries like Guatemala, El Salvador and Honduras.

If you would like to help organize, speak or sponsor our event, you can contact me, or go to our MeetUp page and click on contact: http://www.meetup.com/Managua-WordPress-Meetup/

We are going to try to push for WordCamp Nicaragua, WordCamp Costa Rica and then WordCamp El Salvador, and hopefully in 2018, hold our very first WordCamp CentralAmerica, were we can gather as a region instead of separate small countries so we can have a higher traction in assistance and sponsorship!

If you are from Guatemala or Honduras, and need help on setting up your WordPress community or want to be part of the WordCamp CentralAmerica, ping me on twitter or email me. I will be cool to gather as one!

I look forward to your comments!

%d bloggers like this: