No .DS_Store en unidades de red bajo OSX

Si desde OSX montais las unidades compartidas de vuestros alojamientos y se os crean los molestos ficheros .DS_Store no tenéis más que abrir un terminal y escribir la siguiente linea:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

De esta forma modificareis el fichero de configuración del Finder añadiendo esa linea en el XML correspondiente.

Recordad que el .DS_Store es similar al fichero Thumbs.db bajo Windows.

Nuevos themes y plugins

Hoy hemos incorporado un theme nuevo y un plugin nuevo a los alojamientos con WordPress. El theme (que veis en la imagen) aunque esta modificado para ser parte del Instituto CINQUIMA es de libre uso. Se trata de una modificación del theme Yoko traducido al castellano y optimizado.

Respecto al plugin, hemos incorporado el Viper’s Video Quicktags a WordPress para aquellos que quieran incorporar enlaces a videos externos tales como de Youtube, Vimeo, etc.. de forma sencilla.

Este plugin dispone de una configuración dentro del menú Ajustes > Video Quicktags que permite elegir los orígenes y los tamaños de los vídeos a mostrar.

PHP, MySQL y longitud de los password

Warning: mysql_connect() [function.mysql-connect]: Premature end of data (mysqlnd_wireprotocol.c:554) in /XXXXXX on line 12
Warning: mysql_connect() [function.mysql-connect]: OK packet 1 bytes shorter than expected in /XXXXXX on line 12
Warning: mysql_connect() [function.mysql-connect]: mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file in /XXXXXX on line 12

Para aquellos que tengan instalado PHP 5.3 o superior y se intenten conectar a una base de datos mysql, sea de la forma que sea (PDO, mysql o mysqli) y le aparezca ese curioso mensajito que tenéis arriba sabréis (tras un par de consultas a nuestro viejo amigo google) que mysql desde la 4.1 o superior (como indica el mensaje) ha variado la longitud de las contraseñas de 16 a 41 (el hash).

El problema es que las librerías incluidas en PHP aun siguen erre que erre intentando conectarse a la vieja usanza y os lanzara el error que tenéis arriba (con vuestras lineas de código, claro). Que os quedara ojiplaticos y con cara de tontos.

Tranquilos, existen varias soluciones al respecto. La primera es la que indica, entrar en la base de datos (con un gestor que os de la gana o a pedal) con el usuario que tiene ese problema y colocar esa linea para transformar nuestro password de 16 a 41 «caracteres». Si entráis como root tendréis que seguir estos pasos:

UPDATE mysql.user SET Password = OLD_PASSWORD('password') WHERE Host = 'host' AND User = 'usuario';
FLUSH PRIVILEGES

Recordad que el FLUSH PRIVILEGES es importante porque sino, no vale para nada.

Otra solución, si entráis como root en la base de datos es poner:

SET old_passwords=1

O tocar el my.ini buscar la zona de [MYSQLD] y añadir:

old_passwords=1

O arrancar mysqld con la opción –old-passwords

O, por ultimo, actualizar el driver del php recompilandolo de nuevo. Lo más costoso pero que a la larga os librará de problemas.

Como veis, para un mismo problema hay cientos de soluciones, y cada cual debemos de coger el que más nos guste.

Aun con eso, si queréis más información y charlar un rato os recomendamos ver el foro de mysql y PHP oficial.

Sobre redirecciones y .htaccess

fichero htaccess

El fichero .htaccess es algo muy potente que nos permite (si sabemos) hacer prácticamente pre-procesar cualquier cosa en nuestro servidor web sin tener que programarse nada en ningún lenguaje. El mayor problema es que quien ideo «ese lenguaje» debería tener gripe y resulta algo complejo.

Uno de los problemas que hemos resuelto gracias al .htaccess es el acceso a uno de los blogs desde fuera de un entorno controlado, es decir, unas IPs determinadas. El problema es que dicho blog, al estar en un wordpress multisitio y no tener configuración propia, sino compartida, nos obliga a tener que revisar ciertas condiciones.

Es decir, en cristiano. Si tenemos un ServerAlias en nuestro httpd.conf (o amigos) que apuntan todos a una misma URL pero queremos que a uno de los alias no se pueda entrar salvo desde ciertas IPs nos toca jugar un poco con el .htaccess y que con el Deny o el Allow no se puede hacer.

Por eso hay que redirigir a los clientes que cumplan ciertas condiciones, tales como:

RewriteCond %{HTTP_HOST} ^URL QUE QUEREMOS QUE NO ENTREN(.*)$
RewriteCond %{REMOTE_HOST} !HOSTS PERMITIDOS
RewriteRule ^(.*)$ http://redireccion [L]

De esta forma, aquellos que intenten acceder al host indicado y que no pertenezcan a la URL permitida serán redirigidos a otro sitio.

Es muy recomendable leerse los siguiente enlaces donde hay más información acerca del .htaccess y que son la biblia: perishablepress.com, directorio.efxto.com, apache.org (obviamente)

Recordad que todo lo que se pueda hacer en los ficheros de configuración es mucho mejor que el hacerlo vía .htaccess.

Nuevos themes disponibles

nuevos themes

Hemos estado trabajando y tenemos un par de nuevos themes disponibles para todos los alojamientos de WordPress.

Notepad UVa 1.2 (modificado UVa)
Es una modificación del Theme de Nick La llamado Notepad y traducido al castellano. Este tema con aires de bloc de notas de iOS es ideal para temas de programación aunque puede usarse para un blog genérico.

Twitter 1.2.3 (modificado UVa)
Es una redefinición de lo que es un blog orientandolo a la comunicación instantánea. Es uno de estos usos particulares de wordpress que permite que la gente dada de alta en el blog pueda usar este como mensajería instantánea. También ha sido adaptado de un theme de Automatic y traducido al castellano por nosotros.

Por supuesto, para ambos temas todos los créditos son para los autores de los mismos.

Sobre caches y OSX

OSX es un poco caprichoso en todo lo referente a las caches. A veces puedes haber eliminado la «cache del navegador» para volver a cargar la página y te das de bruces en que sigue saliendo la misma cuando no debería ser así.

De ahí que todo maquero de «pro» tiene una guía interna de como arreglar los típicos problemas. Una guía que Apple te indica pero que al final siempre acaba de la misma manera, abriendo el terminal y…

Un ejemplo lo tenemos con las DNS del sistema. Como todos sabéis OSX (y el resto de sistemas, claro) las cachea de forma que así sea mucho más rápida la resolución de nombres (ni que las conexiones fueran aun con modem de 1200 baudios). Pero el sistema de cacheo de OSX, como he dicho, es caprichoso y a veces se emperra en que sus DNS son correctas cuando no lo son.

Por eso, a veces nos toca abrir el terminal y «flushearlas»:

Para 10.5 o superior
dscacheutil -flushcache

Para 10.4 o «inferior»
lookupd -flushcache

Y si usais Windows
ipconfig /flushdns

Y para Linux, reiniciar el demonio
/etc/init.d/nscd restart