Varnish y WordPress

Como el otro día comenté algo sobre Varnish y un nuevo plugin, y alguno ya preguntasteis en los comentarios, creo que ya iba siendo hora de explicar lo que es  Varnish, un sistema de cache realmente potente, fantástico para instalaciones WordPress con mucho tráfico, y que como ya puedes imaginar uso aquí en Ayuda WordPress.

Vamos a ello pues …

¿Qué es Varnish?

Varnish Cache es un acelerador web, o un sistema de cache HTTP de reverse proxy. Se instala en cualquier servidor que sirva (vale, es redundante) HTTP y se configura para que cachee sus contenidos. Según algunos estudios acelera el servicio en un 70%.

Cachear una web, por si alguien no lo sabe aún, es almacenar una copia de la misma para que sea la que vean los visitantes futuros. En el caso de Varnish y WordPress, lo que consigue es servir páginas cacheadas (almacenadas) de tu WordPress para que no tenga este que hacer llamadas a la base de datos cada vez que alguien visita tu web. Esto reduce la carga del servidor ya que simplemente sirve una copia única de las páginas a todos los visitantes sin tener que buscar las mismas imágenes y servicios para cada contenido y cada visitante.

Además, Varnish cachea las páginas en memoria virtual, para que tu sitio cargue mucho más rápido, lo que de paso mejora tu SEO, pues Google tiene estimado que por cada medio segundo de tiempo de carga adicional de una web esta recibe una media de un 20% de menos visitantes (fuente). De este modo, reduciendo con Varnish de manera importante el tiempo de carga de página pueden aumentar tus visitas y mejorar tu ranking en los buscadores, algo siempre a tener en cuenta.

La gente de Varnish ha publicado un vídeo muy simple, al tiempo que explicativo que seguro te ilustra sobre lo que hace …

Instalando Varnish

Varnish es un software libre así que no tienes excusas para instalarlo ahora mismo. Se ejecuta en Linux, preferiblemente en FreeBSD, pero puede funcionar igualmente en otras plataformas. Una vez lo instales puedes personalizarlo para definir cuantas peticiones entrantes gestionará mediante el Idioma de Configuración de Varnish (Varnish Configuration Language o VCL).

Varnish está pensado para que sea flexible, para que lo instales pensando en un sitio concreto en mente, y lo adaptes de manera personalizada a el.

Lo ideal es empezar con una configuración básica de Varnish, para más adelante ir probando pequeños cambios y ver como afectan al rendimiento del sitio concreto. Hay varias subrutinas que le dicen a Varnish como responder a las peticiones entrantes y salientes, a los errores, etc.

Así que vamos a empezar con una configuración básica, para luego echar un vistazo a las funciones básicas del VCL y luego ya tu lo tuneas a tu gusto.

Paso a paso

Poner en marcha Varnish es bastante sencillo. Partiendo de una base de, digamos, Apache en un sistema Debian (la mayoría de los servidores Linux), aunque también funciona en el resto, empezaríamos con este comando:

apt-get install varnish

Primero  hay que configurar Apache para que “escuche” el puerto 8080 de localhost. Varnish podrá entonces escuchar el puerto 80 (por donde vienen las visitas). En el archivo /etc/apache2/ports.conf, edita estos ajustes:

NameVirtualHost 127.0.0.1:8080
Listen 127.0.0.1:8080

Para que se inicie Varnish (por defecto no lo hace), edita lo siguiente en el archivo /etc/default/varnish

START=yes
DAEMON_OPTS=”-a DIRECCION_IP_EXTERNA:80 \
	-T localhost:6082 \
	-f /etc/varnish/default.vcl \
	-S /etc/varnish/secret \
	-s file,/var/lib/varnish/$INSTANCE/varnish_storage.bin,1G”

Reemplaza DIRECCION_IP_EXTERNA con la IP de tu dirección IP externa. También puede ser una dirección interna si tu servidor está tras un balanceador de carga o algo como NGINX. Este ajuste controla qué dirección IP y puerto quieres que Varnish escuche y vigile.

Una vez echo lo anterior edita el archivo /etc/varnish/default.vcl, que debería ya existir, con mucho de su contenido comentado (no activo). Empiezaremos por cambiar el backend default.

backend default {
	.host = “127.0.0.1”;</p>
	.port = “8080”;</p>
}

Ahora Varnish ya sabe que Apache está escuchando el puerto 8080 y la interfaz de localhost, para que podamos empezar a usar las funciones. La mayoría del trabajo se  hará con vcl_recv y vcl_fetch, y si no llamas a una acción en esta subrutina y Varnish llega al final, ejecutará el código que encuentre en el archivo default.vcl.

Note: no cachees nunca wp_admin, wp_login, o rutas similares.

Así es como trabaja – las 4 básicas subrutinas de tu configuración de Varnish que necesitas para gestionar peticiones serán:

sub vcl_recv

Esta llamada se hace al comienzo de una petición, y le dice a Varnish qué hacer con esa petición en concreto: si tiene que servirla, cómo servirla, y qué respaldo usar.

Varnish recibe una petición de tu navegador, y entonces vcl_recv decide hacer una de 3 costs con ella: vcl_hash, vcl_pass, y vcl_pipe (ahora lo explico). Puedes cambiar la petición si quieres, alterar las cookies o quitar la cabecera de la petición.

sub vcl_fetch

A vcl_fetch se la llama después de que se haya recuperado un documento con éxito. Usas esto para alterar las cabeceras de respuesta, lanzar el procesamiento ESI o para tratar de alternar entre servidores de respaldo si falla la petición.

El objeto solicitado, req, está todavía disponible, y ahí también  hay una respuesta de respaldo, beresp, que contiene las cabeceras HTTP del respaldo.

sub vcl_hash

Puedes llamar al hash_data del dato que quieras añadir al hash. Esta subrutina puede terminar con una llamada a return() con una de estas keywords: hash o proceed.

sub vcl_deliver

Llamas a esto antes de que el objeto cacheado se entregue al cliente. Esto puede terminar con deliver, error code, o restart. Deliver entrega el objeto al cliente, error devuelve el código de error específico al cliente y abandona la petición, restart reiniciará la transacción e incrementará el contador de reinicio.

Acciones

Hay ciertas acciones que puedes realizar en cada subrutina cuando personalizas Varnish:

pass

Pasa la petición y su consiguiente respuesta hacia el servidor de respaldo, sin cachear. Puedes llamar a pass tanto en vcl_recv como en vcl_fetch.

lookup

Se hace la petición desde vcl_recv para entregar contenido desde la cache aunque la petición indique que debe pasarse la misma. Puedes llamar a lookup desde vcl_fetch.

pipe

Desde vcl_recv, pipe cortocircuita al cliente y las conexiones de respaldo, y Varnish simplemente se queda ahí pasando los datos a un lado y a otro, registrando los datos, así que los registros serán incompletos. Ten cuidado ya que un cliente HTTP 1.1 puede enviar varias peticiones en la misma conexión, y así podrías hacer que Varnish añada una cabecera “Connection:close” antes de hacer la llamada a la pila de conexiones.

deliver

Entrega el objeto cacheado al cliente. Normalmente se le hace la llamada desde vcl_fetch.

esi

Hace un proceso ESI del documento adquirido.

Si quieres saber más sobre VCL no te pierdas este tutorial, que también contiene funciones que puedes realizar en tu sitio.

Configuraciones de ejemplo

Espero que estés aprendiendo algo (o mucho) de Varnish, pero la mejor manera de empezar a jugar con el es ver algunos ficheros de configuración de ejemplo.

La web de la comunidad de Varnish tiene una enorme colección de configuraciones de ejemplo, que son un buen sitio para empezar a hacer las tuyas. Incluso hay algunas configuraciones de ejemplo estupendas para WordPress de fetch y receive en Github.

Creo que llegado este punto huelga decir que Varnish es muy personalizable, y que puede hacer maravillas para cualquier instalación WordPress, especialmente las de alto tráfico. También, hay que reconocerlo, tampoco es para cualquiera, al menos hay que tener conocimientos de conexión con servidores mediante Linux.

Lo mejor es que, con poco esfuerzo y gratis, puedes configurar una cache realmente potente con Varnish, basándote en los permisos de usuario, en el tipo de usuario o lo que se te ocurra.

Si quieres más pruebas del poder de Varnish, no solo Ayuda WordPress lo usa, también Facebook, y creo que no hay mejor prueba de web de alto tráfico que esta tremenda red social ¿no crees?.

Plugins WordPress

Hay, como ya comenté hace días, plugins WordPress que te permiten configurar o gestionar el comportamiento de Varnish en WordPress, los que encontrarás serán estos:

Bueno que ¿te animas a probar Varnish o ya lo has usado?

WordPress es el Rey de la web en España

En España, el CMS rey durante años ha sido Joomla, muy por encima de Drupal, que siempre ha mantenido una cuota e interés más o menos estable a lo largo de los años.

Pero desde 2010 WordPress ha superado a Joomla, y por supuesto a Drupal, en interés por parte de los usuarios, que hacen que sea el CMS que más búsquedas genera desde Septiembre de 2010, y creciendo.

En el gráfico anterior, basado en los resultados en España, se puede ver claramente lo que comento arriba. En cualquier caso, las cifras a nivel mundial magnifican aún más el éxito de WordPress, con una tendencia a la baja del interés por Joomla.

Y es que en solo 7 años, WordPress ha logrado en el mundo de la publicación web algo parecido a lo que hizo Apple tiempo atrás: acercar la informática incluso a aquellos a los que no les gusta la informática. WordPress es un sistema de gestión de contenidos amigable, accesible y libre, que permite acceder a cualquier usuario a la creación y publicación de contenidos en Internet como ningún otro CMS ha conseguido hasta ahora, ese es su mayor logro.

Una plataforma que nació para ofrecer la creación de blogs, pero sobre todo para hacer accesible la publicación online, orientada a quien quisiera escribir, se ha hecho mayor, ha crecido para, actualmente, ser el sistema de creación y gestión de contenidos más utilizado en el mundo.

Gracias a los miles de temas gratuitos, con los que crear una web de cualquier tipo es cuestión de un par de clics, y a sus decenas de miles de plugins, gracias a los cuales cualquier usuario sin conocimientos informáticos puede ofrecer una experiencia profesional en su web o blog, hoy WordPress es el rey de los CMS.

Yo mismo he usado durante años Joomla, sufrido instalaciones de Drupal, y me han servido para aprender, pero también para poder apreciar la sencillez, a la par de potencia, de WordPress. Algo muy similar me pasó con la informática de escritorio, pues durante años de usar sistemas operativos de todo tipo, desde CP/M a OS2 Warp, de las primeras distros de Linux a casi todas las versiones de Windows, fue cuando descubrí MacOS X cuando de verdad encontré la parte más humana de la informática, la fusión entre seguridad, potencia y facilidad de uso, con una interfaz pensada para el usuario y unas aplicaciones fantásticas.

Esto mismo es lo que encontré en WordPress, y creo que muchos de vosotros. Joomla me ha servido para montar portales de manera sencilla, y siempre tendré especial cariño a PHP Nuke y Mambo, pues gracias a estas plataformas empecé a publicar mis cosas en la red. Drupal me ha enseñado mucho, precisamente por sus dificultades, igual que me pasó con Linux, pero si has de poner el foco en el resultado, en que un sistema informático, una pieza de código, te facilite la vida para lograr lo que deseas: publicar, compartir, entonces WordPress es la elección, y lo es de cada vez más usuarios que no quieren saber como funcionan las cosas, sino que quieren que las cosas funcionen.

Por supuesto, siempre habrá quien quiera conocer las tripas de cada software, incluso pelearse con el, pero el éxito de WordPress ha sido poner el software al servicio del usuario, sin necesidad (aunque pueda hacerlo) de que sepa programar.

Pero claro, esto ya son opiniones y experiencias propias, supongo que las tuyas habrán sido diferentes.

Convierte de texto a voz tus entradas

Seguramente no se te han ocurrido las ventajas que tiene que tus lectores puedan escuchar las entradas de tu sitio en vez de leerlas.

Aparte de personas con problemas de visión, ofrecer la lectura de tus artículos puede tener otras ventajas, como por ejemplo que tus lectores escuchen lo que has escrito desde su mientras van en el autobús o paseando por la calle.

Si se te ha ocurrido algo así debes saber que también tenemos algún plugin para hacerlo. Uno de ellos se llama Vocalyze Widget, y es tan sencillo su uso como instalarlo, activarlo y añadas el nuevo widget en la pantalla de "Apariencia -> Widgets". Solo tienes que configurar un poco el widget añadiendo la URL de tu sitio (no lo reconoce automáticamente) y, si quieres, un icono identificativo.

A partir de ese momento, si el widget identifica un feed RSS que "leer" es lo que hará cuando tus visitantes hagan clic en el icono. Al hacerlo se abrirá una ventana nueva y empezará la "reproducción".

¿Pegas?, pues me temo que si, pues solo lee bien en inglés, así que para los sitios en español y otros idiomas se nos queda un poco escaso. Pero no te preocupes, hay más opciones …

  • vozMe: un servicio que - este si - te lee en español tu web, y afortunadamente también dispone de plugin para WordPress
  • RoboVoice: un servicio que te ofrece un para tu navegador desde el que traducir webs
  • BlogRadio: una aplicación para , y que permite a cualquier lector (en este caso escuchante) leer cualquier blog o web en su escritorio. También aquí puedes elegir voces en español

Bueno, estas son las opciones que conozco, si sabes de alguna más cuéntala en los comentarios.

Algo está haciendo mal Drupal

Cuando la misma comunidad de la que se alardea en Drupal.org - "Vienes por el software, te quedas por la comunidad" - muestra tal nivel de crítica y cabreo como el que se puede leer en este mensaje del grupo (traducido al español por Google), algo anda mal, muy mal. Mucha gente ya empieza a huir de la pomposidad, de la complejidad, de la inestabilidad y "esto es lo que hay y si no puedes con ello eres un nerd" de Drupal y simplemente quiere tener un CMS potente, fácil de gestionar y que funcione: WordPress.

Me recuerda mucho a las típicas discusiones entre linuxeros y maqueros, donde los linuxeros se presentan como adalides guardianes de las esencias de "tocar código" mientras los maqueros simplemente aluden a "hace lo que necesitas y lo hace bien", solo que en este caso también WordPress es Open Source y patrimonio de la comunidad de usuarios.

¿Que te parece?

Contenido exclusivo para suscriptores al Feed

¡Gracias por seguirnos a diario!. Premiamos tu fidelidad ofreciéndote habitualmente contenidos exclusivos. Hoy puedes descargar:

Clic aquí para iniciar la descarga Guía para Administrar WordPress

Comprueba tu web con varios navegadores


browserlab Comprueba tu web con varios navegadores

Entre tanto navegador y estándares web muchos diseñadores y programadores nos volvemos locos a la hora de hacer que una página web funcione bien en cualquier sistema operativo y navegador. Y es que quien no sufre cada día que una web se vea igual en Firefox, Internet Explorer, Chrome, Opera, Safari, ….

Para facilitarnos el trabajo hay una serie de herramientas o aplicaciones online que permite realizar pruebas de como se ven nuestras páginas webs en diferentes navegadores y versiones de los mismos.

Aquí os dejo una pequeña lista:

  • BrowserLab de Adobe.
    Actualmente es mi preferido, aunque no los tiene todos, tiene los principales desde Internet Explorer 6, 7, 8 y 9 beta, firefox 2, 3 y 4 beta, Safari 4 y 5, chrome 8 y 9, …. Carga casi en tiempo real. Funciona bien en Windows, Linux y Mac.
  • Browsershots
    Otro servicio con una gran variedad de navegadores disponibles (algunos como Netscape, Flock, SeaMonkey, Konqueror, …), realmente completo. Es gratis pero igual desesperas con lo que tarda en generarse la captura. Siempre puede pagar 29,95 dólares para tener prioridad de carga. Además tienen parte de su código bajo licencia GPL para colaborar con las capturas.
  • Spoon
    Este permite además visitas interactivas con algunos navegadores como Chrome, Firefox y Opera (parece que Explorer por petición de Microsoft no está soportado). Es totalmente gratis. Aunque desde mi Mac se niega funcionar.
  • Browserling
    Ejecuta los navegadores en instancias virtuales para permitir interactividad. Ahora mismo es gratis durante el tiempo que dure su Beta pero necesitas registro para tener sesiones de 5 minutos si no quieres que tu sesión sea de poco más de 90 segundos. Tiene muy buena pinta y soporta Explorer, Firefox, Safari, Opera y Chrome. Y además funciona sin problemas en Mac.
  • Multi-Browser Viewer
    Programa para windows que requiere suscripción y permite probar tu web en más de 20 navegadores. Además tiene soporte para navegadores móviles. Se puede probar gratis, pero después tendrás que pagar. Creo que no merece la pena con las opciones gratis que existen.
  • IETester
    Para probar la compatibilidad de tus páginas webs con las antiguas versiones de Internet Explorer 5.5 hasta las nuevas, las 9.0.
  • BrowserSeal
    Otra opción para instalar en Windows y probar la compatibilidad de tu web con navegadores explorer, firefox, chrome, opera y safari. Es comercial aunque podéis probarlo.

¿Conoces más opciones para probar la compatibilidad de tu web en múltiples navegadores web?

Original Post / Entrada Original: Carrero.es. Si quieres Juegos Gratis disfruta aquí o decora tu casa.

Comprueba tu web con varios navegadores

Más actualizaciones para virtualizar sistemas operativos


Parece que estos días tenemos avalancha de actualizaciones de clientes para virtualizar en nuestros escritorios sistemas operativos de todo tipo, principalmente Windows y todo tipo de Linux. Incluso algunos como VirtualBox se aventuran a decir que pueden virtualizar Mac OS X.

Estas son las nuevas versiones que acaba de salir en estos últimos días, sin duda algo se mueve, además de muchos intereses y dinero:

  • VirtualBox 3.2 es de lo mejor para virtualizar gratis, una aplicación de Sun (que ahora es de Oracle). La nueva versión trae mejora en la gestión de CPU para Linux, aceleración de vídeo en RDP, mejor rendimiento general de las máquinas virtuales, soporte experimental para virtualizar clientes Mac OS X (hasta que Apple se enfade), … y lo mejor disponibles gratis para Windows, Linux y Mac OS X.
  • VMware Workstation 7.1 para Windows y Linux. Mejorando su compatibilidad e integración con Windows 7 en especial soporte 3D, rendimiento de OpenGL y DirectX, … Solo recordar que VmWare no es gratis.
  • VMware Fusion 3.1 para Mac OS X. La versión especial para Apple del software de VMware también se ha renovado, yo estoy descargando la actualización ahora mismo. Entre sus novedades y mejoras están que ahora es un 35% más rápido para suspender máquinas virtuales, lanzar aplicaciones windows (en especial mejora con Windows 7 virtualizado), un mejor rendimiento para gráficos 3D y OpenGL, mejora del rendimiento también con BootCamp, …

Original Post / Entrada Original: Carrero.es. Si quieres Juegos Gratis disfruta aquí o decora tu casa.

Más actualizaciones para virtualizar sistemas operativos

Cliente SSH para Mac OS X


JellyfiSSH 4.5.2 470x235 Cliente SSH para Mac OS X

Llevo tiempo buscando un buen cliente o más bien frontend para SSH en Mac OS X, ya que todos sabemos que por defecto tenemos una genial consola Unix en todos los OS X, pero yo personalmente necesito algo como SecureCRT en Windows.

Hasta ahora lo más parecido que he encontrado es JellyfiSSH un gestor de marcadores para conectar a servidores Unix/Linux a través de Telnet, SSH1 o SSH2, siempre haciendo uso del terminal del sistema operativo.

Es una buena solución pero no me permite almacenar la contraseñas de ninguna forma, ni segura ni insegura para evitar tener que buscar las claves de cada servidor cuando necesito acceder. Conocéis alguna alternativa mejor para Mac OS X.

Original Post / Entrada Original: Carrero.es. Si quieres Juegos Gratis disfruta aquí o decora tu casa.

Cliente SSH para Mac OS X

Componente multimedia BuddyPress-Kaltura

kaltura buddypress Componente multimedia BuddyPress Kaltura

Kaltura es un plugin para BuddyPress que se integra de forma sencilla para ofrecer las soluciones de Kaltura para tener una plataforma de vídeo de código abierto. Este componente añade esas funciones que no tiene esta herramienta para crear redes sociales como son la posibilidad de enriquecer con contenidos multimedia como son además de fotos, vídeos y audios. De forma que ahora si podemos construir una red social de verdad y seria.

Entre sus caracteristicas están:

  • Se integra en el menú de multimedia (media) de los usuarios de Buddypress.
  • Los usuarios podrán subir ficheros de vídeos, imágenes y audio fácilmente a sus perfiles. Los datos por defecto se almacenan en los servidores de Kaltura, pero puedes usar tu propio servidor u otras alternativas.
  • Todos los datos subidos a kaltura son visibles por otros usuarios.
  • Los datos se organizan de forma automática como vídeos, imágenes o audios.
  • Los usuarios de Buddypress no necesitan tener una cuenta Kaltura para utilizar lo que aporta este componente.
  • Solo necesitarás un ID de Parnert Kaltura para tu Buddypress (Wordpess MU). Y todos los datos de tus usuarios se almacenarán en tu cuenta propia de administrador en Kaltura.
  • Si optas por una base de datos local, todos los datos estarán separados por usuarios.
  • Tiene soporte para widget para añadir imágnees y vídeos desde Buddypress 1.1.x.

Para hacer funcionar este componente solo necesitas tener WordPress MU 2.84a y/o BuddyPress 1.0.x o BuddyPres 1.1.x.

Más información: Descargar Kaltura. Documentación en PDF. Demo online de Kaltura.
vía: WpVeda

Original Post / Entrada Original: Carrero.es. Si quieres Juegos Gratis disfruta aquí o decora tu casa.

Componente multimedia BuddyPress-Kaltura

Sin tiempo para escribir.34

Después de un duro día de trabajo y muchas reuniones, aquí os dejo una selección de referencias que merecen la pena.

Sin tiempo para escribir.34

  • Pequeños trucos de seguridad para tu instalación de Wordpress. En inglés. vía: WPEngineer
  • El CEO de Nvidia aparece con un tablet y muestra su prelidección por los productos Apple. vía: Appleismo
  • Fotoxx 8.6.2, edición avanzada de imágenes en Linux. vía: visualbeta
  • WordPress Multi Lenguaje: 5 plugins para crear un sitio web multilingüe. En inglés. vía: WebDesignBooth
  • Core Control, un plugin para controlar. vía: todowordpress
  • Sólo el CTR no puede servir para medir la publicidad display. vía: error500
  • La Revista de navidad imparable en especial los villancicos en español y belenes.

Original Post / Entrada Original: Carrero.es. Si quieres Juegos Gratis disfruta aquí o decora tu casa.

Sin tiempo para escribir.34

Actualizando a PHP 5.2.11

El pasado 17 de septiembre se liberó PHP 5.2.11 una versión que soluciona unos 75 errores y algunos problemas de seguridad. Todo dentro de la serie 5.2, ya que actualizar a PHP 5.3 es más complicado porque supone la posibilidad de tener que revisar código PHP para su correcto funcionamiento, aunque son mínimos los cambios.

Entre las correcciones de seguridad y errores solucionados en PHP 5.2.11 podemos cirtar:

  • Corregido la validación certificada en php_openssl_apply_verification_policy. (Ryan Sleevi, Ilia)
  • Corregido la comprobación para el indice de color en imagecolortransparent(). (Pierre)
  • Corregido el bug #44683 (popen crashes when an invalid mode is passed). (Pierre)

Puedes ver más información sobre PHP 5.2.11 en el anuncio de versión, y la lista completa de cambios disponibles en el ChangeLog.

Yo acabo de actualizar dos servidores en Plesk 9.2 y CentOS 5.3 a 64 bits sin problemas, están funcionando correctamente las aplicaciones PHP propias y también algunas conocidas como OpenX, WordPress, …

Original Post / Entrada Original: Carrero.es. Si quieres Juegos Gratis disfruta aquí o decora tu casa.

Actualizando a PHP 5.2.11