News

De WikiBR
Révision datée du 10 juin 2005 à 16:03 par Fruneau (discussion | contributions) (Description du serveur de news)

Le BR fournit aux élèves environ 250 newsgroups. Dans la plupart des autres école les mailings lists ont été privilégiées mais ici une grande partie de la vie promo se déroule sur des forums. On en trouve de toutes les formes (pour les sections, les binets, les nouveaux bâtiments, l'enseignement, les communautés...).

Le serveur de news : inn

Le serveur de news est hébergé sur le serveur désigné par l'alias DNS newsgroups. La machine actuelle est Frankiz.

Le serveur news utilisé est inn2. Bien qu'inn soit présent dans l'arbre portage, on a jamais réussi à faire fonctionner la version de Gentoo. Inn est donc installé manuellement à partir d'un tar des sources de la version 2.3.5 (la dernière version en date est la 2.4.2).

Installation

Pour installer inn, il faut compiler ses sources proprement :

cp ~fruneau/inn-2.3.5.tar.gz
tar -xvvzf inn-2.3.5.tar.gz
cd inn-2.3.5
CFLAGS="-O3 -s -pipe -march=pentium4 -fomit-frame-pointer" ./configure --prefix=/usr/lib/news --with-perl --with-spool-dir=/var/spool/news --with-sendmail=/usr/sbin/sendmail
make -j2
sudo make install

TODO : il y a aussi un patch pour inn qui permet d'avoir entre autre un assouplissement de la règle sur le format des email pour que login@poly soit valable et d'avoir des messages d'erreur en français. Actuellement ce patch est pour inn 2.4.1 et ne semble pas fonctionner sur les sources de inn 2.3.5. Donc il faudrait faire un package des sources prépatchées.

Pour rendre la configuration pratique, on peut également rajouter quelques liens symboliques :

/etc/news -> /usr/lib/news/etc
/var/spool/news/bin -> /usr/lib/news/bin

runscript et crontab pour inn

La compilation à la main de inn ne fournit pas la mise en place automatique de la crontab et du script de lancement de inn.

Le runscript qu'on utilise (/etc/init.d/innd) est adapté de celui fournit par Gentoo dans la version d'inn qui se trouve dans portage :

#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-news/inn/files/innd,v 1.7 2004/09/07 22:29:04 swegener Exp $

depend() {
        need net
}

start() {
        ebegin "Starting innd"
        su - news -c /usr/lib/news/bin/rc.news
        eend $?
}

stop() {
        ebegin "Stopping innd"
        su - news -c '/usr/lib/news/bin/rc.news stop'
        sleep 2
        eend $?
}

La crontab contient des utilitaires qui assurent la maintenance du spool et la génération de statistiques pour Frankiz.

  • Crontab du user news (ATTENTION ce script doit impérativement être exécuter avec les droits news)
0 3 * * * /usr/lib/news/bin/news.daily expireover lowmark
  • Crontab du user root :
# Stats news
#graphe:
*/30 * * * * /home/news/bin/stat_graphe/main.sh
#stats plus gros posteurs:
0 5 * * * /home/frankiz2/bin/news_stats_gros_posteurs.pl

#stats 'funny'
30 6 * * * /home/frankiz2/bin/news_stats_premiers_posteurs.pl 1>/dev/null
0 7 * * * /home/frankiz2/bin/news_stats_premiers_posteurs.pl 1>/dev/null
15 7 * * * /home/frankiz2/bin/news_stats_premiers_posteurs.pl 1>/dev/null
30 7 * * * /home/frankiz2/bin/news_stats_premiers_posteurs.pl 1>/dev/null
45 7 * * * /home/frankiz2/bin/news_stats_premiers_posteurs.pl 1>/dev/null
30 8 * * * /home/frankiz2/bin/news_stats_premiers_posteurs.pl 1>/dev/null


Configuration

Toute la configuration des news se trouve sur la CVS dans le module news qui n'est accessible qu'aux newsmestres et aux roots. Lors d'une installation de inn en partant de 0, à partir de la configuration précédente, pour installer la configuration, il suffit d'écraser /usr/lib/news avec le contenu de ce module :

cd /usr/lib
/etc/init.d/innd stop
mv news news-save
sudo -u news cvs -d $login$@gwz:/home/cvs co news
/etc/init.d/innd start

Si ça marche, rien d'autre à faire, sinon il faut chercher d'où vient l'erreur. En particulier attention à certains droits sur des scripts qui au lieu d'être news:news, sont root:news avec +s :

-r-sr-x---  1 root news  67K 2005-06-01 20:56 inndstart*
-r-sr-x---  1 root news  35K 2005-06-01 20:56 startinnfeed*

Tous les autres fichiers doivent impérativement être avec des droits news:news.