Archivo

Archive for the ‘WordPress’ Category

Probando Blackbird Pie en WordPress

noviembre 5, 2010 Deja un comentario

En TechCrunch comentaron hoy la aparición de un plugin para WordPress que permite añadir tweets dentro de los post, con tan sólo copiar el URL o el id del tweet en lugar de hacer un screenshot y luego pegar el gráfico. El plugin llamado Twitter Blackbird Pie, tiene la ventaja de que los links dentro del tweet son funcionales y eso muchas veces es importante.

He probado el plugin y puedo recomendalo funciona muy bien, por ejemplo aquí he incluído un tweet mío para que vean el resultado de usarlo:

[blackbirdpie id=29661531628]

¿Cómo funciona?, muy sencillo sólo es necesario indicar entre brackets que deseamos usar blackbirdpie y señalar el id del tweet que deseamos publicar. Para el ejemplo anterior deberiamos tipear esto:

 how to use blackbird

Categorías:Internet, Web 2.0, WordPress

Malas prácticas de programación

enero 13, 2010 Deja un comentario

Luego de haber sufrido infinidad de ataques a muchos de los blogs que hosteo, hace ya buen tiempo decidí cortar por lo sano, simplemente instalé Suhosin, en mis servers y deje que todo tipo de actividad extraña fuera bloqueada (Ojo, esto es sólo a nivel PHP, eso no quiere decir que no intalen firewalls, IDS u otras medidas adicionales de seguridad en sus servidores). Hasta el día de hoy creía no tener efectos secundarios. Sin embargo, debido a que éste blog usa un viejo plugin para el módulo de "Contactame", descubrí que luego de la última actualización dicho plugin no estaba funcionando.

Al principio creí que era debido a la última migración/actualización que hice de mi server. Si mi memoria no me falla este es el septimo server que hospeda mi blog. Luego de recibir el reporte de @cnieto de que el formulario tenía problemas, hice lo que siempre hago asegurarme de que el exim4 este seteado para hacer relays a dominios externos. Luego de ello pense que el problema se había solucionado, sin embargo para mi sorpresa en un test que hice luego de haber reconfigurado el exim, me di cuenta de que aún no funcionaba.

Luego de leer los logs, encontré este misterioso mensaje:

"ALERT – configured request variable name length limit exceeded – dropped variable"

Con detalles de la IP desde donde me estaba conectando y un increíblemente largo nombre de variable de 204 caracteres de largo. Seamos honestos a que mente retorcida se le puede ocurrir darle 204 caracteres de longitud al nombre de una variable. Al parecer el plugin que estoy usando lo hace, razón por lo cual tuve que editar el archivo "/etc/php5/conf.d/suhosin.ini" y cambiar los valores por defecto de estas dos variables:

;suhosin.post.max_name_length = 64
;suhosin.request.max_varname_length = 64

Por los siguientes:

suhosin.post.max_name_length = 254
suhosin.request.max_varname_length = 254

Luego de reiniciar el Apache, el formulario de "Contactame" ya estaba nuevamente operando como lo hacía en el anterior server. Creo que en Lenny el módulo Suhosin se ha vuelto más paranoico o sencillamente tampoco estaba funcionando en el anterior server que era Lenny también pero estaba en RackspaceCloud, si los chicos del "Fanatical Support", que terminaron desiluncionandome, razón por la cual  volví a hostear nuevamente el servidor virtual de mi blog en el server físico que tengo colocado en el data center de la compañía donde trabajo. Como sea el problema no estaba en el seteo del sistema que estaba racionalmente configurado, sino en las malas prácticas de programación que al parecer algunos desarrolladores de pequeños proyectos Open Source suelen tener. Es por eso que la gran mayoría de proyectos Open Source nunca crecen.

Bueno ya pude desahogar mi enojo, para eso también sirve el blog. Desde ahora ya esta activa nuevamente la página de "Contactame".

Categorías:OpenSource, WordPress

Los blogs sirven para muchas cosas, pero hacer dinero no es una de ellas.

junio 19, 2009 Deja un comentario

El día de ayer Dan Lyons, el falso Steve Jobs del blog "The Secret Diary of Steve Jobs" envio un post que más asemejaba un tweet "Me siento extaño ¿Estoy en el cielo?". Ayer también leí en TechCrunch que Blogger, en este agosto próximo cumplirá 10 años, sigue siendo el líder en lo que a plataformas blogs se refiere, aunque Twitter surge amenazante ya habiendo desplazado a los blogs de Six Apart del tercer lugar y aproximandose peligrosamente al segundo puesto WordPress.com, según estadísticas recolectadas por comScore.

Y me vino a la memoria un artículo aparecido en Newsweek a principios de este año, escrito por Lyons titulado "Es tiempo de colgar las pijamas", cuyo subtítulo sintetizaba su experiencia tras haber sido blogger a tiempo completo por dos años, "He aprendido de la forma más difícil que mientras los blogs pueden servir para muchas cosas maravillosas, hacer mucho dinero no es una de ellas". Por experiencia propia como blogger ocacional desde el 2005 y más disciplinadamente desde el 2007, doy fé que lo que no te dará un blog será dinero. Es más en junio del año pasado, en el post titulado "Interesante, pero aburrido" hice una declaración tal vez egoísta con mis lectores pero no por eso falsa, "yo no blogueo por popularidad o dinero, yo blogueo porque quiero, es mi hobby".

Ciertamente aquellos que son bloggers por dinero están abandonando la blogosfera, según Technorati en su informe sobre la blogosfera del 2008, sólo el 5.56% de los blogs que contabiliza se actualizan con una frecuencia menor a los 4 meses. Pero si esas estadísticas son desalentadoras, también lo son las de Twitter que comenté en este mismo blog bajo el título "El espejismo de la web 2.0". Lo cierto es que la mayoría de personas lo que buscan es una forma fácil de hacer dinero, es por eso que funcionan las estáfas tipo pirámide, sino echen una mirada a este "Kit de hacer dinero en Twitter" de TwitterProfitHouse.com, que ofrece ingresos de hasta más de $850 diarios. Lo cuál no deja de ser interesante, ya que los creadores de Twitter hasta ahora no saben como hacer dinero con él.

La misma fiebre del oro ocurrió con la blogosfera a finales del 2006 y principios del 2007, todos corrian a crear sus blogs tratando de llegar a ser ricos o bloguear en el intento (Get rich or blog trying). La gran mayoría simplemente abandonaron sus blogs, los periodístas o comunicadores profesionales que tuvieron cierta aceptación del público, tuvieron que volver a los medios tradicionales para poder recibir un ingreso que les permita vivir, y es que tratar de vivir de los anuncios no es fácil como fue probado por el equipo de NewJerseyNewsroom.com. Y es que según las estadísticas que se manejan, los pocos "blogs" que generan buenos ingresos están formados por equipos de periodistas profesionales, es decir son en realidad periódicos o revistas que publican en la web en lugar de en papel.

Algo que he descubierto experimentando con blogs es que aquellos que tocan temas de humanidades suelen tener mucho más tráfico y desarrollan una audiencia mucho más leal y participativa. Lo cuál no debe de sorprender a nadie, sencillamente las personas odian la ciencia y las matemáticas, algo por lo cual estoy agradecido, de no ser así tendría demasiada competencia al momento de buscar trabajo. Así que si quiere bloguear y que lo lean, hagalo sobre temas relacionados a humanidades y si quiere hacer un blog "informático", en realidad toque temas meramente informativos y generales, si toca algún tema en profundidad no lo leeran.

Por otra lado, una forma de hacer dinero con una web es ciertamente tener tráfico y poner publicidad en ella, eso no es un misterio. Pero hacerlo generando contenido suele ser tedioso, costoso y de pocas recompensas. La mejor forma es hacer dinero es con el trabajo de otros, como lo hemos venido haciendo los seres humanos por milenios, un ejemplo de esto es Google. Google no genera contenido propio, ordena el contenido generado por otros. Blogger, MySpace, Facebook, Twitter, etc., ninguno de esos sites genera contenido por sí mismo, son servicios que millones usan y generan contenido queriendo hacer dinero en el intento.

Siguiendo el ejemplo de los que tienen éxito inicié un proyecto llamado flv2amv.com, que es una herramienta web que convierte videos de YouTube al formato AMV, muy utilizado en los clones de iPod chinos llamados ChiPod. Los resultados han sido más que sorprendentes, sin producir contenido propio, este website que no es más que un mashup del API de YouTube con algunos scripts de shell que corren la herramienta de conversión de formatos en el servidor, tiene unas métricas web envidiables. En primer lugar promedia 100 visitas únicas diarias, tras estar en la web hace sólo 5 meses, con una media de 8 impresiones por visitante, un tiempo promedio en el site de 15 minutos y una lealtad del 50% (es decir de cada 2 visitantes, uno vuelve al menos una vez más al mes) y un porcentaje de rebote de menos del 20%, todo esto según Google Analytics. Por otro lado este blog al cual le dedico varias horas a la semana para producir contenido, apenas exhibe un pobre 1.4 páginas vistas por visitante y el tiempo promedio en el site es apenas superior a un minuto.

Debo admitir sin embargo que tal vez una de las razones por las cuales este blog no es popular, se debe en parte a que no soy una persona muy popular, no se como serlo y tampoco aspiro a serlo. Tal vez una persona más social pueda hacer que su blog sea muy visitado y con ello obtener ingresos por el contenido que produce, esto no creo que ocurra con este blog, eso no significa que lo cerraré, por el contrario planeo conservarlo mientras tenga vida. Pero ya se que debo invertir más de mi tiempo en hacer "herramientas" y no "contenido". Como dice el viejo refran "zapatero a tus zapatos".

Empresario a los 13 años

enero 6, 2009 2 comentarios

Scott CampbellEn un artículo aparecido en TechCrunch del Reino Unido, se cuenta la historia de Scott Campbell, un adolescente escoces de 13 años de edad que ha iniciado una StartUp llamada ScotBlog, que consiste en una red social basada en el conocido programa de blogging WordPress, con un añadido de redes sociales, en dicho website un usuario puede crear un perfil, unirse a un grupo o crear uno nuevo, enviar mensajes privados y agregar amigos a su blog. De acuerdo a Scott tienen usuarios en Glasgow, South Carolina e incluso California. El autor del post Mike Butcher, llamó a la madre del joven Susan Campbell, quien confirmó la veracidad de la historia de Scott, quien por cuenta propia envio las notas de prensa y agregó su recien formada empresa a la base de datos de empresas tecnológicas CrunchBase.

Si un adolescente de 13 años puede iniciar una empresa web 2.0, debemos admitir que las barreras para iniciar una son bien bajas. Por ejemplo la empresa que hostea el website es Servage Hosting, una empresa alemana que ofrece hosting desde $6.45 al mes por 510 GB de almacenamiento y 5010 GB de tráfico. Aunque Scott no tiene un modelo de negocio definido para su empresa, más alla del clásico modelo de anuncios y es su madre quien financia su empresa en este estado inicial, hay que admitir que este adolescente tiene una iniciativa admirable.

Aunque este no es un caso único de empresario web juvenil, ya hace más de un año comenté el casos de Ashley Qualls, quien a los 17 años dirigía una empresa web llamada WhateverLife.com, que basa su operación en distribuir templates para la red social MySpace y obtiene sus ingresos de la publicidad contextual del website. En la empresa creada por Ashley ahora trabaja toda su familia.

Si Ud. esta en el otro lado del espectro, es decir se encuentra por encima de los 60 años y cree que ya todo terminó para Ud., le recomiendo que lea un post aunque es cierto antiguo, no por ello menos inspirador "No hay edad para el éxito", donde se describen empresas web iniciadas por personas ya retiradas o que estaban a punto de retirarce y que se transformaron en una fuente de ingreso adicional para estas personas.

Así que ahora no tiene ningun pretexto para seguir su sueño y convertirce en un empresario web, ya que ni la edad, ni los recursos económicos son una barrera para nadie en la web, sólo se necesita espíritu emprendedor y muchas ganas de hacer que las ideas funcionen.

Categorías:Internet, Web 2.0, WordPress

Hacking en masa a WordPress, ¿Está tu blog en peligro?

junio 12, 2008 1 comentario

En un post aparecido en TechCrunch, escrito por Nik Cubrilovic, se comenta sobre las últimas vulnerabilidades de WordPress, y cómo la popularidad de éste software le ha valido el acedio de cientos de crackers que buscan tomar el control de los blogs que usan WordPress, para lanzar ataques sobre otros o simplemente ser usados como plataforma para lanzar camapañas de spam o phising. Es más ahora se habla de campañas de hacking en masa a blogs que tienen a WordPress como su gestor de contenidos.

Aunque en éste blog he escrito repetidas veces sobre como mejorar la seguridad en WordPress, al parecer post como "Asegurando tu blog" o "Nueva vulnerabilidad en WordPress 2.3.3", no sirvieron de mucho porque igual he detectado que muchos de los blogs que hosteo en mi servidor fueron hackeados, esa fue una de las razones por las que moví mi blog a un server virtual diferente y puse todos los websites que hosteo en otros dos servers virtuales uno con control panel y otro sin control panel.

El mayor de los problemas con los hacking exitosos es que no dejan una huella visible que le permita al dueño del blog darce cuenta del problema, ya que muchas veces las técnicas usadas esconden el código maligno encriptandolo, si desean saber las técnicas más comunes de esconder código en WordPress y una descripción básica de como se producen los ataques recomiendo la lectura del artículo "¿Tú WordPress esta hackeado?", lamentablemente sólo disponible en inglés actualmente, si tengo tiempo (lo cuál sería un milagro), es uno de los artículos que deseo traducir para incluirlos en mi lista de tutoriales y howtos.

El problema con WordPress parece que no sólo es su falta de un mecanismo de actualización automática, como se sugirió en alguno de los comentarios en el post de TechCrunch, porque es posible usar el sistema de distribución automática de parches para infectar como se describe en éste artículo de SuccessForce, donde se hace referencia y se comenta un paper (monografía) escrito por investigadores de las Universidad de Carnegie Mellon, Pittsburgh y UC Berkeley titulado "Posibilidad de generar exploits para sistemas parchados automáticamente: Técnicas e Imprementaciones".

Aunque hay técnicas que permiten proteger el servidor como las descritas por mí en el post "PHP Suhosin excelente patch de seguridad para servidores compartidos", me dí cuenta que cuando se lo aplicaba los servidores que hosteaba los websites que no son míos, éste afectaba el comportamiento de algunas páginas, razón por la cuál tuve que removerlo de dichos servidores y sólo dejarlo activo en el servidor que tiene mis blogs. Y aunque hay productos comerciales que ofrecen soluciones firewall para aplicaciones PHP como "firewallscript", su precio y su dudosa eficacia, al menos para mi, no aportan una solución real al problema de hostear WordPress en servidores compartidos.

A la fecha no hay mejor solución a los problemas de seguridad de WordPress, que tenerlo siempre actualizado a la última versión disponible, lo cuál no es práctico para muchas personas que por alguna razón u otra están atados a una versión particular de WordPress, o aquellos para los que conseguir hacer funcionar su WordPress, fue el equivalente a poner un hombre en la luna.

Finalmente, y no por último menos importante, es que los blogs hackeados no siempre son de personas completamente neófitas o que carecen de formación en TI porque algunos de los blogs que he visto hackeados son de presionales en TI, incluso en el artículo de Cubrilovic, el mismo describe como hackearon uno de sus blogs dos veces, a pesar de que lo había actualizado. Además cuando el hacking es exitoso y consiguen instalar el back door, los atacantes suelen esconder muy bien sus troyanos y se necesita mucho tiempo para detectarlos, eso lo puedo decir por experiencia, pues lo he vivido con un par de blogs de clientes que hostean en mi server.

Al final creo que esta es una razón más para no desalentarme y completar la migracrión de éste blog a Blogger, como lo propuse en un post anterior. Aunque tampoco descarto una solución híbrida de tener los post  y comentarios en Blogger, pero el renderizado de las páginas aún realizado por uno o varios servidor propios.

Categorías:OpenSource, Web 2.0, WordPress

Optimizando WordPress

Aunque estoy contento con WordPress, me facilita tremendamente la edición de los posts y sus incontables plugins cubren todas las necesidades que podría tener, sin embargo me había dado cuenta que el renderizado de la página era lento, pues una de las características de WordPress es que todas las páginas se crean bajo demanda, ésto es bueno porque el contenido es dinámico pero por otro lado plantea una sobre carga para el servidor, anteriormente pensaba que como mi blog estaba en un servidor que compartía con otros dominios, esa podría ser la razón de la lentitud, pero desde que lo coloque en un server independiente me dí cuenta de que la lentitud no era por la carga sino por la forma como WordPress está diseñado.

Una de las alternativas para solucionar este problema es usar wp-cache, un plugin que efectúa el cacheo de las páginas para no tener que renderizarlas cada vez que el usuario las solicita; pero dado su naturaleza este plugin siempre está muy sujeto a ataques, es por ello que no me animaba a instalarlo. Pero buscando en diversas fuentes encontre otras alternativas que sumadas pueden dar sorprendentes resultados, al menos en mi caso he visto un notable aumento en la velocidad de renderizado de las páginas. Así que aquí un resumen de lo que he hecho.

Este howto que he preparado esta basado en Debian 4 (Etch), y sobre un servidor que tenga al menos 1 GB de memoria RAM, la velocidad del CPU no es tan crítica para nuestro caso como tener suficiente RAM. Con esa configuración su blog en WordPress fácilmente podría lidiar con un millon de visitas diarias.

Primero hay que instalar el módulo php5-memcache y activar el cacheo en memoria en el WordPress en sí mismo. Para instalar php5-memcache utilizamos estos comando como usuario "root":

# apt-get install php5-memcache
# /etc/init.d/apache2 force-reload

Y luego editamos el archivo wp-config.php donde agregaremos la línea:

define(ENABLE_CACHE, true);

Lo anterior habilitará el cacheo de queries por parte del WordPress con lo que la carga sobre el MySQL disminuirá, pero ahora hagamos una optimización más aumentemos la memoria del cache en el mismo MySQL y cambiemos su modo de operar para que no sólo guarde la versión compilada de las queries sino tambien la versión sin compilar, con lo cuál aceleraremos aún más el desempeño, para debemos de editar el archivo /etc/mysql/my.cnf agregando/editando las siguientes líneas:

#
# * Query Cache Configuration
#
query_cache_type        = 1
query_cache_limit       = 2M
query_cache_size        = 32M

Ahora debemos de reiniciar el mysql para que los cambios tomen efecto, para ello usaremos el siguiente comando como usuario "root":

# /etc/init.d/mysql restart

Como PHP debe de interpretarse cada vez que se desea ejecutar un script, si guardamos una copia de los script ya interpretada (bytecode), la ejecución de las instrucciones sera directa y nos ahorraremos en cada rederización de página el tiempo de interpretar todo el script, lo cuál haremos usando eAccelerator. Para instalar eAccelerator debemos de seguir las siguientes instrucciones como usuario "root":

# apt-get install build-essential php5-dev
# cd /tmp
# wget http://bart.eaccelerator.net/source/0.9.5.2/eaccelerator-0.9.5.2.tar.bz2
# tar xvfj eaccelerator-0.9.5.2.tar.bz2
# cd eaccelerator-0.9.5.2
# phpize
# ./configure
# make
# make install

Si llegamos hasta el final sin obtener ningun error en la compilación podremos continuar, caso contrario revisen éste howto que da más detalles sobre el proceso Integrating eAccelerator Into PHP5 (Debian Etch).

Ahora debemos de crear el archivo /etc/php5/conf.d/eaccelerator.ini y poner estas líneas dentro de él:

extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

Si copiaron exactamente los mismos valores debemos de crear el directorio /var/cache/eaccelerator y asignarle el usuario del apache como propietario, si uso otro valor aplicar los cambios correspondientes. Entonces procedemos como "root" con los siguientes comandos:

# mkdir -p /var/cache/eaccelerator
# chown www-data:www-data /var/cache/eaccelerator

Ahora para que los cambios tengan efecto y comenzar a utilizar eAccelerator, debemos reiniciar el Apache con éste comando:

# /etc/init.d/apache2 restart

Ahora optimizaremos un poco Apache2, para ello debemos de editar el archivo /etc/apache2/apache2.conf y cambiar/agregar éstas líneas:

<IfModule mpm_prefork_module>
    StartServers          8
    MinSpareServers       5
    MaxSpareServers      20
    ServerLimit         512
    MaxClients          512
    MaxRequestsPerChild 4000
</IfModule>

Para que los cambios tengan efecto debemos de nuevamente reiniciar nuestro Apache con el comando:

# /etc/init.d/apache2 restart

Como toque final debemos de desinstalar todo módulo de PHP que no estemos usando, revise con el comando éste comando qué módulos de PHP tiene instalado:

# dpkg -l | grep php5

Desinstale todo aquello que no éste usando. Luego de que haya terminado de desinstalar los módulos de PHP5 que no éste usando reinicie nuevamente el Apache.

Con los pasos anteriores verá como su WordPress muestra las páginas tan rápido como cualquier otro CMS.

Categorías:WordPress

Actualizando a WordPress 2.5

marzo 30, 2008 Deja un comentario

Desde ayer, ha sido la noticia más comentada en la blogosfera, el lanzamiento del WordPress 2.5, así que decidí probar el mismo en un blog (www.puntocix.com), que recien estoy comenzando a dar forma, el miercoles pasado había instalado la version 2.3.3, y apenas tenía un par de artículos en el. Así que si en el peor de los casos el upgrade no funcionaba no había mucho que perder, además aún ese blog no tiene visitantes, así que tampoco sería un problema detenerlo para poder hacer la actualización.

Bueno, el upgrade fue bastante sencillo, todos los themes y plugin fueron reconocidos inmediatamente. Pero los menus del panel de control estan reorganizados. Los que trabajan con el WordPress en español, pueden descargar el archivo del idioma español desde aquí: WordPress 2.5 en Español.

Creo que tendre que acostumbrarme a la nueva distribución de menus, pero no pienso actualizar mis otros blog hasta dentro de un mes, más o menos. Mejor espero la versión 2.5.1, de hecho todo upgrade mayor siempre introduce problemas e inestabilidades, y no deseo tomar riesgos innecesarios en mis otros blogs.

Felicitaciones al equipo de desarrollo de WordPress, por haber hecho éste gran trabajo, el procedimiento de upgrade es bastante sencillo y la compatibilidad con themes y plugins existentes es excelente, ahora ha experimentar con el WordPress 2.5 en mi nuevo blog y ya les contare si es que encuentro algún problema.

Categorías:WordPress