Planet LinuxAlbacete. Cómo se hizo.

Planet LinuxAlbacete¡Ya tenemos funcionando planet LinuxAlbacete! Para los que no los conozcáis los planetas son agrupaciones de blogs en los que podemos ver de un sólo vistazo las últimas noticias de todos ellos. En este caso se incluirán los blogs de la gente de linuxalbacete que estén interesados en colaborar.

Cómo software hemos utilizado planet planet que está desarrollado en python y que construye periódicamente una portada estática del planet recogiendo todas las noticias de los blogs asociados a través de sus RSS. Aprovechando que la mayoría del software de blogs, mayoritariamente wordpress pero también muchos otros, soporte generar RSS de una categoría en concreto hemos subscrito únicamente las categoría relacionadas con software libre de los blogs al planet. Así permitimos que no todo el contenido del blog se publique en el planet sino únicamente aquella relacionada con software libre. En mi caso he creado una categoría llamada planet que añado a la categoría que selecciono para los posts que quiero que formen parte del planet.

La instalación y configuración del planet no es muy complicada pero tampoco es trivial. Debemos tener instalados pythom (>= 2.2) y python-bdb. Una vez descargado el paquete procedemos a descomprimirlo:

# tar jxvf planet-2.0.tar.bz2

Ahora procederemos a crear un directorio para la configuración y templates de nuestro sitio personalizado:

# cd planet-2.0
# mkdir linuxalbacete

Copiamos los templates y configuraciones del tema fancy que está un poco más elaborado que default:

# cp examples/* linuxalbacete/
# cp examples/fancy/* linuxalbacete/

Editamos config.ini y personalizamos nuestro planet, por ejemplo los siguientes valores:

[Planet]
name = Planet LinuxAlbacete
link = http://planet.linuxalbacete.org
owner_name = Asociacion Linux Albacete
owner_email = asociacion@linuxalbacete.org
output_dir = /var/www/planet/

[http://www.turegano.net/?feed=rss2&cat=15]
name = Turegano.net
face = ture.png
[http://www.edubox.org/?feed=rss2&cat=8]
name = Edublog
face = edu.png
[http://necrolord.no-ip.org/blog/main/?feed=rss2&cat=4]
name = El blog de Necrolord
face = necro.png
[http://blog.psycodelic.net/?feed=rss2&cat=2]
name = Freud’s blog
face = freud.png
[http://linuxalbacete.org/web/component/option,com_rss/feed,RSS2.0/no_html,1/]
name = Linuxalbacete
face = linuxico.png

Debemos prestar especial atención a output_dir que es el directorio dónde se generarán las páginas estáticas con el contenido del planet y que debe de estar dentro de nuestro DocumentRoot de Apache para que pueda ser visible desde el exterior y debe contener un directorio con las imágenes que vayamos a usar, por ejemplo los avatares de los blogs. A continuación encontramos los enlaces a los RSS de los blogs que pertenecen al planeta con un nombre y el avatar correspondiente.

Ahora ya podemos generar nuestra primera versión del planet:

# ./planet.py linuxalbacete/config.ini

Accediendo con el navegador a la dirección que se corresponda con el output_dir que hayamos configurado podremos ver nuestro flamante planet. Ahora sí, para que el planet se vaya refrescando con nuevas noticias debemos ejecutar periódicamente la sentencia anterior, para ello lo mejor es hacer uso del cron, por ejemplo en nuestro caso cada 2 horas:

# crontab -e
* */2 * * * cd planet; /planet.py linuxalbacete/config.ini >> /dev/null 2>&

Bueno espero que sirva de ayuda para aquellos que quieran montar su propio planet y que os paseis de vez en cuando por planet Linuxalbacete. Por cierto también podéis acceder a una versión embebida dentro del portal de linuxalbacete pinchando en el menú de la izquierda en la sección Planet Linuxalbacete, aunque yo prefiero el acceso directo y a pantalla completa.