{"id":49,"date":"2007-03-15T18:18:42","date_gmt":"2007-03-15T22:18:42","guid":{"rendered":"http:\/\/hackarandas.com\/blog\/2007\/03\/15\/habemus-galeria\/"},"modified":"2007-04-03T00:33:57","modified_gmt":"2007-04-03T04:33:57","slug":"habemus-galeria","status":"publish","type":"post","link":"https:\/\/hackarandas.com\/blog\/2007\/03\/15\/habemus-galeria\/","title":{"rendered":"Habemus Galer\u00c3\u00ada"},"content":{"rendered":"<p><img decoding=\"async\"  align=left id=\"image47\" src=\"http:\/\/hackarandas.com\/blog\/wp-content\/uploads\/2007\/04\/mona-lisa-monalisa.miniatura.jpg\" alt=\"Monalisa\" \/> Pues ya por fin pude crear la galer\u00c3\u00ada y es que quer\u00c3\u00ada 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\u00c3\u00ada poner la galer\u00c3\u00ada de forma que no usara un servicio externo como <a href=\"http:\/\/www.flicker.com\/\">Flicker<\/a>, que se  crearan los thumbs de forma din\u00c3\u00a1mica y que no tuviera que usar el MySQL.<\/p>\n<p>Encontr\u00c3\u00a9 el <a href=\"http:\/\/www.tinywebgallery.com\/index.php?twg_lang=en\">Tiny Web Gallery<\/a> que sobrepas\u00c3\u00b3 mis expectativas, aparte de que es realmente f\u00c3\u00a1cil de utilizar y administrar. \u00c2\u00bfNo 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\u00c3\u00b3n de la galeria escalando las im\u00c3\u00a1genes a 800&#215;600, orden\u00c3\u00a1ndolas y etiquet\u00c3\u00a1ndolos con una leyenda que describa la situaci\u00c3\u00b3n del evento, para muestra un bot\u00c3\u00b3n:<\/p>\n<p><center><a  class=\"imagelink\" href=\"http:\/\/hackarandas.com\/blog\/wp-content\/uploads\/2007\/04\/lentes.jpg\" title=\"Adrian con lentes\"><img decoding=\"async\" id=\"image48\" src=\"http:\/\/hackarandas.com\/blog\/wp-content\/uploads\/2007\/04\/lentes.miniatura.jpg\" alt=\"Adrian con lentes\" \/><\/a><\/center><\/p>\n<p>En mi caso me baj\u00c3\u00a9 el <a href=\"http:\/\/www.apachefriends.org\/en\/xampp.html\">XAMPP<\/a> que es un excelente proyecto de que incluye Apache, PHP 4 o 5 y MySQL extremadamente amigable para administrar. Vamos a <a href=\"http:\/\/www.apachefriends.org\/en\/xampp-linux.html#374\">descargarlo aqui<\/a> y <a href=\"http:\/\/http:\/\/www.apachefriends.org\/en\/xampp-linux.html#377\">seguimos las instrucciones<\/a>, es importante cambiarle las contrase\u00c3\u00b1as a los servicios de XAMPP para un servidor en producci\u00c3\u00b3n sino luego no chilles si te cambian la p\u00c3\u00a1gina 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:<\/p>\n<p><code>sudo \/opt\/lampp\/lampp security<br \/>\nsudo \/opt\/lampp\/lampp php4<br \/>\nsudo \/opt\/lampp\/lampp  restart<br \/>\n<\/code><\/p>\n<p>Ahora descargamos el <a href=\"http:\/\/www.tinywebgallery.com\/en\/index.htm\">TWG de aqui<\/a> lo descargamos en <em>\/tmp <\/em>y lo ponemos en la siguiente carpeta <em>\/opt\/lampp\/htdocs<\/em>. Es importante cambiarle el grupo y darle permisos de escritura al apache pues de otra forma no podremos administar e TWG.<\/p>\n<p><code>cd \/opt\/lampp\/htdocs\/<br \/>\nunzip -a \/tmp\/twg*.zip<br \/>\nmv twg* galeria<br \/>\nchgrp -R nobody galeria<br \/>\nchmod -R g+w galeria<br \/>\n<\/code><\/p>\n<p>Listo! ya tenemos instalado el Apache con el PHP4 y el TWG en nuestra m\u00c3\u00a1quina y podemos verlo andar en la siguiente direccion <a href=\"http:\/\/localhost\/galeria\">http:\/\/localhost\/galeria<\/a> . Debes de poder ver la galer\u00c3\u00ada de prueba, cosa que queremos pues significa que el &#8220;juguete&#8221; est\u00c3\u00a1 andando, despu\u00c3\u00a9s puedes borrar esta galeria para s\u00c3\u00b3lo dejar la tuya. Ahora vamos a administrarla, RECUERDA CAMBIAR LOS PERMISOS. entramos a la siguiente direcci\u00c3\u00b3n <a href=\"http:\/\/localhost\/galeria\/admin\/index.php\">http:\/\/localhost\/galeria\/admin\/index.php<\/a> con el usuario <em>admin<\/em> y la contrase\u00c3\u00b1a <em>twg_admin<\/em> y nos llevar\u00c3\u00a1 a la primera p\u00c3\u00a1gina de administraci\u00c3\u00b3n donde no exhorta cambiar el passwd cosa que recomiendo ampliamente as\u00c3\u00ad como cambiar el login del usuario por defecto por uno menos convencional, ya sabes, vivo en la paranoia.<\/p>\n<p>  Para irnos directo: en el men\u00c3\u00ba izquierdo vemos una liga que dice &#8220;<em>Configure TWG<\/em>&#8221; la pulsamos y en la opci\u00c3\u00b3n &#8220;<em>Enable session caching of directorys and files<\/em>&#8221; le damos <em>false<\/em>. Cuando estamos actualizando la galeria es bueno tenerlo en <em>false<\/em> as\u00c3\u00ad regenera el cach\u00c3\u00a9 y podemos ver la galeria terminada. Cuando acabemos no olvides poner en <em>true<\/em> esta opci\u00c3\u00b3n, es mucho mas \u00c3\u00b3ptimo tenerlo habilitado cuando ya se encuentra en producci\u00c3\u00b3n. Las im\u00c3\u00a1genes se guardan en carpetas en la siguiente direcci\u00c3\u00b3n <em> \/opt\/lampp\/htdocs\/galeria\/pictures<\/em> Cada galeria le puedes poner una carpeta y dentro de cada carpeta puedes poner una imagen llamada <em>folder.png<\/em> para que sea el \u00c3\u00adcono de la Galeria as\u00c3\u00ad como un archivo foldername.txt para la descripci\u00c3\u00b3n donde puedes poner HTML y hacerlo mas &#8220;<em>eye candy<\/em>&#8220;.<\/p>\n<p>Vamos al famoso Script que nos automatizar\u00c3\u00a1 la tarea de procesamiento de im\u00c3\u00a1genes. Es importente tener el comando convert del <a href=\"http:\/\/www.imagemagick.org\/\">Imagemagick<\/a>. El <a id=\"p50\" rel=\"attachment\" href=\"http:\/\/hackarandas.com\/blog\/2007\/03\/15\/habemus-galeria\/script-dogallery\/\" title=\"Script doGallery\">script doGallery<\/a><\/p>\n<blockquote>\n<pre>#!\/bin\/bash\r\n# Script hecho por Adrian Puente.\r\n\r\nif [ $# -lt 2 ]\r\nthen\r\n        echo -e \"Sintaxis: `basename ${0}` [Prefix Pics] [\"Desc\"]\"\r\n        echo -e \"Ejemplo: `basename ${0}` navidad.familia.2007 \\\\\"Navidad con la Familia 2007\\\\\".\\\\n\" \r\n        echo -e \"Es importante poner las descripciones con espacios entre comillas.\"\r\n        echo -e \"Terminando el script una carpeta 800x600 contendra las imagenes procesadas.\"\r\n        exit 0\r\nfi\r\n\r\n[ -f PROCESADO.TXT ] \\&\\& cat PROCESADO.TXT \\&\\& echo \"Borrar el archivo PROCESADO.TXT\" \\&\\& exit \r\n\r\nPREF=${1}\r\nDESC=${2}\r\nOK=\"\\\\033[5;32;1mHECHO\\\\033[0m\"\r\nNO=\"\\\\033[5;31;1mERROR\\\\033[0m\"\r\n\r\n[ ! -d 800x600 ] \\&\\& mkdir 800x600\r\n# Renombramos las pics para mayor comodidad.\r\nCTR=0;\r\nfor i in `ls -1 *.jpg *.JPG`\r\ndo\r\n        if [ ${CTR} -lt 10 ]\r\n        then\r\n                NUM=00${CTR}\r\n        else if [ ${CTR} -lt 100 ]\r\n        then\r\n                        NUM=0${CTR}\r\n                else\r\n                        NUM=${CTR}\r\n                fi\r\n        fi\r\n        CTR=`expr ${CTR} + 1`\r\n        echo -en \"Convirtiendo ${i} --> ${PREF}-${NUM}.jpg \"\r\n        convert ${i} -scale 800x600 -fill white \\\\\r\n                     -box \\\\#00000080 -gravity South \\\\\r\n                     -pointsize 25 -annotate +0+5 \"${DESC}\" \\\\\r\n                     800x600\/${PREF}-${NUM}.jpg \\&\\& echo -e [${OK}] || echo -e [${NO}]\r\ndone\r\n\r\necho ${DESC} > 800x600\/foldername.txt\r\necho -e \"Directorio procesado para galeria el \"`date +%F` > PROCESADO.TXT\r\n<\/pre>\n<\/blockquote>\n<p>El script te crea un archivo <em>foldername.txt<\/em>  con la descripci\u00c3\u00b3n que escogimos que es compatible con el TWG, tambi\u00c3\u00a9n crea un archivo llamado PROCESADO.TXT que guarda la fecha en que esa carpeta fue procesada para no tener m\u00c3\u00baltiples instancias de las carpetas procesadas. Ahora renombramos la carpeta 800&#215;600 con un nombre que describa la situaci\u00c3\u00b3n, no s\u00c3\u00a9, <em>mi_cumple_2007<\/em>, cuando termino restauro la opci\u00c3\u00b3n del cache y en mi caso sincronizo los directorios con rsync, as\u00c3\u00ad puedo tener la galeria &#8220;en desarrollo&#8221; en mi m\u00c3\u00a1quina y cuando queda como quiero la subo, as\u00c3\u00ad tengo respaldo y no consumo el ancho de banda de mi site, ok muy \u00c3\u00b1o\u00c3\u00b1o pero no hay porqu\u00c3\u00a9 ser ineficientes.   <\/p>\n<p><code>rsync --progress -avz -e ssh \/opt\/lampp\/htdocs\/galeria usuario@sitioweb:camino\/a\/los\/htdocs<br \/>\n<\/code><\/p>\n<p>Si tienes alg\u00c3\u00ban problema extra\u00c3\u00b1o recuerda los permisos . En mi caso mi usuario y grupo en el sitio web es diferente al que tengo en mi m\u00c3\u00a1quina as\u00c3\u00ad 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\u00c3\u00ban nombre dif\u00c3\u00adcil de adivinary accesa por la misma carpeta \/index.php. Listo! la galeria ha sido creada. Enjoy<\/p>\n<p>La galer\u00c3\u00ada de este su Blog es: <a href=\"http:\/\/http:\/\/www.hackarandas.com\/galeria\">http:\/\/www.hackarandas.com\/galeria<\/a><\/p>\n<p><em>Adri\u00c3\u00a1n Puente Z.<\/em><\/p>\n\n<div style=\"font-size: 0px; height: 0px; line-height: 0px; margin: 0; padding: 0; clear: both;\"><\/div>","protected":false},"excerpt":{"rendered":"<p>Pues ya por fin pude crear la galer\u00c3\u00ada y es que quer\u00c3\u00ada 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\u00c3\u00ada poner la galer\u00c3\u00ada &hellip; <a href=\"https:\/\/hackarandas.com\/blog\/2007\/03\/15\/habemus-galeria\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,2],"tags":[],"class_list":["post-49","post","type-post","status-publish","format-standard","hentry","category-articles","category-code"],"_links":{"self":[{"href":"https:\/\/hackarandas.com\/blog\/wp-json\/wp\/v2\/posts\/49","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hackarandas.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hackarandas.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hackarandas.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hackarandas.com\/blog\/wp-json\/wp\/v2\/comments?post=49"}],"version-history":[{"count":0,"href":"https:\/\/hackarandas.com\/blog\/wp-json\/wp\/v2\/posts\/49\/revisions"}],"wp:attachment":[{"href":"https:\/\/hackarandas.com\/blog\/wp-json\/wp\/v2\/media?parent=49"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hackarandas.com\/blog\/wp-json\/wp\/v2\/categories?post=49"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hackarandas.com\/blog\/wp-json\/wp\/v2\/tags?post=49"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}