Feb 25

Este Viernes 27 de Febrero nuestros amigos de phpLondon organizan su conferencia anual de PHP, la PHP UK Conference 2009, sin duda una de las conferencias de PHP con más renombre y una de las que cae relativamente cerca (si vives en España).

Este año pinta realmente interesante con presentaciones muy variadas, puedes revisar la agenda completa en la web del evento. Entre otros temas se hablará sobre como vivir (o sobrevivir) con los frameworks PHP, mitos sobre symfony, un poco de REST, Flex y AIR, Drizzle, PHP 5.3 y 6.0 (namespaces, funciones lambda, etc.)… incluso uno de Microsoft nos “intentará” descubrir Windows como servidor para aplicaciones PHP (esto no me lo pierdo).

Aunque entre viaje, estancia y entrada asistir tiene un coste considerable es una pequeña aventura PHP que merece la pena. Como siempre en este tipo de eventos a parte de los nuevos conocimientos que se puedan adquirir se ha de valorar la posibilidad de networking con un buen número de gurus en la materia.

PS: y si el presupuesto no te lo permite (o en tu empresa no quieren pagártelo) siempre puedes esperar a la siguiente edición de la PHP Barcelona Conference :)

Tagged with:
Feb 22

Desde hace muchos años y por mucho que evolucione el desarrollo web e internet el SSH, al igual que el CVS/SVN, sigue siendo una de las herramientas más usada para administrar aplicaciones web y sus respectivos servidores.

Una de las funciones que para mi resulta más útil del SSH a parte de lo evidente que es poder iniciar sesión en nuestro servidor, es poder ejecutar comandos remotamente y así fácilmente poder escribir scripts (PHP y/o de shell) que interactúen entre máquinas. Por ejemplo para subir la última release de nuestra web a producción, borrar cachés de disco, reiniciar algún que otro Apache que se ha quedado tonto, etc.

Algo que resulta muy útil en estos casos es poder usar SSH entre distintas máquinas sin necesidad de ir introduciendo la contraseña. Para conseguirlo, y entendiendo bien el riesgo de seguridad que puede suponer, hemos de seguir los siguientes pasos:

[1] Iniciamos sesión en el servidor A con el usuario que queremos dejar libre de contraseña y ejecutamos:

$ ssh-keygen -t rsa

[2] Añadimos la clave publica generada (.ssh/id_rsa.pub) al archivo de claves aceptadas del servidor B, por ejemplo vía SCP:

$ scp .ssh/id_rsa.pub usuario@B:.ssh/authorized_keys

Se ha de tener en cuenta que el anterior comando sobreescribe el archivo y podemos tener más de una clave aceptada en authorized_keys.

[3] Listos! Desde el servidor A ya podemos entrar en B sin contraseña. Si estamos logueados con el usuario correcto sólo será necesario ejecutar:

$ ssh B

Al programar en PHP por supuesto que siempre tienes la alternativa de realizarlo todo vía peticiones HTTP aunque para determinadas tareas y situaciones los scripts CLI son una gran alternativa (y los puedes hacer muy chulos usando ncurses).

Tagged with:
Feb 21

Es un procedimiento muy sencillo que está perfectamente detallado en la documentación de WordPress aunque quizás faltan un par de puntos por explicar un poco mejor.

Si nuestra intención es hacer borrón y cuenta nueva con nuestro blog eliminando todos los archivos pero conservando la base de datos los pasos a seguir son los siguientes:

[1] Como siempre antes de empezar cualquier tarea parecida backup de todo. Incluso es buena idea montar el blog entero en otro sitio para después poder comparar el viejo con el nuevo.

[2] Desactivamos todos los plugins y seleccionamos el tema por defecto. Aunque en nuestro caso como tenemos intención de borrar todos los archivos el nuevo WordPress desactivará todo lo que no encuentre.

[3] Borramos todos los archivos anteriores. Si tenemos el wordpress mezclado con otras cosas el comando en cuestión es algo como:

$ rm -rf index.php license.txt readme.html wp-* xmlrpc.php

[4] Descomprimimos la última versión de WordPress en el mismo sitio donde teníamos la anterior.

[5] Editamos el nuevo wp-config.php y añadimos los datos de conexión y nombre de la BD.

[6] Comprobamos en qué codificación está trabajando nuestro WordPress. Por ejemplo con:

mysql> show create table wp_posts;

Nos fijamos en el CHARSET utilizado y definimos DB_CHARSET con el mismo valor. En el caso de ser “utf8” no tenemos que tocar nada pero si estamos con “latin1” es necesario indicarlo en wp-config.php con:

[php] define(‘DB_CHARSET’, ‘latin1’); [/php]

[7] Iniciamos el programa de actualización apuntando el navegador a la URL habitual del dashborad (p.e. http://tublog.es/wp-admin/)

[8] Automáticamente aparecerá un mensaje diciendo que debemos proceder con la actualización de la BD. Hacemos clic en “Siguiente” y cruzamos los dedos… si todo va bien te aparecerá algo como “Update successful”.

[9] WordPress casi actualizado!

Digo casi porque casi seguro vamos a necesitar realizar alguno de lo siguientes pasos adicionales:

  • Si habíamos subido archivos al WordPress utilizando su dashboard hemos de copiar la anterior carpeta wp-content/uploads a la nueva instalación.
  • Si trabajábamos con algún plugin para los tags debemos lanzar la importación manualmente desde el dashboard, por ejemplo en el caso del UTW desde “Herramientas” -> “Importar” -> “Ultimate Tag Warrior”.
  • Si ha pasado mucho tiempo desde la última actualización no es mala idea repasarse las opciones de configuración de WordPress y comprobar que todo está ok, especialmente la sección de Permalinks.
  • Como hemos empezado de nuevo en lo que a código PHP se refiere es necesario volver a instalar los plugins que echemos en falta y un tema que nos guste. Por supuesto descargando las últimas versiones de todo y no aprovechando nada del anterior WP para así sacar el máximo partido de las nuevas funcionalidades (en parte uno de los objetivos del procedimiento descrito en este post).
Tagged with:
Feb 18

Por fin me he sacado de encima una de las tareas pendientes más pesada que me había propuesto para este año: actualizar este blog a la última versión de WP, la 2.7.1.

Ahora que ya está hecho (y parece que todo funciona) confieso que he migrado desde una versión de WordPress 2.0.4 con más de 20 plugins, modificaciones por todos sitios, etc. en definitiva ha sido todo un mini-proyecto por mi culpa, ya sabía yo que este día llegaría y que con la cantidad de modificaciones que le había hecho al anterior WP fliparía :)

Decir que ha sido un borrón y cuenta nueva sólo conservando la base de datos, en un siguiente post ya contaré los detalles, pero por la parte que le toca a WP el proceso ha sido bastante limpio y sencillo a excepción de algún problema de codificación, ahora WP trabaja con UTF-8 por defecto.

PS: Todo sea para intentar darle algo más de vida a este blog.

Tagged with:
preload preload preload