[ PrésentationInstallation   |  Description du logicielConfigurer Leafnode  |Lancement de leafnode ( si vous utilisez inetd, si vous utilisez xinetd )| Configurer votre navigateur | Comment ça marche  | Lancement automatique à la connexion ]

Dernière modification 1 mars 2003

Lire les news off-line

Configuration Internet

Présentation

Différents utilitaires permettant de lire les news off line existe, j'ai choisi Leafnode car il est très simple d'utilisation. Il est prévu pour fonctionner pour des petits sites, il convient donc tout à fait pour une utilisation personnelle, y compris dans le cadre d'un petit réseau. L'intérêt de Leafnodeest qu'il est très facilement configurable, on peut lui dire de récupérer uniquement les newsgroups qui nous intéressent en fixant éventuellement d'autres critères (date des posts, nombre de posts, ...). N'importe quel lecteur de news peut alors lire les news, personnellement j'utiliseNetscape Communicator.

Il est constitué de trois programmes:
    - Leafnode est le serveur de news (serveur NNTP), c'est lui qui est en contact avec le serveur de news de votre provider, vous devez configurer vos lecteurs de news en le choisissant.
    - Fetchnews est le programme qui permet de récupérer les news et de poster les messages en attente.
    -  Texpire permet de supprimer les vieux messages, ainsi que les messages non lus récemment.

Seuls les newsgroups qui ont été lus dans la semaine sont récupérés sur le serveur de news du provider. Si on cesse de regarder un newsgroup pendant une semaine, les articles de ce newsgroup ne seront pas récupérés, si à nouveau on cherche à y accéder, ce n'est qu'à la prochaine connexion qu'on pourra à nouveau lire les articles.

Dans cette page je présente l'installation de leafnode-1.9.33.  A noter que leafnode présent dans la Mandrake 8.1 a disparu de la 8.2, il reparait dans une ancienne version sur la 9.0.

[Retour haut de la page]

Installation de leafnode

Vous pouvez récupérer leafnode à l'adresse suivante wpxx02.toxi.uni-wuerzburg.de/~krasel/leafnode.html  ou plus simplement www.leafnode.org. L'archive se présente sous la forme d'un tar.gz. Une fois décompressée avec la commande:

tar xvfz leafnode-1.9.33.rel.tar.gz

vous trouvez un répertoireleafnode-1.9.33.rel, dans ce répertoire, tapez:

./configure

Tapez maintenant

make

Puis en tant que root

make install

Les exécutables seront placés dans/usr/local/sbin, les news dans /var/spool/news, mais le fichier de config dans /etc/leafnode. Vous pouvez modifier ces chemins par défaut en donnant des arguments à configure, pour les connaître taper ./configure -help

En  cas d'upgrade d'une version précédente dont les exécutables se trouvent par exemple dans le répertoire /opt, vous devez taper:

./configure --prefix=/opt
make

En tant que root

make install
make update

La dernière manip est a priori pas nécessaire si vous partez d'une version supérieure à 1.9.3 inclue.

NOTE Pour une mise à jour de leafnode faites comme si vous l'installez, votre fichier de config ne sera pas supprimé.

[Retour haut de la page]

Description du logiciel

Leafnode se sert de trois répertoires, le répertoire de "spool", le répertoire de librairie et le répertoire de binaires.

Le répertoire de "spool" sert à stocker tous les articles récupérés du serveur de news, il contient d'autres sous répertoires, si vous êtes abonnés au newsgroup fr.comp.os.linux.configuration, vous aurez le répertoire /var/spool/news/fr/comp/os/linux/configuration. Ce répertoire contiendra tous les articles identifiés par un numéro. Le répertoire /var/spool/news/out.going  contient  les articles postés en local en attente d'être envoyés vers le serveur de news du provider. Le répertoire/var/spool/news/failed.postings  contient les articles postés en local qui ont été rejetés par le serveur de news du provider. Le répertoire/var/spool/news/message.id contient des liens hards vers chaque message. Le répertoire /var/spool/news/interesting.groups  contient des fichiers vides dont les noms correspondent aux newsgroups

Le répertoire /etc/leafnode contient le fichier de configuration de leafnode.

Le répertoire de binaires /usr/local/sbin, comme son nom l'indique contient les binaires (entre autres fetchnews, leafnode et texpire).

[Retour haut de la page]

Configurer Leafnode

Le fichier de configuration de leafnode se trouve sous /etc/leafnode et a pour nom config (il existe un config.example qui doit servir de base). Dans un premier la liste des newsgroup est téléchargée ensuite à partir des lecteurs de news on choisit les groupes auxquels on veut s'inscrire

## This is the NNTP server leafnode fetches its news from.
## You need read and post access to it. Mandatory.
# ici c'est le nom de mon serveur de news
server = news.free.fr

## Unread discussion threads will be deleted after this many days if
## you don't define special expire times. Mandatory.
# au bout de 10 jours les posts non lus seront supprimés
expire = 10

##
## All the following parameters are optional
##

## I have free access to my news server. If you don't have, comment out
## the following two lines and change them accordingly.
# ici vous mettez votre mot de passe, c'est inutile si vous utilisez le serveur de news de votre fai
username=login
password=motdepasse

## Standard news servers run on port 119. If your newsserver doesn't, comment
## out the following line and change it accordingly.
# normalement vous avez pas à toucher ça, généralement les serveurs de news utilisent le port 119
# port = 8000

## This is another news server which stores some groups that are not
## available on the first one. You can define username, password and port
## for each server separately.
# comme son nom l'indique vous pouvez récupérer les posts d'un autre serveur de news
# cependant à ce moment là je sais pas trop comment va se passer l'envoie de post (vers les deux ?)
# supplement = sex.and.warez.com
# username = xenu
# password = secret

## This is a news server which does not understand the
## "LIST NEWSGROUP news.group" command. For this reason, we don't try to
## download newsgroups descriptions when getting new newsgroups. This is
## achieved by putting "nodesc = 1" somewhere behind the server/supplement
## line.
# supplement = broken.upstream.server
# nodesc = 1

## Here we have another news server which has a very slow connection. For
## that reason, we wait a full minute before we give up trying to connect.
## The default is 10 seconds.
# supplement = really.slow.snail
# time out pour trouver le serveur au bout de 60s on abandonne
timeout = 60

## Non-standard expire times (glob(7) wildcard constructs possible)
# groupexpire comp.os.linux.* = 5 # groups too big to hold articles 20 days
# groupexpire any.local.newsgroup = 100 # very interesting, hold articles longer
# ici pour les groupes très volumineux (en nombre de posts), on peut raccourcir le temps où les posts
# seront considérés comme "vieux"
groupexpire = fr.comp.os.linux.configuration 5

## Never fetch more than this many articles from one group in one run.
## Be careful with this; setting it much below 1000 is probably a bad
## idea.
# si vous vous êtes pas connecté pendant un mois (vacances) pour ne pas avoir
# à récupérer des milliers de messages, vous pouvez limiter le nombre
# de messages à récupérer avec cette variable
# maxfetch = 2000

## Fetch only a few articles when we subscribe a new newsgroup. The
## default is to fetch all articles.
# variable très importante, si vous ne la mettez pas, à la première connexion,
# vous allez vous retrouver avec tout les posts même ceux d'il y a plus d'un mois contenus sur le serveur distant
# ça peut prendre largement plus d'une heure, c'est pourquoi j'ai limité le chargement initial d'un newsgroup aux 100 derniers posts
initialfetch = 100

## If you want to use leafnode like an offline newsreader (e.g. Forte
## Agent) you can download headers and bodies separately if you set
## delaybody to 1. In this case, fetch will only download the headers
## and only when you select an article, it will download the body.
## This can save a huge amount of bandwith if only few articles are really
## read from groups with lots of postings.
## This feature works not very well with Netscape, though (which is not
## a fault of Leafnode).
# delaybody = 0

## To avoid spam, you can select the maximum number of crosspostings
## that are allowed in incoming postings. Setting this below 5 is
## probably a bad idea. The default is unlimited crossposting.
# maxcrosspost = 5

## If you suffer from repeatedly receiving old postings (this happens
## sometimes when an upstream server goes into hiccup mode) you can
## refuse to receive them with the parameter "maxage" which tells the
## maximum allowed age of an article in days. The default maxage is 10
## days.
# on ne va pas récupérer les posts vieux de plus de 10 jours sur le serveur,
#maxage = 10

# vaut mieux pas se servir des variables suivantes
## maxlines will make fetch reject postings that are longer than a certain
## amount of lines.
# maxlines = 100
## minlines will make fetch reject postings that are shorter than a certain
## amount of lines.
# minlines = 2

# intéressant si quelqu'un poste du binaire dans les newsgroups
## maxbytes will make fetch reject postings that are larger
# maxbytes = 50000

## timeout_short determines how many days fetch gets a newsgroup which
## has been accidentally opened. The default is two days.
# timeout_short = 1

## timeout_long determines how many days fetch will wait before not getting
## an unread newsgroup any more. The default is seven days.
# timeout_long = 6

## timeout_active determines how many days fetch will wait before re-reading
## the whole active file. The default is 90 days.
# timeout_active = 365

## If you want to have your newsreader score/kill on Xref: lines, you might
## want to uncomment this.
# create_all_links = 1

## If you want to filter out certain regular expressions in the header,
## create a "filterfile" (how this is done is explained in the README)
## and set
# on peut filtrer les posts à partir du header
# filterfile = /path/to/your/filterfile

## If your newsreader does not supply a Message-ID for your postings
## Leafnode will supply one, using the hostname of the machine it is
## running on.  If this hostname is not suitable, this parameter can be
## used to override it.  Do not use a fantasy name, it may interfere with
## the propagation of your messages.  Most modern newsreaders do provide
## a Message-ID.
# pour générer le Message-ID (visible dans votre post) leafnode utilise le nom de votre machine
# c'est génant si le nom est bidon, pour éviter cela vous pouvez rédéfinir un nom de machine
# hostname = host.domain.country
 

[Retour haut de la page]

 

Lancement de leafnode

Si vous utilisez inetd

Vous devez d'abord modifier le fichier /etc/inetd.conf pour queleafnode soit lancé automatiquement au démarrage comme un daemon. A la fin du fichier rajoutez:

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

La première ligne est un commentaire, modifiez éventuellement le chemin de leafnode si nécessaire. Pour lancer leafnode il suffit maintenant en tant que root de lancer :

killall -HUP inetd

[Retour haut de la page]

Si vous utilisez xinetd

Créer un fichier nntp dans le répertoire /etc/xinetd.d contenant

service nntp
{
        socket_type    = stream
        wait                  = no
        protocol            = tcp
        user                  = news
        server               = /usr/local/sbin/leafnode
}

Pour lancer leafnode il suffit alors de taper :

/etc/rc.d/init.d/xinetd restart

[Retour haut de la page]

Configurer votre navigateur

Exemple avec Netscape

Choisissez Edition->Préférences->Courrier & forums->Serveur de forums, tapez sur Ajouter, une fenêtre apparaît, saisissez le nom de votre machine (pour l'obtenir tapez hostname dans un terminal), laissez les autres paramètres par défaut, sélectionnez votre machine dans la liste puis cliquez sur Défnir par défaut, puisOK.

Exemple avec Mozilla messenger

Edition->Paramètres des comptes courrier et forums de discussions->Nomdelamachine->Paramètres du serveur, saisissez le nom de la machine au niveau du champ Nom du serveur
[Retour haut de la page]


Comment ça marche

 C'est très simple, vous vous connecter et en tant que root vous tapez:

/usr/local/sbin/fetchnews -vvvv

les vvvv permettent d'avoir un max de commentaires pour voir si tout se passe bien. Quand vous avez à nouveau à la main, vous pouvez vous déconnecter. Si vous jetez un coup d'oeil dans/var/spool/news vous verrez que toute l'arborescence des news a été créée, y compris les newsgroups non choisis dans le fichier de configuration.
Lancer votre navigateur préféré, inscrivez vous aux newgroups qui vous intéressent. Vous vous rendrez vite compte qu'il n'y a aucun article, c'est normal car c'est la première fois que vous y accéder, faites en sortes d'ouvrir tous les newsgroups, même s'ils sont vides. Reconnectez à votre provider, relancerfetchnews, déconnecter vous, ça y est les articles sont là !
Vous pouvez alors lire les articles, y répondre, vos posts seront envoyés vers le serveur de news de votre provider au prochain appel de fetchnews.
De temps à autres, au moins une fois par semaine, tapez:

/usr/local/sbin/texpire

Ca aura pour effet de "faire le ménage" dans le répertoire /var/spool/newset de supprimer les vieux posts.

Par la suite vous pouvez utiliser sudo pour permettre à certains utilisateurs d'utiliser fetchnews ou texpire.

[Retour haut de la page]

Lancement automatique à la connexion

Pour récupérer automatiquement et les news et poster les posts en attente au début de chaque connexion, vous pouvez rajouter à votre fichier /etc/ppp/ip-up.local la ligne suivante:

/usr/local/sbin/fetchnews
 
 
[Retour page d'accueil FUNIX] [Retour haut de la page]