13. Annexe 2 : Vérification du serveur et expiration des articles

13.1 Utilisation d'inncheck

Pour vérifier la cohérence de la configuration et la validité des fichiers, utilisez la commande inncheck -a -v -pedantic sous le compte news (cf. la page de manuel inncheck(8)).

Chez moi, j'obtiens :

Looking at /usr/local/news/db/active...
Looking at /usr/local/news/etc/control.ctl...
Looking at /usr/local/news/etc/expire.ctl...
Looking at /usr/local/news/etc/incoming.conf...
Looking at /usr/local/news/etc/inn.conf...
/usr/local/news/etc/inn.conf:16: modmailer has bad address
Looking at /usr/local/news/etc/moderators...
Looking at /usr/local/news/etc/newsfeeds...
ME, crosspost, overview!, teaser, /usr/local/news/etc/newsfeeds:0: warning you accept all incoming article distributions
done.
Looking at /usr/local/news/etc/nnrp.access...
Looking at /usr/local/news/etc/nntpsend.ctl...
Looking at /usr/local/news/etc/overview.fmt...
Looking at /usr/local/news/etc/passwd.nntp...

Ce qui n'est déjà pas si mal... Un avertissement («warning») pour l'entrée ME du fichier newsfeeds révèle que j'accepte toutes les distributions, et un autre m'indique que je n'ai pas renseigné le champ modmailer dans le fichier inn.conf (ce qui est inutile puisque j'utilise un fichier moderators).

Enfin, pour tracer les différents évènements en cas de doute, consultez les fichiers traces se trouvant sous /var/log/news, notamment news.err, news.crit et news.notice : pour tout article posté dans fr.usenet.logiciels afin de résoudre un problème, indiquez les erreurs reportées dans ces fichiers, cela aidera forcément ceux qui veulent vous répondre...

À ce propos, INN vient avec une liste de fichiers textes (mais en anglais) recensant toutes les FAQs et les réponses. Une lecture de ceux-ci est chaudement recommandée.

13.2 Expiration des articles

La commande permettant d'effacer les articles périmés est expire : en fait, expire dresse une liste qu'il passe ensuite au programme fastrm (cf. les pages de manuel expire(8) et fastrm(8)). L'administrateur doit donc veiller à ce que cette commande soit lancée régulièrement (quotidiennement) : le script news.daily est fait pour cela. Pour que cette opération ait lieu tous les jours à un heure où votre machine fonctionne, le plus simple consiste à créer une tâche cron pour l'utilisateur news. Pour cela, il suffit, à partir du compte news d'exécuter la commande crontab -e et d'ajouter la ligne suivante :

40  20  *  *  *  /usr/local/news/bin/news.daily

Désormais, les tâches de maintenances quotidienne de INN auront lieu tous les jours, à 20 heures 40 (cf. crontab(5) pour la syntaxe de cette ligne sur votre système).

Sinon, une façon plus «brutale» de forcer cette expiration est de lancer sous le compte news, la commande /usr/local/news/bin/expire -v1, suivie d'un /usr/local/news/bin/ctlinnd renumber ''. Mais je ne vous le conseille pas. De plus, news.daily se charge de poster un rapport contenant des statistiques sur l'utilisation de votre serveur, ce qui peut permettre de détecter d'éventuels dysfonctionnements. Ce rapport étant adressé à l'administrateur du serveur (le «newsmaster»), il est préférable de créer un alias de celui-ci vers un compte utilisateur : le vôtre, par exemple.

La commande expire utilise le fichier expire.ctl déjà évoqué, qui permet de paramétrer les durées d'expiration des articles. La syntaxe de ce fichier est décrite dans expire.ctl(5).