Inn et UUCP - Le tutoriel

De Site à Mans
Aller à la navigation Aller à la recherche
AVERTISSEMENT
Ce tutoriel a été écrit en 1996 pour répondre à des demandes régulières dans fcol sur "comment installer inn sous linux". En effet ce service de news d'USENET était relativement compliqué à installer pour le néophyte, car il n'existait pas de procédure d'installation automatique comme c'est le cas aujourd'hui.
D'autre part ce document était destiné à USENET au format 7 bits, donc vous n'y trouverez pas d'accents.

En 2020, ce tuto sert encore pour le paramétrage des news et surtout si vous comptez utiliser Inn2 avec UUCP. Ce qui sous-entend de ne pas s'attarder sur l'installation, nom de commandes. Car beaucoup on changés.




(c) Jose Mans 1 Mai 1996 Upgrade: 24 Janvier 1998 v1.9.3
Ce doccument peut etre diffuse autant qu'il vous plaira SANS MODIFIER GPL (96)
Correction: Stephane Calabrese (scalabrese@pacwan.mm-soft.fr)


AVANT-PROPOS



Salut
Voici un petit résumé qui explique la manier dont j'ai procédé pour installer un serveur News local avec innd.

Je précise aussi que certaines personnes pourront voir des manipulations qui ne sont peut-être pas nécessaires pour configurer un server de News
avec innd. Pour ma part, j'ai respecte, au plus fidèle possible, ce qui m'a permis - après 1 semaine de tentative - de démarrer enfin mon serveur
de News !!! Toutefois ces personnes sont invitées a faire toutes remarques !


Dans tous les cas il faut impérativement avoir une machine qui fonctionne correctement en réseau, même seule.


Installation des programmes nécessaire.

Faire le ménage.

Si vous voulez ne pas rencontrer de problème avec innd. Il est conseillé d'effacer tous ce qui se rapporte aux anciens serveur.

Il existe rnews de CNEWS qui reste après l'installation d'innd. Ce qui a pour effet de tout chambouler le serveur innd; la solution est donnée
en section 3.1.

Sans rentrer dans les détailles, EFFACEZ tout ce qui appartient a cnews et autre serveur!

Installation avec la slackware > 3.0

Choisir le packtage N, avec les modules :
<!> Procédez à une install "normal". Ceci est demande lors de l'instalation.

  1. Deliver.
  2. Netconfig (netcfg)
  3. Rdist.
  4. smailcfg.
  5. tin (un reader quand même :)
  6. inn 1.4 (enfin !!)
  7. nn-spool
  8. BSD 8.6.12 sendmail
  9. uucp Taylor.

Autres distributions.

Avec une distributions évoluée Debian, Ubuntu, RedHat, rien de plus simple. Il faut juste installer le paquet inn. En se faisant les dépendant, cités ci-dessus, s'installeront aussi.

Si vous n'avez pas de distribution autre que la slackware ceci m'intéresse afin de compléter cette aide le mieux possible. Ceci étant, j'imagine bien qu'il y ait quelque part dans votre distribution un coin, un répertoire, ou sont les fichier binaire de "innd.".

Par exemple sur les mirrors "sunsite.uiuc.edu" vous trouverez les programme précompilé et source de innd.
ftp://ftp.ibp.fr/pub/linux/sunsite/system/News/inn1.4sec-linux-bin.tgz

ftp://sunsite.unc.edu/pub/linux/system/News/inn1.4sec-linux-bin.tgz


<!> N'oubliez pas que la version de inn1.4 peut changer; donc ne m'en voulez pas si vous trouvez inn1.5 :)

Configuration.

Copie de fichier.

  • Copier le fichier /usr/lib/news/etc/rc.news dans /etc/rc.d/
  • Mettre en remarque 'nntp' dans /etc/inetd.conf (inutile avec systemd) :
    #nntp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.nntpd
    Puis relancez inetd de la manière suivante :
ps aux |grep inetd
kill -HUP pid
# Ou pid est le numero se trouvant dans
# la deuxieme colones de la ligne
# qu'affiche la commande 'ps'.

  • Créer un lien rnews de bin a news :
cd /usr/bin
ln -s ~news/rnews


<!> ATTENTION: Ne pas garder le fichier rnews du serveur CNEWS !
D'ailleurs pour plus de sécurité effacez tout ce qui appartient a CNEWS !


Edition de fichiers.

ATTENTION: Dans tous les fichiers ou cela ne sera pas spécifié, mettre en remarque toutes les lignes n'étant pas stipulées dans ce fichier d'aide.

DE PLUS les exemples seront donnés pour la machine ASTERIX possèdent le domain PROVENCE.FR. Par conséquent si vous avez un autre nom, domain, il faudra IMPERATIVEMENT les changer :))

Pour le faire utiliser # dans chacun des fichiers.

  • Editer control.ctl
    Rajouter all:*:*:mail
  • Editer inn.conf
    Ramplacer/Ajouter :
organization: Votre ogranisation
server: L'adresse de votre serveur
domain: Votre domain.
fromhost: ...
pathhost: ...

Exemple (ex:) : Pour la machine asterix qui possède le domaine provence.fr :

organization: Hall des Stars
server: asterix.provence.fr
domain: provence.fr
fromhost: provence.fr
pathhost: provence


Editer newsfeeds


Le newsfeeds sert à l'envoi des messages aux machines connues de votre système de news. Toutes ces machines son répertoriées dans ce fichier.

Le newsfeed contient aussi les groupes de news, ou conférences, que vous lui envoyez.

Bien sûr, si vous êtes un particulier et branche à un provider et qu'aucunes autres machine viennent prendre des conférences, par uucp, chez vous. Newsfeeds ne doit contenir que les paramètres de votre provider. Par contre si vous possédez des machines qui viennent poller régulièrement vous devez, en plus de votre provider, faire connaitre a votre serveur 'innd'
le nom de ces machines et, bien sûr, les conférences qu'elles prennent!

Voici un exemple, le premier, qui configure votre feed (newsfeed) pour un provider. Puis le deuxième exemple celui d'une machine a qui vous
procurez les news.

  • Ajouter/remplacer votre domaine et nom ce machine ainsi que ceux des visiteurs:
ME\
:*\
:Tf,Wfb:

  • SI vous avez un provider uucp ... rajoutez ce champ :
    ex: Si votre provider a cette adresse : provider.son_domain.fr
provider/provider.uucp,provider.son_domain.fr,unknown\
:*,!junk*,!local*,!control*,!general*\
:Tf,Wfb:
  • SI vous avez des utilisateur uucp :
nom_machine_user/nom_machine_user.uucp\
:!*,fr.*,comp.os.linux.*,local.*,junk\
:Tf,Wfb:


Ou !junk, !local.... sont les groups que votre provider ne recevra
pas !
En d'autres termes tous les nom de conférences possèdent le '!' devant leurs noms ne seront pas envoyées à la machine concernée.

Editer hosts.nntp

  • Ajouter :
#/usr/lib/news/hosts.nntp
localhost:
asterix.provence.fr:
193.50.131.200:

Editer nnrp.acces

  • Ajouter :
localhost:RP:::*
*.domain.fr:RP:::*
193.50.131.*:RP:::*


Editer /etc/NNTP_INEWS_DOMAIN

Remplacer l'adresse par la votre.

#/etc/NNTP_INEWS_DOMAIN
asterix.provence.fr

Créer history

Avec l'utilisateur news créer les fichiers suivant :


su - news
:> history
:> history.pag
:> history.dir

<!> les symboles ":>" peuvent être remplaces par le programme "touch" qui a pour effet de créer un fichier vide.

Divers

Créer un l'alias usenet vers vous-même :

exemple pour l'utilisateur 'mans' :

Editez le fichier /etc/aliases

usenet: mans

Puis recompilez la base de donnees alias.db :

newaliases


Lancement de innd!.

Lancement au démarrage.

Ajoutez dans rc.local :

#/etc/rc.d/rc.local
...
#Demarrage des News
/etc/rc.d/rc.news&
...

Lancement au shell.

  • Tout simplement
cd ~news/etc
rc.news


Création des paquets (indispensable !)

Création pour une machine

Pour que vos destinataire puissent recevoir ce que vous écrivez dans le conférences il est impératif de créer les paquets ! Sinon attendez toujours que ca parte !!!
Aujourd'hui, 2020, sendbatch n'existe plus, la syntaxe est laissée, mais vous devrez probablement utiliser d'autres commandes comme :

  • send-nttp
  • send-uucp

Méthode a la main.

Tout simplement en tapent :

~news/bin/sendbatch -g mahcine


Ou -g pour la compression des paquets avec gunbath (gzip)

Certains systems comme Waffle utilise la compression avec compress. Il faudra donc utiliser l'option -c a la place de
-g. machine est le nom de la machine qui va recevoir les paquets.

Avec crontab

Avec l'utilisateur root ajouter cette chaine :

bash#: crontab -e
15 6,17,22 * * * /usr/lib/news/bin/sendbatch -g gyptis > /dev/null

Comme ca tous les paquets destinés pour la machine appelée "Gyptis" seront crée touts les jours et 6h15, 17h15 t 22h15 de la journée.

Pour plus d'information sur les possibilités de lancement du programme sendbatch me contacter ou lire le : man crontab :)

Création pour tous les machines.

Méthode à la main.

Tout simplement en tapent :

~news/bin/sendbatch -g `uuname|sort|uniq`

Avec crontab

Avec l'utilisateur root ajouter cette chaine :

bash#: crontab -e

15 6,17,22 * * * /usr/lib/news/bin/sendbatch -g `uuname|uniq|sort` >
/dev/null

Tous les paquets destines a toutes les machines seront crées a 6h15, 17h15 et 22h15 de la journée.

Annexe 1 FAQs!

MESSAGE d'erreur:

1. Q Quand je lance rc.news le serveur me réponds ce message :

May 1 11:29:25 asterix innd: /usr/lib/news/history cant dbminit ME No such file or directory

1. A En fait ce problème est du au fichier ~news/bin/makehistory qui, quand on
le lance, créait les fichiers :

history.n.dir
& history.n.pag

Je vous dis ca, car il m'a fallu 1 semaine pour comprendre qu'innd et makehistory
n'était pas compatible :(

Ceci dit, n'attendez plus 1 semaine !. Normalement en créant les fichiers :

su - news
cd /usr/lib/news/
touch history
touch history.dir
touch history.pag

Cela devrait fonctionner correctement :)


2. Q je viens d'écrire dans les confs local mais rien n'est envoyé chez lui :(.

2. A Ceci me fait penser a votre newsfeeds. Car j'ai déjà eu un problème similaire et il a été résolu comme suit :

Mon anciens newsfeeds qui n'envoyait pas les news à mes amis UUCP ...

provider/provider.uucp,provider.son_domain.fr,unknowna\
:!*,'''fr.comp.os.linux''',fr.ta.mere,!local*,!junk*,!local*,!control*,!general*\
:Tf,Wfb:

a pour effet de n'en voyer que fr.comp.os.linux et fr.ta.mere (en tongue^^)

Depuis en modifiant mon newsfeeds pour le même résultat j'ai pu recevoir et envoyer a mes utilisateurs de mon BBS les confs local.*

provider/provider.uucp,provider.son_domain.fr,unknowna\
:!*,fr.comp.os.linux,fr.ta.mere\
:Tf,Wfb:

Il semblerait que la redondense des interdictions soit a l'origine de ce problème ... Donc évitez-les :)

ATTENTION: "provider" peut-être aussi un de vos utilisateurs.


3. Q Note: si j'ai tout compris a inn le fichier newsfeeds permet de dire a sa machine ou plutôt son serveur à qui et quelle config _transmettre_

3. A En fait newsfeed permet de savoir les groups qui doivent être créer pour chaque machines. Si ton champs comporte :

zilog/zilog.uucp\
:fr.*,comp.os.*,!*
:Tf,Wfb:

Le serveur, contenant cela dans son newsfeed, préparera les paquets pour zilog, fr.*, comp.os.* et rien d'autre. Et donc quand les deux machines seront connectées seul ces conférences seront transférées.

4. Q Quand 'innd' refuse de poster les articles que dois-je faire ?

4. A Tu dois ajouter l'adresse l'adresse de ton serveur, celui d'où tu postes, dans le fichier : ~news/hosts.nntp

Ex: localhost:
zilog:
zilog.uucp:
# Toutes les adresses possible que ce serveur peut
# prendre...


5. Q S'il vous affiche : inndstart: inndstart cant bind Address already in use

C'est que vous ne savez pas lire :) Car c'est écrit dans cette doc, qu'il faut enlever la ligne 'nntp' dans le fichier /etc/inetd.conf!

EN d'autrss termes, il existe une autre instace, en cours de lancement, sur votre serveur. Il faut donc savoir pourquoi.

Ou si vous manquez de temps killall innd, mais c'est juste pour lancer sa config, il faudra donc aller plus loin dans la recherche...


6. Q Si il vous affiche : innd: /usr/lib/news/history cant dbminit ME No such file or directory

La aussi vous ne savez pas lire; Alors SVP! Allez créer ce fichier history dans ~news (/usr/lib/news) comme suit :

su - news
cd /usr/lib/news
:> history
:> history.dir
:> history.pag


7. Q Il trouve pas /ucb/sendmail!

7. A Editez le fichier ~news/innshellvar et remplacer /ucb/sendmail par /bin/mail dans la variable MAILCMD!!!!

Sinon whereis sendmail donne : /usr/sbin/sendmail

Ceci quelque soit le MTA qui gère votre courrier.




. [[Catégorie::USENET]]