Mostrar imágenes en una página web es una de las acciones que más ancho de banda consume en el servidor web, y la optimización de esta carga es uno de los puntos clave para que una web vaya rápido, y se reduzca el tráfico consumido. Es por esta razón por la que el módulo ImageCache es tan imprescindible en una instalación de Drupal que utilice imágenes.

¿Qué es ImageCache y para qué sirve?

ImageCache permite generar imágenes de diferente tamaño y dimensiones a partir de una original. A través de un interfaz gráfico de usuario se pueden programar una serie de modificaciones, llamadas presets, que serán cacheadas y permitirán mostrar una misma imágen de muchas maneras diferentes. Almacena estas versiones en ficheros a modo de caché, por lo que si en algún momento no se encuentra la imagen solicitada, se generará dinámicamente. Es muy útil, por ejemplo, para mostrar una imagen de un tamaño menor en el preview de una noticia y una versión ampliada en la noticia completa sin necesidad de subir varios ficheros. También puede utilizarse, gracias a su interfaz con Views para generar galerías de imágenes con miniaturas, o gracias a otros módulos que extienden la funcionalidad de ImageCache, es posible manejar las imágenes del perfil del usuario, sobreponer texto encima de la imágen, marcas de agua, versiones con colores alterados, etc.

Ayer le tocó el turno a la configuración de la librería GD para PHP en Ubuntu y Windows, y hoy le dedico una entrada a la configuración de un entorno de desarrollo AMP en Drupal (Apache + MySQL + PHP) en Mac OS X, probado para Leopard.

Aviso importante, si tenéis Snow Leopard, esta solución no os servirá porque el paquete entropy para php no es compatible, podéis encontrar una alternativa aquí.

Primer paso, activación del servidor web Apache

Mac OS X lleva un servidor Apache instalado por defecto, solamente es necesario activarlo para poder trabajar con él. En el caso de Leopard, la versión de apache es la 2, por lo que ya está actualizado. Para activarlo, deberemos ir a Preferencias de Sistema y allí seleccionamos "Compartir web". Imagen_2_0.png

Segundo paso, instalación y configuración de PHP

Los siguientes pasos son un poco más complejos, si no necesitamos soporte GD para nuestro sitio web, podemos seguir los pasos que recomienda Asier y activar la extensión por defecto de PHP que viene con el sistema operativo, editamos con un sudo el fichero /etc/apache2/httpd.conf y descomentamos la línea referente a la extensión de PHP.

sudo nano /etc/apache2/httpd.conf

La línea

#LoadModule php5_module libexec/apache2/libphp5.so

Debe quedar así

En muchas instalaciones web necesitaremos las librerías gráficas GD para mostrar y manipular las imágenes presentes en nuestro sitio.

¿Qué son las librerías GD?

Las siglas GD proceden originalmente de "gif draw" o "graphics draw" y son unas librerías de código abierto desarrolladas en C para la creación dinámica de imágenes en aplicaciones. Entre otros muchos formatos, permiten manipular al vuelo imágenes PNG, JPEG y GIF.

¿Para qué se necesitan en Drupal?

El uso más común en Drupal se encuentra en el módulo ImageAPI, que utiliza opcionalmente las librerías GD2 para gestionar la manipulación de las imágenes. ImageAPI por sí solo no hace nada, sino que proporciona un API que es utilizado por otros módulos, como ImageCache o ImageField.

¿Cómo sé si las tengo instaladas?

La forma más rápida es crear un fichero con el siguiente código y consultarlo:

<?php
phpinfo
();
?>
Para Drupal, solamente tendremos que identificarnos con un usuario con permisos de e ir a Administrar » Informe de Estado y hacer click en el link de la versión de PHP: http://www.misitio.com/admin/reports/status/php Deberemos ver algo como esto en la página resultante, que nos indica el estado enabled para las librerías GD gd-support.png