PHP 5.3.8 en Etch con Plesk 8.2

Tú ya sabes de seguro que WordPress desde su version 3.2 rompió completamente con las versiones de PHP menores a 5.2.4, y esto a aquellos que tienen compañías de hosting ha traído algunos retos especialmente dado a que algunos software propietarios de control panels para hosting, caso específico de Plesk tienen un sistema de licencias ilimitado que está amarrado a la versión. Cuando pagas miles de dólares por un software no esperas estar pagando otra vez miles de dólares cada 2 años, así que la infraestructura usualmente se mantiene bastante tiempo y este tipo de cambios disruptivos de la compatibilidad con versiones anteriores suele ser un problema para los sysadmin. En este post les contaré como enfrenté y resolví el problema en caso les sirva a otros que estén en igual situación.

Sigue leyendo

Ingenio americano

Tú probablemente hayas escuchado la frase anteriormente. Esta hace referencia a la gran inventiva exhibida por los Estados Unidos de América desde mediados del siglo XIX hasta nuestros días. Inventos que crearon verdaderas revoluciones tecnológicas como el telégrafo, el teléfono, el avión, la producción en serie y un largo etcétera que transformaron completamente a las sociedades occidentales. En nuestros días este "ingenio americano", está representado por Microsoft, Apple, Yahoo, Google, Facebook o Twitter, todas compañías de software que es la última frontera en lo que a innovación se refiere. Igualmente hay voces que anuncian el final de esa era y profetizan el advenimiento de un nuevo polo de innovación desde donde saldrán las nuevas tecnologías que redefiniran el siglo XXI, algunos están señalando a China o los países de la región Asia-Pacífico como el siguiente motor del desarrollo, pero si el futuro está atado al software probablemente sea otra la región del mundo a la que debamos mirar con más atención.

Sigue leyendo

De LAMP a LEMP

Ud. probablemente ya sabe lo que es LAMP (Linux Apache MySQL PHP) el stack sobre el que corren los más populares CMS Open Source como Drupal, Joomla o WordPress, pero probablemente aún no haya escuchado de LEMP (Linux Nginx MySQL PHP), ya que incluso en Wikipedia el término aún no está definido. La diferencia es pues el servidor web. La idea detras de LEMP es muy simple reemplazar el muy flexible y casi omnipresente servidor Apache por el más liviano y ágil Nginx. Si esa fuera la única diferencia, pues no valdría la pena el cambio. Pero que pensaría si le dijera que hacer ese cambio puede transformar radicalmente la performance de su página web y permitir que por ejemplo con un pequeño VPS se pueda atender decenas de miles de visitas diarias. Pues bien en este post les contaré la historia destras de la migración de LAMP a LEMP y como este blog pudo reducir increíblemente su tiempo de carga.

Sigue leyendo

PHP Fog ofrece 100 MB gratis para hostear tu aplicación en la nube

El día de ayer fue lanzado oficialmente a todo el público PHP Fog un PaaS (Platform as a Service) que ofrece la posibilidad de correr aplicaciones PHP en la nube, es un servicio similar Heroku que ofrece correr aplicaciones Ruby en la nube. Uno de los atractivos de PHP Fog es que permite comenzar gratuitamente, ofreciendo 100 MB de espacio de hosting, 20 MB de espacio para la DB y 15GB de tráfico, que para cualquier aplicación pequeña es más que suficiente, todo esto por un período de prueba de 6 meses. Hay servicios pagos en caso de que se desee escalar la aplicación desde $29/mensuales hasta $249/mensuales, más detalles en la sección de precios de PHP Fog.

Uno de los atractivos de PHP Fog es que permite correr populares aplicaciones PHP como WordPress, Drupal, Joomla o SugarCRM, así como también se puede elegir entre diversos framworks si deseamos construit algo por nuestra cuenta, estos por ahora son CakePHP, Shopify API, Zend Framwork y CodeIgniter, finalmente si deseamos sólo hostear código PHP existe la opción Custom App.

Actualmente el servicio cuenta con alrededor de  20,000 usuarios y parece bastante rápido al menos a nivel de control panel. He intentado crear una app con dominio propio y ellos requieren delegar los DNS a sus servidores DNS: ns1.phpfog.com, ns2.phpfog.com, ns3.phpfog.com; Sin embargo me he dado cuenta de que incluso luego de que el control panel dice que la aplicación esta activada, debido a que sus DNS no se refrescan frecuentemente no se puede acceder a la aplicación durante las primeras 2 horas.

La forma como se publican las aplicaciones es a través de la herramienta de control de versiones git, es decir se desarrolla localmente en su PC, luego usted "publica" sus cambios en el repositorio, esta aproximación es muy buena ya que permite a más de un desarrollador trabajar en una misma aplicación sin dañar el trabajo de otro. Para los que deseen un breve tutorial con un resumen de los comandos básicos para usar este software de control de versiones pueden visitar la documentación oficial en kernel.org.

UPDATE: PHPFog ha mejorado la forma de redireccionar dominios propios y lo ha documentado muy bien aquí. He levantado una aplicación de prueba que usa el dominio phpfog.cix.pe.

Vork un framework PHP de alta perfomance

Luego de instalar Diaspora y dedicarle un buen tiempo a analizar sus características y como había sido programado, una de las cosas que no me gustó es que estuviera desarrollado en Ruby On Rails, no me tomen a mal, RoR puede ser genial y permitir un desarrollo rápido pero Ruby no es uno de los lenguajes más populares acutalmente y hay que recordar que uno de los principales problemas de la escalabilidad de Twitter puede tener su explicación en el uso de RoR.

Por otro lado una de las características que me parecieron interesantes del proyecto fue que utilizara MongoDB, un sistema de base de datos noSQL que tiene muchas de las características que los sistemas RDBMS. Como sabrán los que siguen este blog regularmente el framework PHP que yo creo más características ofrece y que trato de promover es CodeIgniter, tanto por su sencillez y rapidez. Por lo tanto me puse a buscar una librería que añadiera el manejo de MongoDB a este framework y la encontré en un proyecto hospedado en bitbucket llamado CodeIgniter Mongo Library. Aún es un trabajo en desarrollo y su autor Alex Biblie reconoce que aún hay varias cosas que mejorar.

Hasta aquí me parecía todo claro, usar CodeIgniter con esta librería para proveer una alternativa en Diaspora en PHP, pero hay un detalle necesario en el proceso de desarrollo que es la posibilidad de administrar, es decir crear/modificar/borrar tablas y registros de la base de datos de forma sencilla, buscaba algo parecido al PHPMyAdmin, es así como encontré PHPMoAdmin.

PHPMoAdmin, permite administrar una base de datos MongoDB de forma tan sencilla lo interesante de este proyecto es que dice que esta basado en un framwork PHP de alta-perfomance llamado Vork, nunca lo había escuchado y despertó mi curiosidad averiguar que tenía para ofrecer este framework PHP.

Lo primero que descubrí de Vork es que es un framwork que sigue la filosofía VMC, que está basado en PHP 5.0 o superiores, que soporta en su versión más basica como base de datos a MySQL, MongoDB y Amazon RDS, aunque puede trabajar añadiendo las librerias apropiadas con cualquier DB. Permite además importar módulos de otros framworks PHP como CodeIgniter, CakePHP o Zend. Además de entre sus muchas extensiones disponibles estan las que permiten integración con Google Maps, Charts, Analytics, Sitemap, Checkout y Translation, algo que es muy difícil de encontrar en los frameworks PHP.

Leer estas características fabulosas me animaron a probarlo y debo decir que estoy gratamente sorprendido, es rápido como afirman en su documentación y además es tan sencillo de usar como CodeIgniter, es más podríamos decir que es un CodeIgniter mejorado. Aclaro que no lo he podido usar extensamente pero por lo pronto puedo decir que estoy gratamente sorprendido por este framework y planeo usarlo en mis futuros proyectos, ya les daré más detalles conforme vaya familiarizandome con el mismo.