12.10 Configuración de Leafnode

Imagen de ElSanto

Una vez instalado leafnode se debe proceder a configurarlo. Como root
entramos en el directorio /usr/lib/leafnode y editamos el fichero config,
donde leeremos algo similar a lo siguiente (fichero de configuración de
la versión 1.4):

  # This is the NNTP server leafnode fetches its news from.
  # You need read and post access to it.
  server = news.arrakis.es

  # Unread discussion threads will be deleted after this many days if
  # you don't define special expire times. Mandatory.
  expire = 5

  # Non-standard expire times (no regex possible)
  #groupexpire comp.linux.misc = 5   # group too big to hold articles 20 day
  #groupexpire any.newsgroup = 100  # very interesting, hold articles longe

  # Never fetch more than this many articles from one group in one run.
  maxfetch = 2000

  # Specifies an upper limit on how many groups an article may be posted to. 
  maxcrosspost = 0

El significado de las diferentes opciones es muy descriptivo:

La opción server indica el servidor de donde leafnode ha de leer las
noticias. En este caso se tiene especificado como servidor
news.arrakis.es. En principio esta línea no contendrá ningún valor
si es la primera vez que lo configuramos, así que será necesario
incluir aqui el nombre de nuestro servidor de noticias habitual
(news.ctv.es, news.arrakis.es, etc.).

Con expire=5 le indicamos a leafnode que si un tema (thread o hebra)
de artículos no ha sido tratado durante 5 días o más, debe borrarlo
(lo haremos con texpire). Es decir, si un hipotético tema llamado
«Pregunta simple», y sus respuestas «Re: Pregunta simple» llevan 5
días sin ser tratados, todos estos mensajes son eliminados del disco
duro para ahorrar espacio (debido a que es considerado como tema
antiguo). El número de días puede ser modificado a nuestro gusto
mediante esta opción.

Las 2 opciones groupexpire comentadas permiten especificar excepciones
a diferentes grupos (por ejemplo, si queremos que en un determinado grupo
se guarden los artículos más días) con respecto al tiempo considerado para
eliminar artículos. En este sentido, se utiliza para hacer una excepción
para un grupo concreto sobre el valor de expire generalizado para todos
los grupos (por ejemplo, si un grupo tiene un flujo muy grande de mensajes
puede no interesarnos que caduquen a los 5 dias sino a los 3).

El parámetro maxfetch especifica el máximo número de artículos a recoger
cada vez de cada grupo. La primera vez que recojamos los mensajes de un
grupo nos recogerá este número de posts, así que es recomendable ponerlo
a 500 inicialmente y despues de la primera recogida de grupos dejarlo
en el valor deseado.

La opción maxcrosspost indica el número máximo de grupos a los que un
artículo puede ir dirigido (para evitar el crossposting o repeticion
del mismo mensaje en diferentes grupos), o cero para no indicar límite
de grupos.

Una vez configurado el programa conectamos a Internet y
ejecutamos el programa de recogida de news (fetch) mediante la orden:

  [root@localhost root]#   fetch -v

Mediante esta orden, y al ser la primera vez que llamamos al programa,
fetch se dedicará a bajarse de nuestro servidor de news todos los nombres y
descripciones de los grupos de noticias existentes para que posteriormente
podamos suscribirnos a cualquiera de ellos.

Si queremos seguir el proceso y saber que hace en todo momento
leafnode, podemos ejecutar el siguiente comando en otra consola
virtual o xterm:

  tail -f /var/log/messages

Veremos algo similar a:

  Jan 2 11:07:00 localhost fetch: Registered group arrakis.binarios
  Jan 2 11:07:00 localhost fetch: Registered group arrakis.consultas
  Jan 2 11:07:00 localhost fetch: Registered group arrakis.general
  Jan 2 11:07:00 localhost fetch: Registered group arrakis.noticias
  Jan 2 11:07:00 localhost fetch: Registered group a.bsu.programming
  Jan 2 11:07:00 localhost fetch: Registered group a.bsu.religion
  (y un largo etc).

El parámetro -v (verbose) le indica a leafnode que muestre mensajes en pantalla
indicando qué hace en cada momento. Hay diferentes niveles de explicación
(-v, -vv, ...-vvvvv) que nos permitirán saber qué hace el programa y observar
la progresión del mismo. Tras un tiempo (dependiendo de la velocidad de nuestro
modem), el programa terminará de recoger los nombres de los newsgroups
(proceso largo, debido a la gran cantidad de ellos, así que tendremos que
tener paciencia esta primera vez de ejecución), y habremos de resetear el
inetd para que se active nuestro servidor de news (leafnode):

  [root@localhost root]#   /etc/rc.d/init.d/inet  restart

Por último (aunque suele ser realizado automáticamente al instalar el
paquete), debemos asegurarnos de que tenemos abierto el puerto de nntp (de
nuestro servidor de noticias) en el archivo /etc/inetd.conf, simplemente
comprobando si existe (y creando en caso negativo) una línea similar a la
siguiente:

  nntp  stream  tcp  nowait  news  /usr/sbin/tcpd  /usr/sbin/leafnode

Tras esto podemos desconectar de Internet y prepararnos para elegir los
grupos a los que deseamos suscribirnos, como veremos a continuación.

Nota: Es posible que si instalamos leafnode desde un fichero tar.gz,
el path destino de instalación sea /usr/local/sbin/leafnode, de modo
que la linea anterior debe cambiar para ajustarse al path donde leafnode
este disponible.

  nntp  stream  tcp  nowait  news  /usr/sbin/tcpd  /usr/local/sbin/leafnode

Las ultimas versiones llevan un mayor número de opciones las cuales
podemos (y deberíamos) consultar en la página man de fetch.