TuXsOuL
Mario Oyorzabal Salgado
Howtux:
“¿COMO INSTALAR UN PLANET?”. Índice de contenido Introducción.................................................................................................................................2 ¿Qué es y cómo funciona un planet?.........................................................................................2 ¿Necesito algún software?.....................................................................................................2 ¿Cúal puedo usar o cual se recomienda?..............................................................................3 ¿Entonces usaremos Planetplanet?......................................................................................3 ¿Qué necesito para hacer funcionar el planetplanet?...............................................................4 Manos a la obra......................................................................................................................4 Preparando y configurando el servidor..................................................................................4 Instalando Planetplanet..........................................................................................................6 Preparando mi Planeta.......................................................................................................6 Configurando mi Planeta....................................................................................................7 Últimos comentarios..................................................................................................................12 Contacto....................................................................................................................................13 Changelog.................................................................................................................................13 Anexo A: Using Arch.................................................................................................................14 Get access to some else's archive:......................................................................................14 Branch someone else's archive:...........................................................................................14 check something in...............................................................................................................15 Anexo B: “config.ini”..................................................................................................................16
This work is licensed under a Creative Commons AttributionShare Alike 2.5 License.
TuXsOuL
Mario Oyorzabal Salgado
Introducción Este howtux es hecho a base de experiencias personales y no tiene ninguna relación con algún proyecto, la intensión es darle una posible guía a los usuarios quienes desean montar su propio planeta. En este howtux fue tomado sobre un sistema debian (http://www.debian.org).
¿Qué es y cómo funciona un planet? Un planet es una palabra en ingles para referirnos a un planeta, en internet un planeta es una página con la diferencia que en ella se están indexando el contenido de otras paginas, claro no todo el contenido más que nada el último post o artículo publicado. Esto es gracias a los archivos RSS (Sindicalización) los cuales tienen que ser generados por el propio sitio web, RSS no es el único formato existen más, solo que es el más utilizado, junto con ATOM, estos archivos utilizan un lenguaje de marcado XML (eXtensible Markup Language), existen como todo estándares para estos archivos, en internet se pueden encontrar muchísimos y cada día salen más, ya que es una potente herramienta de información, aunque muchos no lo vean así. Estos archivos de sindicalización, contienen el último contenido (artículo) del sitio web, ya sea un resumen o la nota completa, esto hace que los planetas funcionen =).
¿Necesito algún software? Si no eres un programador como para hacer tu propia aplicación puedes utilizar algunos que son software libre, entre ellos tenemos a: Planetplanet – http://planetplanet.org ● Monologue http://svn.myrealbox.com/viewcvs/trunk/monologue/ ●
Si deseas bajar un tarball (comprimido): ●
Planetplanet http://www.planetplanet.org/planetnightly.tar.bz2
●
Monologue http://svn.myrealbox.com/viewcvs/trunk/monologue.tar.gz?view=tar
This work is licensed under a Creative Commons AttributionShare Alike 2.5 License.
TuXsOuL
Mario Oyorzabal Salgado
¿Cúal puedo usar o cual se recomienda? Por cuestiones de tiempo además de paquetes, cuando probé por primera vez colocando los planetas que administro, use Planetplanet ya que usa python y con un simple aptget se instala fácilmente y sin necesidad de bajar muchos paquetes, ahora en debian etch ya sea introducido en los repositorios a mono, con el cual se utiliza monologue. Creo que será en otra ocasión cuando pruebe monologue, si lo haz probado y quieres darme más especificaciones o platicarme al respecto no dudes en hacerlo =).
¿Entonces usaremos Planetplanet? Sí, para propósitos de este howtux.
This work is licensed under a Creative Commons AttributionShare Alike 2.5 License.
TuXsOuL
Mario Oyorzabal Salgado
¿Qué necesito para hacer funcionar el planetplanet? El tarball del código del planetplanet, por lógica. ● Tener python instalado. ●
Tener cron o algún otro paquete que ejecute instrucciones a un cierto tiempo. ● Tener locales (opcional). ●
Manos a la obra Primero hay que descargar el paquete planetplanet de la url anterior, aunque también hay otra manera de hacerlo, ya que utilizan un sistema arch para su código como lo es el cvs o svn. Por si lo deseas hacer así y poder hacer más actualizaciones pero no sabes como trabajar con arch, aquí esta una url, que explica de manera sencilla como trabajar con arch. http://www.dme.org/wiki/UsingArch.html Para ver el contenido de la página ve al anexo A.
Preparando y configurando el servidor Ahora que ya tenemos el código de planetplanet en nuestra máquina, ya podemos trabajar y configurarlo, si tienes acceso al servidor directamente algunas cosas las podrás modificar mejor que otras. Primero debemos reconfigurar los “locales” que tiene nuestra máquina, son una manera de traducción para las aplicaciones así nuestros programas se pueden mostrar en diferentes idiomas basta con un : tuxsoul~#dpkgreconfigure locales Claro el comando anterior como root, eso se hace en el servidor, podemos seleccionar los locales necesarios para el idioma en mi caso configure los locales para que se utilizara el “es_MX”.
This work is licensed under a Creative Commons AttributionShare Alike 2.5 License.
TuXsOuL
Mario Oyorzabal Salgado
Una vez hecho lo anterior debemos asegurarnos que contamos con python, de lo contrario lo podemos instalar fácilmente: tuxsoul~#aptget f install python Por último en esta parte es poder contar con acceso al cron y que lo tenga instalado la máquina donde estará tu planeta, de lo contrario preguntale al administrador de tu sistema. Lo que respecta al paquete cron, no es necesario la instalación ya que el sistema debian, o cualquier otro ya lo trae por default, en caso contrario lo puedes instalar con alguna instrucción parecida a las anteriores.
This work is licensed under a Creative Commons AttributionShare Alike 2.5 License.
TuXsOuL
Mario Oyorzabal Salgado
Instalando Planetplanet Esta parte no es difícil, si tienes acceso al servidor donde colocaras tu planeta, no es necesario que coloques el código del planetplanet en alguna carpeta visible por el servidor web, la puedes poner donde sea, claro que sea accesible para algún usuario que tenga permisos en el cron, ya que se necesitara más adelante, un lugar interesante donde podrías subir tu planeta podría ser nipl.net (http://nipl.net) donde tienes acceso por ssh al servidor. Si no tienes acceso al servidor, pues simplemente sube en alguna carpeta el código del planetplanet y listo.
Preparando mi Planeta La configuración del planetplanet es lo más sencillo que puede haber, el directorio del planetplanet tiene un directorio que se llama “planet”, en el cual esta el código en python, además de una carpeta “examples” con ejemplos de configuración. Primero creamos una carpeta donde colocaremos nuestra configuración de nuestro planeta, así como también nuestros diferentes templates para la presentación del planeta. Ya mencionamos la carpeta “examples” la cual contiene unos archivos (templates base), los copiamos a nuestra carpeta que creamos anteriormente, estos son los templates que trae: foafroll.xml.tmpl ● opml.xml.tmpl ●
rss10.xml.tmpl ● rss20.xml.tmpl ●
Los anteriores son templates para que los usuarios que visitan nuestra página puedan sindicalizar el contenido de nuestro planeta y lo puedan agregar a sus páginas, para que más personas visiten nuestro planeta. Ahora nos faltan dos archivos por copiar, en la misma carpeta de examples hay dos carpetas de configuración que puedes utilizar, esos como dice la carpeta vienen como ejemplos, es basic, y fancy,
This work is licensed under a Creative Commons AttributionShare Alike 2.5 License.
TuXsOuL
Mario Oyorzabal Salgado
en lo personal uso fancy, viene con más opciones =P. Nos introducimos a la carpeta de fancy (“examples/fancy”) y copiamos los archivos dentro: config.ini ● index.html.tmpl ●
Configurando mi Planeta Aquí solo me enfocaré al siguiente archivo que tenemos en nuestra carpeta creada: ●
config.ini
El cual tendrá a nuestros usuarios que queremos que aparezcan en el planeta, si quieres ver como luce el archivo config.ini original, checalo en el anexo B. Del archivo solo resaltaremos algunos datos que necesitas cambiar como los siguientes: # Every planet needs a [Planet] section [Planet] # name: Your planet's name # link: Link to the main page # owner_name: Your name # owner_email: Your email address name = Planet Schmanet link = http://planet.schmanet.janet/ owner_name = Janet Weiss owner_email =
[email protected] Esos datos como se puede observar, es la información del sitio así como también del dueño o administrador del planeta, los cuales aparecerán en algunas partes de la página, así que puedes cambiarlos a tus necesidades, respetando la sintaxis.
This work is licensed under a Creative Commons AttributionShare Alike 2.5 License.
TuXsOuL
Mario Oyorzabal Salgado
# cache_directory: Where cached feeds are stored # new_feed_items: Number of items to take from new feeds # log_level: One of DEBUG, INFO, WARNING, ERROR or CRITICAL cache_directory = cache new_feed_items = 2 log_level = DEBUG Los archivos que genera el planetplanet al trabajar se alojaran en esa carpeta llamada cache, así como el número de post que se tomarán de cada pagina web o blog. En lo personal en caso de que quieras ver como funciona el planetplanet viendo los mensajes de error que genera puedes dejar la opción “log_level” como esta o solamente ponerla en “Error” para que muestre solamente los mensajes de error que puedan haber. # template_files: Spaceseparated list of output template files template_files = examples/fancy/index.html.tmpl examples/rss20.xml.tmpl examples/rss10.xml.tmpl examples/opml.xml.tmpl examples/foafroll.xml.tmpl Esta parte es crucial, por así decirlo =P, es donde indicamos al planetplanet donde se encuentran nuestros templates, solo basta cambiar la ruta, a la carpeta que creamos anteriormente y donde colocamos nuestros propios templates, ya que puede ser que queramos diferentes templates por si queremos tener diferentes planetas.
This work is licensed under a Creative Commons AttributionShare Alike 2.5 License.
TuXsOuL
Mario Oyorzabal Salgado
# The following provide defaults for each template: # output_dir: Directory to place output files # items_per_page: How many items to put on each page # days_per_page: How many complete days of posts to put on each page # This is the absolute, hard limit (over the item limit) # date_format: strftime format for the default 'date' template variable # new_date_format: strftime format for the 'new_date' template variable # encoding: output encoding for the file, Python 2.3+ users can use the # special "xml" value to output ASCII with XML character references # locale: locale to use for (e.g.) strings in dates, default is taken from your # system output_dir = output items_per_page = 60 days_per_page = 0 date_format = %B %d, %Y %I:%M %p new_date_format = %B %d, %Y encoding = utf8 # locale = C Esta parte es también necesaria cambiar por primera vez, más que nada la opción “output_dir” que es la carpeta en donde nuestro servidor web, tomara los archivos, para mostrarlos un ejemplo puede ser la carpeta “/var/www” o la carpeta que tu administrador del sistema te dio para poner tus paginas web, puedes crear otra carpeta ahí para poner los archivos del planet. La opción “locale” si quieres que tu planeta este en español o en algún otro idioma, cambiala a la configuración de locales que hiciste en los pasos anteriores por ejemplo dale el valor “es_MX”.
This work is licensed under a Creative Commons AttributionShare Alike 2.5 License.
TuXsOuL
Mario Oyorzabal Salgado
# Any other section defines a feed to subscribe to. The section title # (in the []s) is the URI of the feed itself. A section can also be # have any of the following options: # # name: Name of the feed (defaults to the title found in the feed) # # Additionally any other option placed here will be available in # the template (prefixed with channel_ for the Items loop). We use # this trick to make the faces work this isn't something Planet # "natively" knows about. Look at fancyexamples/index.html.tmpl # for the flipside of this. [http://www.netsplit.com/blog/index.atom] name = Scott James Remnant face = keybuk.png # pick up the default facewidth and faceheight Aqui es donde se configura, de donde se tomarán los archivos de sindicalización que explicamos al principio, el nombre del usuario, si tiene foto, etc., etc., puedes crear más variables y utilizarlas en el “index.tmpl” que es donde se utilizan, el fragmento anterior tiene que crearse por cada nuevo usuario que quieras anexar a tu planeta. Ya con esto tenemos configurado el planetplanet, bueno ya nuestro planet =P, solo basta crear una sentencia cron con el objetivo de que nuestro planeta se actualice cada cierto tiempo, para editar el cron hacemos lo siguiente: Primero creamos un pequeño script en bash para que llame al programa planetplanet y ejecute la configuración que tenemos. A nuestro script le podemos dar cualquier nombre por ejemplo: tuxsoul~$nano planeta.sh
This work is licensed under a Creative Commons AttributionShare Alike 2.5 License.
TuXsOuL
Mario Oyorzabal Salgado
Contenido: #!/bin/sh cd carpeta_del_planeta python planet carpeta_donde_esta_el_config_ini config.ini Guardamos el script anterior solo cambiamos a nuestras necesidades carpeta_del_planeta, que es la carpeta donde están los archivos del planetplanet, y carpeta_donde_esta_el_config_ini que es la carpeta que creamos y donde introducimos el archivo config.ini y los demás templates. Por último le asignamos permisos de ejecución con un: tuxsoul~$chmod 755 planeta.sh Ahora editamos nuestro crontab: tuxsoul~$crontab e El comando anterior, es sugerible que se haga como usuario normal y no como root, para no comprometer la máquina en en algún error y anexamos lo siguiente: */15
*
*
*
*
sh lugar_donde_esta_el_script > /dev/null
Guarmos y listo esperamos 15 min ya que cada 15 min, se ejecutara nuestro planeta, lo del “/dev/null” es para que mande los mensajes que salgan al agujero de linux, jeje, así he oido que le dicen =P, pero no te preocupes si hay algún error el planetplanet te los enviará por email.
This work is licensed under a Creative Commons AttributionShare Alike 2.5 License.
TuXsOuL
Mario Oyorzabal Salgado
Últimos comentarios Si queremos personalizar el planeta con hojas de estilo y esas cosas editamos el archivo “index.tpml”, los valores para cada usuario es cuestión de jugar un poco con la configuración del planetplanet. Si encuentras algún error en este documento o tienes alguna duda o comentario, no olvides hacérmelos llegar, suerte y pasame la url de tu planeta para visitarlo =). Por cierto estos son los planetas que manejo: Planeta linux morelos http://planeta.tuxsoul.com ● Planeta Gruslic – http://planeta.gruslic.org.mx ●
●
Planeta Morelos http://pm.tuxsoul.com
Y estoy por hacer otros planetas más.
This work is licensed under a Creative Commons AttributionShare Alike 2.5 License.
TuXsOuL
Mario Oyorzabal Salgado
Contacto ¿Pero quién hizo este howtux? Autor de este howtux:
Mario Oyorzabal Salgado
Web: Email:
http://blog.tuxsoul.com [email protected]
Changelog ●
20061225 Formato mejorado. ○ Corrección de pequeños errores. ○
Agregada la dirección del Planeta Morelos. ○ Documento ahora liberado bajo licencia Creative Commons. ○
○
●
Agregada información de contacto.
20051006 ○ Primera versión de este howtux.
This work is licensed under a Creative Commons AttributionShare Alike 2.5 License.
TuXsOuL
Mario Oyorzabal Salgado
Anexo A: Using Arch Get access to some else's archive: tla registerarchive [email protected]2004 \ http://people.ubuntu.com/~scott/arch/personal/ tla get [email protected]2004/planetdevel1.0 \ planet1.0 Branch someone else's archive: Cribbing from http://www.mjr.dsl.pipex.com/uzuarkon.html and http://www.planetplanet.org/, I think it's: tla myid 'Nicolas Will ' tla makearchive [email protected]planet1 $HOME/archplanet1 tla mydefaultarchive [email protected]planet1 tla registerarchive [email protected]2004 \ http://people.ubuntu.com/~scott/arch/personal/ tla tag setup [email protected]2004/planetdevel1.0 \ [email protected]planet1/planetdevel1.0 tla get planetdevel1.0 planet1.0 Then you should have a planet1.0 directory in the current one which contains the latest sources. See those pages for more explanation. tla myid 'David Edmondson ' tla makearchive [email protected]2004 $HOME/arch tla mydefaultarchive [email protected]2004 tla registerarchive [email protected]2004 \ http://people.ubuntu.com/~scott/arch/personal/ tla tag setup [email protected]2004/planetdevel1.0 \ [email protected]2004/planetdevel1.0 tla get planetdevel1.0 planet
This work is licensed under a Creative Commons AttributionShare Alike 2.5 License.
TuXsOuL
Mario Oyorzabal Salgado
check something in (use emacs?) vi `tla makelog` tla commit
Fuente: http://www.dme.org/wiki/UsingArch.html
This work is licensed under a Creative Commons AttributionShare Alike 2.5 License.
TuXsOuL
Mario Oyorzabal Salgado
Anexo B: “config.ini” # Planet configuration file # # This illustrates some of Planet's fancier features with example. # Every planet needs a [Planet] section [Planet] # name: Your planet's name # link: Link to the main page # owner_name: Your name # owner_email: Your email address name = Planet Schmanet link = http://planet.schmanet.janet/ owner_name = Janet Weiss owner_email = [email protected] # cache_directory: Where cached feeds are stored # new_feed_items: Number of items to take from new feeds # log_level: One of DEBUG, INFO, WARNING, ERROR or CRITICAL cache_directory = cache new_feed_items = 2 log_level = DEBUG # template_files: Spaceseparated list of output template files template_files = examples/fancy/index.html.tmpl examples/rss20.xml.tmpl examples/rss10.xml.tmpl examples/opml.xml.tmpl examples/foafroll.xml.tmpl # The following provide defaults for each template: # output_dir: Directory to place output files # items_per_page: How many items to put on each page # days_per_page: How many complete days of posts to put on each page # This is the absolute, hard limit (over the item limit) # date_format: strftime format for the default 'date' template variable # new_date_format: strftime format for the 'new_date' template variable # encoding: output encoding for the file, Python 2.3+ users can use the
This work is licensed under a Creative Commons AttributionShare Alike 2.5 License.
TuXsOuL
Mario Oyorzabal Salgado
# special "xml" value to output ASCII with XML character references # locale: locale to use for (e.g.) strings in dates, default is taken from your # system output_dir = output items_per_page = 60 days_per_page = 0 date_format = %B %d, %Y %I:%M %p new_date_format = %B %d, %Y encoding = utf8 # locale = C # To define a different value for a particular template you may create # a section with the same name as the template file's filename (as given # in template_files). # Provide no more than 7 days articles on the front page [examples/fancy/index.html.tmpl] days_per_page = 7 # Options placed in the [DEFAULT] section provide defaults for the feed # sections. Placing a default here means you only need to override the # special cases later. [DEFAULT] # Hackergotchi default size. # If we want to put a face alongside a feed, and it's this size, we # can omit these variables. facewidth = 65 faceheight = 85
# Any other section defines a feed to subscribe to. The section title # (in the []s) is the URI of the feed itself. A section can also be # have any of the following options: # # name: Name of the feed (defaults to the title found in the feed) #
This work is licensed under a Creative Commons AttributionShare Alike 2.5 License.
TuXsOuL
Mario Oyorzabal Salgado
# Additionally any other option placed here will be available in # the template (prefixed with channel_ for the Items loop). We use # this trick to make the faces work this isn't something Planet # "natively" knows about. Look at fancyexamples/index.html.tmpl # for the flipside of this. [http://www.netsplit.com/blog/index.atom] name = Scott James Remnant face = keybuk.png # pick up the default facewidth and faceheight [http://www.gnome.org/~jdub/blog/?flav=rss] name = Jeff Waugh face = jdub.png facewidth = 70 faceheight = 74 [http://usefulinc.com/edd/blog/rss91] name = Edd Dumbill face = edd.png facewidth = 62 faceheight = 80 [http://blog.clearairturbulence.org/?flav=rss] name = Thom May face = thom.png # pick up the default faceheight only facewidth = 59 [http://codeblogs.ximian.com/blogs/evolution/index.rdf] name = Evolution face = evolution.png facewidth = 48 faceheight = 48
This work is licensed under a Creative Commons AttributionShare Alike 2.5 License.