Pues ya por fin pude crear la galerÃa y es que querÃa ponerla de cierta forma en particular, ya saben, soy de esos que si no cuestan uno y la mitad del otro no me sabe. QuerÃa poner la galerÃa de forma que no usara un servicio externo como Flicker, que se crearan los thumbs de forma dinámica y que no tuviera que usar el MySQL.
Encontré el Tiny Web Gallery que sobrepasó mis expectativas, aparte de que es realmente fácil de utilizar y administrar. ¿No te ha pasado que tienes cientos de pics pero el problema es que hiciste respaldo en multiples directorios en diferentes partes de tu sistema? En fin, hice un script que me automatiza la creación de la galeria escalando las imágenes a 800×600, ordenándolas y etiquetándolos con una leyenda que describa la situación del evento, para muestra un botón:

En mi caso me bajé el XAMPP que es un excelente proyecto de que incluye Apache, PHP 4 o 5 y MySQL extremadamente amigable para administrar. Vamos a descargarlo aqui y seguimos las instrucciones, es importante cambiarle las contraseñas a los servicios de XAMPP para un servidor en producción sino luego no chilles si te cambian la página de inicio. Recuerda que el TWG funciona con PHP4 al menos yo no lo he probado con el PHP5 asi que cambiamos con el siguiente comando:
sudo /opt/lampp/lampp security
sudo /opt/lampp/lampp php4
sudo /opt/lampp/lampp restart
Ahora descargamos el TWG de aqui lo descargamos en /tmp y lo ponemos en la siguiente carpeta /opt/lampp/htdocs. Es importante cambiarle el grupo y darle permisos de escritura al apache pues de otra forma no podremos administar e TWG.
cd /opt/lampp/htdocs/
unzip -a /tmp/twg*.zip
mv twg* galeria
chgrp -R nobody galeria
chmod -R g+w galeria
Listo! ya tenemos instalado el Apache con el PHP4 y el TWG en nuestra máquina y podemos verlo andar en la siguiente direccion http://localhost/galeria . Debes de poder ver la galerÃa de prueba, cosa que queremos pues significa que el “juguete” está andando, después puedes borrar esta galeria para sólo dejar la tuya. Ahora vamos a administrarla, RECUERDA CAMBIAR LOS PERMISOS. entramos a la siguiente dirección http://localhost/galeria/admin/index.php con el usuario admin y la contraseña twg_admin y nos llevará a la primera página de administración donde no exhorta cambiar el passwd cosa que recomiendo ampliamente asà como cambiar el login del usuario por defecto por uno menos convencional, ya sabes, vivo en la paranoia.
Para irnos directo: en el menú izquierdo vemos una liga que dice “Configure TWG” la pulsamos y en la opción “Enable session caching of directorys and files” le damos false. Cuando estamos actualizando la galeria es bueno tenerlo en false asà regenera el caché y podemos ver la galeria terminada. Cuando acabemos no olvides poner en true esta opción, es mucho mas óptimo tenerlo habilitado cuando ya se encuentra en producción. Las imágenes se guardan en carpetas en la siguiente dirección /opt/lampp/htdocs/galeria/pictures Cada galeria le puedes poner una carpeta y dentro de cada carpeta puedes poner una imagen llamada folder.png para que sea el Ãcono de la Galeria asà como un archivo foldername.txt para la descripción donde puedes poner HTML y hacerlo mas “eye candy“.
Vamos al famoso Script que nos automatizará la tarea de procesamiento de imágenes. Es importente tener el comando convert del Imagemagick. El script doGallery
#!/bin/bash # Script hecho por Adrian Puente. if [ $# -lt 2 ] then echo -e "Sintaxis: `basename ${0}` [Prefix Pics] ["Desc"]" echo -e "Ejemplo: `basename ${0}` navidad.familia.2007 \\"Navidad con la Familia 2007\\".\\n" echo -e "Es importante poner las descripciones con espacios entre comillas." echo -e "Terminando el script una carpeta 800x600 contendra las imagenes procesadas." exit 0 fi [ -f PROCESADO.TXT ] \&\& cat PROCESADO.TXT \&\& echo "Borrar el archivo PROCESADO.TXT" \&\& exit PREF=${1} DESC=${2} OK="\\033[5;32;1mHECHO\\033[0m" NO="\\033[5;31;1mERROR\\033[0m" [ ! -d 800x600 ] \&\& mkdir 800x600 # Renombramos las pics para mayor comodidad. CTR=0; for i in `ls -1 *.jpg *.JPG` do if [ ${CTR} -lt 10 ] then NUM=00${CTR} else if [ ${CTR} -lt 100 ] then NUM=0${CTR} else NUM=${CTR} fi fi CTR=`expr ${CTR} + 1` echo -en "Convirtiendo ${i} --> ${PREF}-${NUM}.jpg " convert ${i} -scale 800x600 -fill white \\ -box \\#00000080 -gravity South \\ -pointsize 25 -annotate +0+5 "${DESC}" \\ 800x600/${PREF}-${NUM}.jpg \&\& echo -e [${OK}] || echo -e [${NO}] done echo ${DESC} > 800x600/foldername.txt echo -e "Directorio procesado para galeria el "`date +%F` > PROCESADO.TXT
El script te crea un archivo foldername.txt con la descripción que escogimos que es compatible con el TWG, también crea un archivo llamado PROCESADO.TXT que guarda la fecha en que esa carpeta fue procesada para no tener múltiples instancias de las carpetas procesadas. Ahora renombramos la carpeta 800×600 con un nombre que describa la situación, no sé, mi_cumple_2007, cuando termino restauro la opción del cache y en mi caso sincronizo los directorios con rsync, asà puedo tener la galeria “en desarrollo” en mi máquina y cuando queda como quiero la subo, asà tengo respaldo y no consumo el ancho de banda de mi site, ok muy ñoño pero no hay porqué ser ineficientes.
rsync --progress -avz -e ssh /opt/lampp/htdocs/galeria usuario@sitioweb:camino/a/los/htdocs
Si tienes algún problema extraño recuerda los permisos . En mi caso mi usuario y grupo en el sitio web es diferente al que tengo en mi máquina asà que es bueno verificar los permisos de los grupos. Si quieres aumentarle la seguridad a tu sitio cambia el nombre de la carpeta admin por algún nombre difÃcil de adivinary accesa por la misma carpeta /index.php. Listo! la galeria ha sido creada. Enjoy
La galerÃa de este su Blog es: http://www.hackarandas.com/galeria
Adrián Puente Z.