Si vous voulez lire les news hors connexion sur votre ordinateur local, vous avez généralement à installer un logiciel de serveur de news comme INN ou CNews. Et vous avez également besoin d'une connexion nntp ou uucp pour alimenter ce serveur. Du fait que ces logiciels contiennent bien plus de fonctionnalités que nécessaire, les choses iront mieux en installant Leafnode.
Leafnode est vraiment plus simple à utiliser et est aussi très petit, mais il a quelques inconvénients : Leafnode est lent et il perd des messages dès qu'un problème se présente. C'est pourquoi vous ne devriez pas l'utiliser pour un gros serveur de news. Il est quand même approprié pour des utilisateurs privés qui ne veulent pas passer trop de temps à configurer INN.
Leanode est disponible à ftp://ftp.troll.no/pub/freebies/ et a été développé par un employé de Troll Tech AS, Arnt Gulbrandsen. La version la plus récente est 1.4 et dans certaines distributions (comme par exemple la Debian), Leafnode est inclus. Quoi qu'il en soit, vérifiez que vous avez au moins la version 1.4 car des bugs assez graves avaient été corrigés.
Un fichier d'aide à l'installation est inclus dans le package. Mais faisons-la ensemble :-). Si une version supérieure ou égale à 1.4 de Leafnode est fournie avec votre distribution, il serait plus sage d'utiliser les binaires précompilés et de sauter les étapes 1 à 4.
1) Vérifiez qu'il n'y a pas d'autre serveur de news qui tourne sur votre machine. Quand vous tapez
$ telnet localhost nntp
vous devez voir un message d'erreur. Si vous obtenez une connexion, retournez au prompt de votre shell, puis désinstallez INN, CNews ou tout logiciel du même type et commentez la ligne nntp dans /etc/inetd.conf.
2) Vérifiez qu'il y a un utilisateur appelé "news" : à regarder dans /etc/password. S'il n'existe pas, créez-en un ou bien tapez
$ adduser news
ou bien utilisez tout outil fourni avec votre distribution.
3) Décompressez la source :
$ tar xfz leafnode-1.4.tar.gz
et placez-vous dans le répertoire source
$ cd leafnode-1.4
4) Compilez le programme et installez-le :
$ make; make install
5) Éditez /usr/lib/leafnode/config (il peut être à une autre place comme par exemple /etc/leafnode quand vous utilisez une version pré-compilée fournie avec votre distribution Linux). La ligne "server=" doit indiquer le serveur de news de votre FAI.
6) Éditez /etc/nntpserver. Il doit contenir le nom d'hôte local (localhost ou tout nom donné à votre ordinateur ; la commande hostname devrait vous aider pour cela). Si dans un des fichiers de démarrage comme /etc/profile ou ~/.bash_profile, la variable d'environnement correspondante est définie, vous devriez l'ajuster également au nom de votre ordinateur.
7) Éditez le fichier /etc/inetd.conf : soyez certain qu'il n'y a pas de ligne commençant par "nntp". S'il y avait une telle ligne, commentez-la en mettant un "#" au début. Puis ajoutez la ligne suivante :
nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnode
Quand quelqu'un (par exemple vous :-)) se connecte à votre ordinateur par le port NNTP, Leafnode est lancé comme processus serveur.
8) Connectez-vous à votre FAI et lancez le programme "fetch" comme utilisateur root ou news. La première fois que fetch est lancé, il téléchargera une liste des groupes de nouvelles disponibles chez votre FAI. Cela peut prendre un certain temps ; ça dépend de la vitesse de votre connexion et du nombre de groupes de nouvelles que votre FAI a dans son fichier "active" [NdT : c'est le nom du fichier].
9) Démarrez votre lecteur de news préféré (slrn, (r)tin et knews ne sont pas de mauvais points de départ) et inscrivez-vous à tous les groupes de nouvelles que vous lisez. Veillez à ne pas seulement vous inscrire à ces groupes de nouvelles, mais aussi à entrer dedans, même s'ils sont vides.
10) Relancez "fetch" encore une fois pour télécharger tous les articles de tous les groupes de nouvelles qui vous intéressent.
Maintenant vous avez obtenu un serveur de news fonctionnel et qui tourne mais vous avez encore quelques petites choses à faire. Vous pouvez éditer le fichier /usr/lib/leafnode/config pour configurer les dates d'expiration de vos groupes de nouvelles. Ce nombre indique quand les vieux messages doivent être effacés. Le temps standard de 20 jours est bien souvent trop long si vous lisez des groupes avec un trafic conséquent ; 4 jours ou une semaine sont dans la plupart des cas un bon réglage pour votre système. Vous pouvez changer la valeur pour tous les groupes ("expire=n" pour mettre tous les groupes à n jours), et vous pouvez dire à Leafnode de changer la date pour un groupe particulier en écrivant groupexpire foo.bar n pour régler le délai d'expiration du groupe foo.bar à n jours.
Ce réglage seul ne fera pas supprimer les messages par Leafnode. Un programme séparé s'en charge : texpire. Il peut être lancé par cron ou en ligne de commande. Si votre ordinateur est allumé en permanence, vous avez la possibilité d'ajouter la ligne suivante au fichier crontab de news (pour l'éditer, en tant qu'utilisateur news tapez "crontab -e", ou bien tapez sous root "crontab -u news -e") :
0 19 * * * /usr/local/sbin/texpire
Cette ligne a pour conséquence que le daemon cron déclenchera texpire chaque jour à 19:00. Reportez-vous à la page man de crontab pour d'autres réglages. Si votre ordinateur n'est pas constamment allumé, vous avez la possibilité de démarrer texpire de temps en temps manuellement, quand vous remarquez que fetch devient plus lent. Cela fonctionne aussi bien que le lancement par cron.
Leafnode est un "vrai" serveur NNTP, ce qui signifie que vous pouvez également vous y connecter à partir d'un autre ordinateur (via Internet ou un réseau local, etc.). À chaque fois que vous entrez dans un groupe de nouvelles avec votre lecteur de news, votre lecteur envoie l'information à Leafnode et lui demande. Si le groupe n'existe pas, Leafnode crée un fichier vide nommé comme le groupe dans /var/spool/news/interesting.groups. Quand vous actionnez fetch la fois suivante, les messages du groupe sont téléchargés. Si un groupe n'a pas été lu depuis un certain temps, Leafnode arrêtera de le télécharger et supprimera son nom dans /var/spool/news/interesting.groups. Si vous vous abonnez à un groupe à fort trafic par accident, vous avez aussi la possibilité de supprimer ce fichier manuellement pour que vous n'ayez pas à télécharger tous ses articles pour toute la semaine suivante.
Une semaine n'est pas assez pour vous ? Vous voulez partir en vacances et continuer à recevoir les news ? Malheureusement il n'y a pas d'options dans Leafnode pour changer cela. Mais vous pouvez éditer le fichier leafnode.h et tout recompiler. Les constantes #defined sont TIMEOUT_LONG et TIMEOUT_SHORT : augmentez juste le temps d'une seconde. Une autre solution, plus simple, est de définir une tâche cron chaque nuit qui fait "touch /var/spool/news/interesting.groups/*".
Si vous voulez obtenir une liste de tous les groupes de nouvelles disponibles sur le serveur de news qui vous alimente (par exemple quand vous voulez lire un nouveau groupe), il suffit de supprimer le fichier /var/spool/news/active.read. La commande fetch le recréera la fois suivante et téléchargera à nouveau la liste des groupes. Fetch relira également la liste des groupes de temps en temps donc a priori vous n'avez pas à le faire manuellement.
Il n'y a pas "un" lecteur de news dédié à Linux, de la même façon qu'il n'y a pas "un" éditeur. Mon lecteur de news préféré est emacs en mode gnus qui est le lecteur le plus configurable de Linux. Beaucoup de gens utilisent slrn et tin en terminal, beaucoup de gens utilisent knews sous X. Il y a aussi trn, nn et encore beaucoup d'autres, si bien que vous pouvez essayer celui que vous voulez. Le seul lecteur que vous ne devriez pas utiliser est Netscape : il est gros, sans fonctionnalité, et de temps en temps, il crée des problèmes dans les news. Cela dit, c'est à vous de décider.
N'importe comment, knews n'est pas une mauvaise idée pour une première expérience car il est très agréable à utiliser et facile à comprendre.
De la documentation est fournie dans le package Leafnode (lisez les fichiers INSTALL et README, les sources sont également très intéressantes). Si vous voulez en savoir plus sur les "gros" serveurs de news plus "professionnels", lisez la FAQ de INN (elle est fournie dans le package INN). Pour avoir plus d'informations sur votre lecteur de nouvelles, tapez "man le_nom_de_votre_lecteur" ou regardez ce que vous pouvez trouver dans /usr/doc.
Si vous avez des questions concernant le système de news, demandez dans un groupe de nouvelles approprié (regardez dans la hiérarchie news.software.ALL). [NdT : en France, essayez le forum modéré fr.usenet.logiciels]. ## fr.* n'est en aucun cas une ## hiérarchie *_française_*, ni ## localisée sur le territoire ## français.
Pour toute question, correction ou tout commentaire concernant ce HOWTO, écrivez-moi ([email protected]).
J'aimerais remercier Michael Schulz ([email protected]) pour son aide concernant les problèmes de langage et Cornelius Krasel ([email protected]) pour ses remarques finales.