« News » : différence entre les versions

De WikiBR
(Description du serveur de news)
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
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 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 ==
== Gestion du serveur de news ==


Le serveur de news est hébergé sur le serveur désigné par l'alias DNS '''newsgroups'''. La machine actuelle est [[Frankiz]].
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).
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).
Il est fortement conseillé aux newsmestres et aux roots de rajouter /usr/lib/news/bin dans leur PATH


=== Installation ===
=== Installation ===
Ligne 23 : Ligne 25 :
  /etc/news -> /usr/lib/news/etc
  /etc/news -> /usr/lib/news/etc
  /var/spool/news/bin -> /usr/lib/news/bin
  /var/spool/news/bin -> /usr/lib/news/bin
/var/lib/news -> /var/spool/news/db
/usr/lib/news/db -> /var/spool/news/db


=== runscript et crontab pour inn ===
=== runscript et crontab pour inn ===
Ligne 69 : Ligne 73 :
  45 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
  30 8 * * * /home/frankiz2/bin/news_stats_premiers_posteurs.pl 1>/dev/null


=== Configuration ===
=== Configuration ===
Ligne 85 : Ligne 88 :
  -r-sr-x---  1 root news  35K 2005-06-01 20:56 startinnfeed*
  -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.
'''Tous''' les autres fichiers doivent impérativement être avec des droits news:news.
=== Migration/Récupération du spool ===
Il peut y avoir des cas où le spool est corrompu. Ca intervient soit à la suite d'une réinstallation, soit après une coupure brutale du serveur de news. Il faut alors reconstruire l'historique. Avec l'installation faite comme précédemment l'historique se trouve physiquement avec le spool, ce qui simplifie la migration de spool.
Pour migrer un spool, il suffit donc de copier /var/spool/news à sa nouvelle destination.
Dans le cas d'une installation différente, la plupart du temps, l'historique est séparé du spool, il faut alors copier /var/lib/news et /var/spool/news
Dans le cas où l'historique est corrompu (serveur fonctionnel, mais impossible de poster de nouveau message) :
/etc/init.d/innd stop
sudo -u news
cd /var/lib/news
makehistory -b -f history.n -O -l 30000 -I
awk 'NF == 2 { print }' < history >> history.n
makedbz -s `wc -l < history`-f history.n
mv history.n history
mv history.n.dir history.dir
mv history.n.hash history.hash
mv history.n.index history.index
/etc/init.d/innd start
Si des problèmes apparaissent encore (en particulier sur Outlook Express), il sera parfois nécessaire de lancer le script de maintenance :
sudo -u news
cd /usr/lib/news/bin
./news.daily

Version du 10 juin 2005 à 17:21

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...).

Gestion du serveur de news

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).

Il est fortement conseillé aux newsmestres et aux roots de rajouter /usr/lib/news/bin dans leur PATH

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
/var/lib/news -> /var/spool/news/db
/usr/lib/news/db -> /var/spool/news/db

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.

Migration/Récupération du spool

Il peut y avoir des cas où le spool est corrompu. Ca intervient soit à la suite d'une réinstallation, soit après une coupure brutale du serveur de news. Il faut alors reconstruire l'historique. Avec l'installation faite comme précédemment l'historique se trouve physiquement avec le spool, ce qui simplifie la migration de spool.

Pour migrer un spool, il suffit donc de copier /var/spool/news à sa nouvelle destination.

Dans le cas d'une installation différente, la plupart du temps, l'historique est séparé du spool, il faut alors copier /var/lib/news et /var/spool/news

Dans le cas où l'historique est corrompu (serveur fonctionnel, mais impossible de poster de nouveau message) :

/etc/init.d/innd stop
sudo -u news
cd /var/lib/news
makehistory -b -f history.n -O -l 30000 -I
awk 'NF == 2 { print }' < history >> history.n
makedbz -s `wc -l < history`-f history.n
mv history.n history
mv history.n.dir history.dir
mv history.n.hash history.hash
mv history.n.index history.index
/etc/init.d/innd start

Si des problèmes apparaissent encore (en particulier sur Outlook Express), il sera parfois nécessaire de lancer le script de maintenance :

sudo -u news
cd /usr/lib/news/bin
./news.daily