« News » : différence entre les versions
Aucun résumé des modifications |
|||
Ligne 75 : | Ligne 75 : | ||
=== Configuration === | === Configuration === | ||
==== Installation initiale ==== | |||
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 : | 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 : | ||
Ligne 88 : | Ligne 90 : | ||
-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. | ||
==== Modification de la configuration ==== | |||
Pour modifier la configuration des news, il faut impérativement le faire via la [[CVS]]. Ceci se fait en 2 étapes : | |||
Tout d'abord, il faut récupérer le module news sur sa machine : | |||
cvs -d $login$@gwz:/home/cvs co news | |||
Ensuite, il faut faire les modifications nécessaire, puis commité ces modifications | |||
cvs ci fichier_modifié | |||
Une fois la modification sur la [[CVS]], il faut updater la conf du serveur. Pour ceci il y a un script dans les binaires disponibles sur la [[CVS]] (donc si l'installation a été faite comme indiqué au dessus, il est dans le /usr/lib/news/bin). Il suffit alors de faire : | |||
sudo -u news /usr/lib/news/bin/fetch_cvs_news $logingwz$ | |||
Attention, il arrive qu'il y ait des conflits [[CVS]] lors des fetch sans pourtant avoir eu de modification sur la version du serveur (sans doute à cause de problème dans les droits d'écriture). Il faut alors supprimer le fichier en cause et refaire un fetch. | |||
Et la dernière chose à faire, est de toujours vérifier que tout se passe bien avec un | |||
tail -f /var/log/news/news.err | |||
=== Migration/Récupération du spool === | === Migration/Récupération du spool === |
Version du 10 juin 2005 à 16:39
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
Installation initiale
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.
Modification de la configuration
Pour modifier la configuration des news, il faut impérativement le faire via la CVS. Ceci se fait en 2 étapes :
Tout d'abord, il faut récupérer le module news sur sa machine :
cvs -d $login$@gwz:/home/cvs co news
Ensuite, il faut faire les modifications nécessaire, puis commité ces modifications
cvs ci fichier_modifié
Une fois la modification sur la CVS, il faut updater la conf du serveur. Pour ceci il y a un script dans les binaires disponibles sur la CVS (donc si l'installation a été faite comme indiqué au dessus, il est dans le /usr/lib/news/bin). Il suffit alors de faire :
sudo -u news /usr/lib/news/bin/fetch_cvs_news $logingwz$
Attention, il arrive qu'il y ait des conflits CVS lors des fetch sans pourtant avoir eu de modification sur la version du serveur (sans doute à cause de problème dans les droits d'écriture). Il faut alors supprimer le fichier en cause et refaire un fetch.
Et la dernière chose à faire, est de toujours vérifier que tout se passe bien avec un
tail -f /var/log/news/news.err
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