Apache Perl CGI en Mac OS X

Desde hace algún tiempo desarrollé cierta curiosidad por aprender Perl, me parece un lenguaje fenomenal, con posibilidades inmensas, además muy divertido.
Hoy quiero presentar el como iniciar desarrollos Perl en Mac OS X aprovechando claro el apache2 instalado en el sistema. Lo primero será hacer andar Apache, si se trata de una versión previa a OS X 10.7.x vale este how to, sino, solo tendrás que crear un archivo para tu usuario en: /etc/apache2/users/TU_USUARIO.conf con el siguiente contenido básico: Continuar leyendo «Apache Perl CGI en Mac OS X»

WordPress

En apariencia se trata de un gestor de contenidos simple, con apenas funcionalidades para contar con un WebLog o simplemente blog (así no se me notan los años), sin embargo al mirar más profundamente se evidencia todo su potencial.
Su principal ventaja frente a cualquier otro gestor de contenidos libre radica en su extensa documentación que cubre desde aspectos relacionados con su filosofía, administración y desarrollo, así que puedes entender su funcionamiento, utilizarlo con toda la ayuda posible y extender la herramienta hasta donde lo necesites, siempre tendrás apoyo en su documentación, eso explica porqué resulta tan simple utilizar wordpress para desarrollar no solo blogs sino páginas Web genéricas.
Por defecto WordPress incluye 2 tipos de contenidos, los llamados entradas o contenido de blog que serán presentados cronológicamente (además de poder clasificarse por categorías y etiquetas) y las páginas que se presentarán como contenidos estáticos y aislados útiles para presentar páginas como «Quienes Somos», «Políticas», «Servicios», etc..
En sus últimas versiones WordPress incluye la posibilidad de crear tus propios tipos de clasificación, pudiendo agregar un nuevo tipo de página con su propio «taxonomy», superando así la limitación de clasificación de wordpress (categorías y etiquetas).
De esta forma se puede por ejemplo crear un catalogo de productos creando nuestra propia clasificación.
Aquí cabe decir que WordPress no da para todo, sin embargo cualquier nueva funcionalidad puede desarrollarse, ya dependerá de los recursos disponibles para el desarrollo del proyecto y si existe una herramienta que provea la funcionalidad que necesitamos, recuerda que la ventaja de utilizar un CMS es la disminución del tiempo de implementar el proyecto.

MySQL Community Server en Mac OS X Lion

Instalar MySQL en MAC es una tarea realmente simple, me habían hablado de MAMP, pero siempre consideré a los asistentes de instalación de Apache+PHP+MySQL como basura innecesaria, así que lo haremos de la forma simple.
Resulta que aparentemente los chicos de Apple no apostaron por MySQL como gestor de bases de datos (supongo que por su licencia GPL o por sus desacuerdos con Oracle, ni idea), pero si lo hicieron por PostgreSQL, así que si tu herramienta o lo que planeas puede funcionar en PostgreSQL, no instales MySQL, sino, pues manos a la obra.
Lo primero es descargar MySQL desde la Web de Oracle (bueno, bueno, desde la Web de MySQL), elige el DMG para 64Bits, la idea es hacer las cosas simples, sino, puedes bien elegir el tar.gz y seguir las instrucciones del readme.
Una vez descargado el archivo tendrás esta ventana:
MYSQL
Inicia la instalación con el archivo mysql-5.5.25a-osx10.6-x86_64.pkg que contiene el servidor, continua con MySQLStartupItem.pkg que instalará los archivos para iniciar y parar el demonio de mysql de forma simple, por último MySQL.prefPane que dejará agregará la opción de inicio o parada de mysql a las preferencias de sistema. MySQL en preferencias de sistema Luego click y activar MySQL.
Ahora setea una clave:
Aquí no existen muchas diferencias con respecto al como hacerlo en los Unix convencionales (Linux, OpenSolaris, BSD, etc.):
Agrega el path de mysql a tu archivo .bash_profile (debes agregar la línea: "export PATH="/usr/local/mysql/bin:$PATH"), cierra el terminal (⌘+q).
Ahora abre nuevamente el terminal y ejecuta:
mysqladmin -u root password TuCLAV€SEC®eTå
(obviamente TuCLAV€SEC®eTå es la clave que vas a setear en el sistema).
Hasta aquí todo listo.
Por defecto el socket de MySQL en MAC se escribe en /tmp/mysql.sock, así que tendrás que cambiarlo en tu archivo php.ini, en las líneas:
pdo_mysql.default_socket=/var/mysql/mysql.sock y
mysql.default_socket = /var/mysql/mysql.sock
Reiniciar apache ( sudo apachectl restart ) y ya puedes empezar.

Habilitando Apache, PHP y php Xdebug en Mac OS X Lion

Mac OS X no es otra cosa que un Unix y como tal la administración de servicios es bastante simple, además tiene incluido un servidor apache2 en su instalación por defecto, también tiene incluido php como parte de la instalación, en definitiva no queda mucho trabajo por delante, es incluso más simple que hacerlo en un distro Linux de toda la vida.
Puede habilitarse apache, a través de las preferencias del sistema, seleccionando compartir, luego click en compartir, luego seleccionar compartir Web.
Preferencias de Sistema Mac Lion Preferencias de Sistema - Compartir Mac Lion
Hasta aquí bastante simple y no se necesita tocar nada a mano, ahora vamos a necesitar de la consola, vas al launchpad, utilidades, Terminal.
Habilitar php:
sudo vim /etc/apache2/httpd.conf Ingresas tu clave.
Buscas y editas la línea que contiene:
#LoadModule php5_module libexec/apache2/libphp5.so
retiras la almohadilla «#» quedará así:
LoadModule php5_module libexec/apache2/libphp5.so
y guardas (:x!)
Habilidar Xdebug:
Mac OS X Lion incluye el módulo xdebug, para habilitarlo:
sudo cp /etc/php.ini.default /etc/php.ini Ingresas tu clave.
sudo vim /etc/php.ini buscas y editas la línea que contiene:
#zend_extension="/usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
retiras la almohadilla y quedará:
zend_extension="/usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
ahora guardas y reinicias apache:
sudo apachectl restart Listo.!
Adicional, si planeas utilizar NetBeans y Xdebuger, agrega estas líneas a tu archivo php.ini:
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
y sigue las instrucciones desde NetBeans

Eliminar espacios en nombre de archivo

Hoy necesité manipular varios centenares de imágenes, todas en una misma carpeta con resoluciones diversas desde mil a más de 4mil pixeles, el plan era dejarlas preparadas para subirlas a una galería web todas a 800px, pero no sobrecargar el hosting con la tarea de redimencionarlas, el segundo inconveniente era que todas las imágenes tenían espacios mayúsculas y minúsculas indeterminadamente, algunos en la extensión, otros en el nombre del archivo, en fin, toda una incomodidad.
la solución: ImageMagick, está disponible para Linux (yum o apt-get install) y para Mac desde imagemagick, bien a través macports (port install ImageMagick) o de un binario para descargar.
Nota: los archivos serán reemplazados por completo, si requieres los originales, lo mejor es contar con una copia.
Así que lo hice a través de un pequeño script bash que comparto con ustedes:
ls -1 | awk '//{system(" mv \"" $0"\"" " " "\""tolower($0)"\"" " ")}' && for f in *; do mv "$f" `echo $f | tr ' ' '-'`; done && ls *.jpg | xargs -I {} convert -thumbnail 800 {} {}

WordPress Joomla y Magento según UnWebParaTodos

Recientemente me han preguntado como es que desde @unwebparatodos ( http://www.unwebparatodos.net ) nos hemos decantado por WordPress como plataforma principal de desarrollo, dejando a Joomla! en segundo lugar y sacando del panorama a la plataforma Magento.
La respuesta no es simple, si me piden una respuesta «rápida» (que no podría ser corta) esta es: Continuar leyendo «WordPress Joomla y Magento según UnWebParaTodos»

Perl 5.14 en CentOS

El nuevo año de Perl será el…. ¿2018?, bueno, resultó que el año de Perl 5.10 fue el 2011 y no el 2018, pero el asunto no está tan alejado de la realidad, si tu elección ha sido la de utilizar CentOS por ser una de las distribuciones Linux más estable a la fecha, por su robustez, parches de seguridad, sus raíces en RedHat y un largo etc…. Continuar leyendo «Perl 5.14 en CentOS»

PHP es solo una opción

Anoche leí un artículo que plantea con muchos argumentos que además son válidos cuando los observas desde el punto de vista que muestra el autor que php tiene un mal diseño. A decir verdad es algo que puedes notar cuando empiezas a trabajar seriamente con PHP, que empieza a fallar a su gusto y a hacer cosas que no parecen lógicas inicialmente, luego te acostumbras y entiendes que lo único que sucede es que php tiene otro paradigma. Continuar leyendo «PHP es solo una opción»