Tant que PPP est actif, on peut lire les news online. Il y a beaucoup de programmes disponibles pour cela, deux possibilités simples étant rtin et trn.
Pour commencer à lire les news, la seule chose nécessaire pour la configuration est, dans la plupart des cas, de configurer NNTPSERVER (généralement une fois pour toutes dans le fichier .profile) :
export NNTPSERVER=news.acme.xz
Pour avoir une adresse From correcte dans les envois, certains programmes nécessitent éventuellement :
export NNTP_INEWS_DOMAIN=acme.xz
Pour pouvoir lire les news en étant offline, réduire la note de téléphone et avoir une plus grande souplesse, on peut mettre en place un serveur local de News. Ceci nécessite un peu de configuration ainsi que de l'espace sur le disque. Après l'installation, les choses fonctionneront plus ou moins d'elles-mêmes. Un peu d'attention sera nécessaire de temps en temps.
Deux solutions différentes seront décrites.
Cette solution est basée sur le serveur de News C News et sur le protocole NNTP. C News était prévu, à l'origine, pour un autre type de configuration, mais est suffisamment souple pour gérer aussi notre situation. On peut aussi utiliser le serveur de News INN plus récent mais aussi plus gourmand en ressources. Quel que soit le choix, il faut veiller a ne pas installer les deux : ils cohabitent difficilement.
Il est crucial d'effectuer les travaux de maintenance des News sous le compte
news
. De plus, tous les fichiers de configuration doivent
être placés dans le répertoire
/usr/lib/news. Une façon de faire, lorsqu'on est sous le compte
root
, est de taper su news; cd
.
Les fichiers les plus importants de la configuration sont :
addgroup comp.os.linux.networking
y
.
Dirk Gently's Holistic Detective Agency
acme.xz
.site
dans le thread Path:. Dans une configuration
telle qu'elle est décrite ici, où l'on utilise le programme
newsx, ce nom ne quittera jamais la machine, on peut donc y mettre
ce que l'on veut pourvu que l'on soit sûr qu'il est unique. Dans notre
cas roderick
.acme.xz
à Path et que c'est la seule source de News que l'on
ait. L'exemple donné fait que l'on accepte tout ce qui arrive, et que l'on
poste seulement sur acme.xz
ce qui n'a pas été vu avant et qui est
posté au départ sur notre propre site. Dans cette configuration simplifiée, on
suppose que tous les groupes viennent du même endroit.
./all
précise la distribution, et doit être
inclus. La lettre F
indique que les articles de news sortants
seront regroupés dans un fichier.
ME:all/all::
acme/acme.xz:all,!junk/all:FL:
mkdir /var/spool/news/out.going/acme
C News nécessite un peu de maintenance journalière, mais ceci peut être
spécifié une fois pour toute en utilisant la commande crontab -e
en tant qu'utilisateur news
. Voici une
configuration possible qui peut être ajustée selon les besoins :
# maintenance des lots entrants et sortants
10,40 * * * * /usr/lib/newsbin/input/newsrun
# expiration des C News, une fois par jour
30 0 * * * /usr/lib/newsbin/expire/doexpire
# surveillance et rapports si nécessaire
00 2 * * sat /usr/lib/newsbin/maint/addmissing
40 3 * * * /usr/lib/newsbin/maint/newswatch
50 3 * * * /usr/lib/newsbin/maint/newsdaily
newsrun place les articles entrants et sortants toutes les demi-heures, doexpire détruit les articles lorsqu'ils sont périmés chaque nuit à 00:30 et les trois dernières commandes réalisent différentes tâches d'administration et de correction d'erreur.
On doit aussi s'assurer que tout est correct lorsqu'on démarre la machine. En tant qu'utilisateur root, il faut ajouter la ligne suivante dans /etc/rc.d/rc.local :
su news -c /usr/lib/newsbin/maint/newsboot
Les News peuvent être récupérées en utilisant le programme
newsx
, qui les prend sur un serveur
NNTP. Ce programme peut être trouvé à l'adresse suivante :
ftp://sunsite.unc.edu/pub/Linux/system/news/transport/newsx-0.9.tar.gz
Ou :
ftp://ftp.sol.no/user/egilk/newsx-0.9.tar.gz
La configuration de newsx
est très simple. Son installation est classique :
make
su
make install
exit
Avec cette configuration, tout ce que l'on a à faire est de créer les groupes que l'on veut lire en utilisant la commande addgroup.
Pour récupérer les articles, l'utilisateur >news
lance les
commandes suivantes (en supposant une connexion PPP ou similaire
établie) :
newsrun
newsx acme news.acme.xz
newsrun
L'option -d
permet un affichage continu à l'écran. La documentation de
newsx donne toutes les informations nécessaires.
newsx s'occupe aussi de poster les articles sortants.
Pour contrôler la suppression des articles périmés, on a besoin d'un fichier
explist
. Les commentaires de cet exemple devraient expliquer ce
que l'on cherche à faire :
# maintenu dans l'historique 14 jours, rien ne dure plus de 120 jours
/expired/ x 14 -
/bounds/ x 0-1-120 -
# on garde ça pendant 2 mois
comp.sources,comp.os.linux.all x 60 -
# les déchets sont vite supprimés
junk,control x 2 -
# défaut: 14 jours, pas d'archivage
all x 14 -
ALT : Pour les petits serveurs de News, on n'a pas souvent besoin du
contrôle
newgroup
. Le trafic est énorme comparé à son
utilité possible. Le point essentiel est que les articles soient supprimés et
que les groupes puissent être créés automatiquement. Pour être sûr que les
messages de contrôle contenant newgroup
ne brouillent pas les choses,
un fichier nommé
newgroupperm spécifie
ce que l'on autorise :
comp.os.linux tale@uunet.com yv
all any nq
Dans cet exemple, tous les groupes sous comp.os.linux seront crées (y), et
l'utilisateur news
en sera averti (v). Tout le reste sera
silencieusement (q) ignoré (n). La dernière ligne suffit si l'on veut créer
tous les groupes manuellement.
ALT : Une alternative à newsx est suck.
Une tout autre solution consiste à installer le paquetage intégré leafnode. Celui-ci gère toutes les tâches nécessaires à un serveur de News personnel et est facile à configurer. Il est disponible à :
http://www.troll.no/freebies/leafnode.html
Comme pour C News, tous les travaux de maintenance doivent absolument être
faits par l'utilisateur news
.
Le répertoire de base de leafnode est /usr/lib/leafnode. Pour l'installer, faire :
cd /usr/lib/leafnode
tar -xzvf leafnode-0.8.tgz
cd leafnode-0.8
make
su
make install
Notez que, dans ce qui suit, le préfixe /usr/local/sbin devra être remplacé par /usr/sbin si vous avez installé leafnode à partir d'un paquetage.
Toujours sous le compte root
, on change la ligne qui contrôle NNTP
dans le fichier
/etc/inetd.conf :
nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnode
Puis, on l'active par :
killall -HUP inetd
On retourne sous le compte news
en tapant exit. Dans
/usr/lib/leafnode/config, on
change la ligne qui déclare le serveur NNTP. Dans notre cas :
server = news.acme.xz
Leafnode se recherchera lui-même en ajoutant la commande suivante par
crontab -e comme utilisateur news
:
# expiration de Leafnode, une fois par jour
0 4 * * * /usr/local/sbin/texpire
L'échange de News est aussi réalisé sous le compte news
par la
commande suivante (PPP est sensé fonctionner) :
/usr/local/sbin/fetch
Les utilisateurs voulant lire les news doivent alors utiliser la recette décrite dans Comment configurer un lecteur de News on-line ?, en la configurant pour la machine locale, i.e :
export NNTPSERVER=localhost
C'est tout ce qu'il y a à faire. Le premier fetch
transférera
une liste des groupes de news disponibles. Leafnode s'occupera alors des
groupes que les utilisateurs désirent et s'adaptera la prochaine fois
qu'il est activé.
Notez que leafnode semble ne pas fonctionner dans les cas où une autorisation NNTP est nécessaire.
ALT : Une alternative à leafnode est nntpcache, disponible à :
ftp://ftp.suburbia.net/pub/nntpcache/nntpcache.tgz
ALT : Une autre possibilité est d'utiliser le lecteur de news
slrn en même temps que le paquetage
slrn-pull. Le lecteur de news doit avoir été compilé
avec l'option spool
.